โจ Constructor & Basic Attribute private Node head; private Node tail; private int size; private class Node{ private int value; private Node next; private Node(int data) { this.value = data; this.next = null; } public String toString() { return String.valueOf(this.value); } } ์ ์ผ ์์ ์๋ ๋
ธ๋, ๋ค์ ์๋ ๋
ธ๋, size๋ฅผ ์ ์ํ๋ค. ๋ํ ๋
ธ๋๋ฅผ ๋ด๋ถ class๋ก ์์ฑํ์ฌ contructor๋ก ๊ฐ์ฒด ์์ฑ ์ ์ด๊ธฐํํ ์ ์๋๋ก ํ๋ค. โจ addFirst(int data) public vo..
PS/Data Structure
๋๋์ด ๋ธ๋ก๊ทธ์ ๋ฐ์ดํฐ ๊ตฌ์กฐ ๊ธ์ ์ด ์ด์ ,, LinkedList์ ๋ํด์ ์ค๋ช
ํด๋ณด๊ณ ์ ํ๋ค. ๊ฐ์ฅ ์ค์ํ ๊ฒ์ ์ฐ๊ฒฐ์ด ๋ฌด์์ธ๊ฐ, ํ๋ก๊ทธ๋๋ฐ์ผ๋ก ํํํ๋๊ฐ? cpu: ๊ณ์ฐํ๊ณ ์ฐ์ฐ, ์ฒ๋ฆฌ ์๋๊ฐ storage, memory, cpu ์ค์ ๊ฐ์ฅ ๋น ๋ฆ storage: HDD, SSD ํ์ผ, ๋ฐ์ดํฐ ๋ฑ์ ์ ์ฅ, ๊ฐ๊ฒฉ์ด ์ ๋ ด, ์ฉ๋์ด ํฌ๊ณ , ๋นํ๋ฐ์ฑ ๋ฉ๋ชจ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ: ๊ธฐ์ต์ ๋ด๋น, ์ฉ๋์ด ์์ฃผ ์ ์, ํ๋ฐ์ฑ ๋ฉ๋ชจ๋ฆฌ, storage ๋ณด๋ค ํจ์ฌ ๋ ๋น ๋ฅด๊ฒ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ๊ฐ์ ธ์ฌ ์ ์์. cpu๊ฐ storage์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ๋ค๊ฐ ์ฐ๊ฒ ๋๋ฉด ์๊ฐ์ด ์ค๋๊ฑธ๋ฆฌ๋ ๋จ์ ์ด ์๋ค. cpu๊ฐ ๊ณ์ฐ์ ์ฒ๋ฆฌํ๊ธฐ ์ํด์๋ storage์ ์๋ ๋ฐ์ดํฐ๋ค์ memory๋ก ๊ฐ์ ธ์จ ๋ค์์ memory๊ฐ cpu์๊ฒ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๋๊ฒ ๋น ๋ฅด..
ArrayList๋ฅผ ์ง์ ์ฝ๋๋ฅผ ๊ตฌํํ์ฌ int ํ ArrayList๋ฅผ ๋ํ๋ด ๋ณด๊ณ ์ ํ๋ค. โจ Constructor & Basic Attribute private int[] elementData; // ๊ฐ ๋ฃ์ ๊ณณ private int size; // arraylist size private int currentCapacity; // ํ์ฌ arraylist ํฌ๊ธฐ private int initCapacity = 10; // ์ต์ด arraylist ํฌ๊ธฐ //constructor public MyArrayList() { this.elementData = new int[initCapacity]; this.size = 0; this.currentCapacity = initCapacity; } ๊ฐ ๋ฃ์ eleme..
โจ ArrayList ๋ด๋ถ์ ์ผ๋ก ๋ฐฐ์ด์ ์ฌ์ฉํ๋ ๊ฒ โจ ArrayList Insert & Delete arrayList.add(10); arrayList.add(20); arrayList.add(30); arrayList.add(40); 20 ์๋ฆฌ์ 50์ ๋ฃ๊ณ ์ถ๋ค๋ฉด, ๋งจ ๋ค์ ์๋ ๋ฐ์ดํฐ๋ถํฐ ์ฐจ๋ก๋๋ก ๋ค๋ก ์ด๋ํ์ฌ ์๋ฆฌ๋ฅผ ๋ง๋ ํ 50์ ๊ฐ์ ๋ฃ๋๋ค. -> ์ญ์ ๋ ์ด์ ๋ง์ฐฌ๊ฐ์ง โจ ArrayList Get ๋ฐ์ดํฐ๋ฅผ ์ฐจ๋ก๋๋ก ์ ์ฅํ๊ธฐ ๋๋ฌธ์ ๋ฐ์ดํฐ์ ์์น๋ฅผ ์๊ณ ์์. index๋ฅผ ์ด์ฉํ์ฌ List์ ๋ฐ์ดํฐ๋ฅผ ๋น ๋ฅด๊ฒ ์ฐพ์ ์ ์๋ค . โจ ArrayList Pros and Cons [์ฅ์ ] ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ฌ ๋ ๋น ๋ฅด๊ฒ ๊ฐ์ ธ์ฌ ์ ์์ [๋จ์ ] ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐํ๊ฑฐ๋ ์ญ์ ํ๋ฉด ํ๋์ฉ ๋ค ์ฎ๊ฒจ์ผํ๊ธฐ ๋๋ฌธ์ ์๊ฐ์ด..
โจ List vs Array ์ ์ฅ ๋ ๋ค, ์์๋๋ก ์ ์ฅ๋๊ณ ๋ฐ์ดํฐ๋ฅผ ์ค๋ณตํ์ฌ ์ ์ฅ ๊ฐ๋ฅ Array๋ ์ด๋ค ๋ฐ์ดํฐ ์ ์ฅ ์์น๊ฐ ์ค์ํจ. (index) ์ฃผ์๋ฅผ ๊ฐ๊ณ ๋ฐ๋ก ์ฐพ์๊ฐ ์ ์์ array[0] = 10; array[1] = 20; array[2] = 30; array[3] = 40; array์์ index 3์ 50์ ๊ฐ์ ๋ฃ๊ฒ ๋๋ฉด 40 ์์ ๋ฎ์ด์๊ฒ ๋๋ค. array[0] = 10; array[1] = 20; array[2] = 30; array[3] = 50; List๋ index๊ฐ ์ค์ํ์ง๋ง, element์ ๋ค์ ๋ฐ์ดํฐ๊ฐ ๋ฌด์์ธ์ง๊ฐ ๋ ์ค์ํจ. ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋์ด ์๋ ์์๊ฐ ์ค์ํจ. list[0] = 10; list[1] = 20; list[2] = 30; list[3] = 40; ar..
ํ์ฌ ํ๊ต์์ ๋ฐ์ดํฐ๊ตฌ์กฐ์ ์๊ณ ๋ฆฌ์ฆ ๊ฐ์๋ฅผ ๋ฃ๊ณ ์๋๋ฐ, ๋ฐ์ดํฐ ๊ตฌ์กฐ ๋ถ๋ถ์์ ์ดํด๊ฐ ๊ฐ์ง ์๋ ๋ถ๋ถ์ด ๋ง๋ค. MyArrayList๊น์ง๋ ๊ด์ฐฎ์์ง๋ง, LinkedListd(์ฐ๊ฒฐ ๋ฆฌ์คํธ)๋ฅผ ๊ณต๋ถํ๋ฉด์ ์ดํด๊ฐ ๊ฐ์ง ์๋ ๋ถ๋ถ์ด ๋ง์๋ค. ๋ฐ๋ผ์ ์ ํ๋ธ ๊ฐ์๋ฅผ ๋ณํํ๋ฉด์ ๋ฐ์ดํฐ ๊ตฌ์กฐ ๊ฐ๋
๊ณผ ์ฝ๋๋ฅผ ๋ธ๋ก๊ทธ์ ๋ณต๊ธฐํ๋ ์์ผ๋ก ๊ณต๋ถ๋ฅผ ์งํํ๊ณ ์ ํ๋ค. โจ ๋ฐ์ดํฐ ๊ตฌ์กฐ ๋ฐ์ดํฐ์ ์งํฉ, ์์๋ค์ด ๋
ผ๋ฆฌ์ ์ผ๋ก ์ ์๋ ๊ท์น์ ์ํด ๋์ด๋๋ฉฐ ์๋ฃ์ ์ํ ์ฒ๋ฆฌ๋ฅผ ํจ์จ์ ์ผ๋ก ํ ์ ์๋๋ก ์๋ฃ๋ฅผ ๊ตฌ๋ถํ์ฌ ํํํ ๊ฒ - ํน์ง 1. ํจ์จ์ฑ ํจ์จ์ ์ธ ๋ฐ์ดํฐ์ ๊ด๋ฆฌ ๋ฐ ์ฌ์ฉ, ์ ์ ํ ์๋ฃ๊ตฌ์กฐ๋ฅผ ์ ํํ์ฌ ์ฌ์ฉ ๊ฑฐ๋ํ ๋ฐ์ดํธ๋ฅด ํจ๊ณผ์ ์ผ๋ก ๊ด๋ฆฌํ๋ ๊ฒ ex) ์ฑ
ํ ๊ถ์ ๊ด๋ฆฌํ ํ์๊ฐ ์์ง๋ง, ์ฑ
์ด ๋ช ๋ฐฑ๊ถ์ด ๋๋ฉด ๊ทธ๋ฅ ๋์ด๋ ๋์ง๋ง ๊ณต๊ฐ๋ ..