- toc {:toc}
List
-
List Definitions
-
List๋ ADT์ด๊ณ , ๊ตฌํ๋ ๊ฒ์ ์๋๋ค.
-
Linear relationship : ์ฒซ ๋ฒ์งธ ์์๋ฅผ ์ ์ธํ ๊ฐ ์์๋ค์ ์ ์์๋ฅผ ๊ฐ๊ณ ๋ง์ง๋ง ์์๋ฅผ ์ ์ธํ ๊ฐ ์์๋ค์ ํ์์๋ฅผ ๊ฐ๋๋ค.
-
Length : ๋ฆฌ์คํธ์์ ์์์ ์. ์ธ์ ๋ ๊ธธ์ด๋ ๋ฌ๋ผ์ง ์ ์๋ค.
-
Class Constructor
-
ํด๋์ค์ ํน๋ณํ ๋ฉค๋ฒ ํจ์๋ก ํด๋์ค ๊ฐ์ฒด๊ฐ ์ ์๋ ๋ ์๋ฌต์ ์ผ๋ก ํธ์ถ๋๋ค.
-
์ฌ์ฉ์๊ฐ ์ ์ํ ์์ฑ์๊ฐ ์๋ค๋ฉด ํด๋น ์์ฑ์๊ฐ ํธ์ถ๋๊ณ , ๊ทธ๋ ์ง ์๋ค๋ฉด ๊ธฐ๋ณธ ์์ฑ์๊ฐ ํธ์ถ๋๋ค.
-
Class Constructor Rules
- ์์ฑ์๋ ํจ์๊ฐ์ ๋ฐํํ์ง ์๋๋ค.
- ํด๋์ค๋ ์ฌ๋ฌ ๊ฐ์ ์์ฑ์๋ฅผ ๊ฐ์ง ์ ์๋ค. ์ปดํ์ผ๋ฌ๋ ์ ๋ ฅ๋๋ ํ๋ผ๋ฏธํฐ์ ํ์ ๊ณผ ์์ ์ํด ์ ์ ํ ์์ฑ์๋ฅผ ์ ํํด ์ฌ์ฉํ๋ค.
- ์์ฑ์ ํ๋ผ๋ฏธํฐ๋ค์ ํด๋์ค ๊ฐ์ฒด์ ์ ์ธ์์ ํ๋ผ๋ฏธํฐ๊ฐ ์ ๋ฌ๋๋ค.
- ํ๋ผ๋ฏธํฐ๊ฐ ์๋ค๋ฉด ๊ธฐ๋ณธ ์์ฑ์๋ฅผ ์ฌ์ฉํ๋ค.
- ๋ง์ฝ ํด๋์ค๊ฐ ์ ์ด๋ ํ๋์ ์์ฑ์๋ฅผ ๊ฐ๊ณ , ํด๋์ค ๊ฐ์ฒด ๋ฐฐ์ด์ด ์ ์ธ๋๋ค๋ฉด ๋ฐฐ์ด์์ ๊ฐ ์์๋ฅผ ํธ์ถํ๋ ์์ฑ์๋ค ์ค ํ๋๋ ๋ฐ๋์ ๊ธฐ๋ณธ ์์ฑ์์ด๋ค.
-
Generic Data Type : ๋ฐ์ดํฐ ํ์์ ์์กดํ์ง ์๊ณ ํ๋์ ๊ฐ์ด ์ฌ๋ฌ ๋ฐ์ดํฐ ํ์ ์ ๊ฐ์ง ์ ์๋๋ก ํ์ฌ ์ฌ์ฌ์ฉ์ฑ์ ๋์ธ๋ค.
-
Unsorted list : ํน์ ํ ์์ ์์ด ์์๋ค์ด ์์นํด ์๋ ๋ฆฌ์คํธ
-
๋ฐ์ดํฐ ์์๋ค ์ฌ์ด์ ์ ์ผํ ๊ด๊ณ๋ ์ ์์์ ํ์์ ๊ด๊ณ ๋ฟ์ด๋ค.
-
ADT
- Transformers
- MakeEmpty
- InsertItem : ๋งจ ๋ค์ ๊ฐ์ ธ๋ค ๋ถ์ธ๋ค.
- DeleteItem : ์ฒ์๋ถํฐ ๋น๊ตํ๋ฉด์ ์ง์ธ ์์๋ฅผ ์ฐพ๊ณ ์ฐพ์ผ๋ฉด ๋ง์ง๋ง ์์๋ฅผ ์ง์ธ ์์์ ๋ฎ์ด์ด๋ค. lengthโ
- Observers
- IsFull : length๊ฐ MAX_ITEMS์ ๊ฐ๋ค๋ฉด Full
- LengthIs : length๋ฅผ ๋ฐํ
- RetrieveItem : ์ฒ์๋ถํฐ ์์ฐจ์ ์ผ๋ก ๋น๊ตํ๋ฉด์ ์ฐพ์ผ๋ฉด item์ ์ ์ฅํด ๋ฐํ
- Iterators
- ResetList : ํ์ฌ ์์น, ์ธ๋ฑ์ค๋ฅผ -1๋ก ์ง์ ํ๋ค. O(1)
- GetNextItem : ํ์ฌ ์ธ๋ฑ์ค+1 ํ์ฌ ํด๋น ์ธ๋ฑ์ค ๋ฐ์ดํฐ๋ฅผ item์ ์ ์ฅํด ๋ฐ
- Transformers
-
Sorted list : ๋ฆฌ์คํธ์ ์์์ ํค ์ฌ์ด์์ ์๋ฏธ์ ์ธ ๊ด๊ณ๊ฐ ์๊ณ , ๊ด๊ณ์ ๋ฐ๋ผ ์ ๋ ฌ๋ ๋ฆฌ์คํธ
-
Key : ๋ฆฌ์คํธ์ ๋ ผ๋ฆฌ์ ์ธ ์์๋ฅผ ๊ฒฐ์ ํ๋๋ฐ ์ฌ์ฉ๋๋ ์์ฑ
-
ADT
- Transformers
- MakeEmpty
- InsertItem : ์ฝ์ ํ ์์์ ์ ์ ํ ์์น๋ฅผ ์ฐพ๊ณ ํด๋น ์์น์ ๋ฃ๊ธฐ ์ํ ๊ณต๊ฐ์ ๋ง๋ค์ด ์์๋ฅผ ๋ฃ๋๋ค. length++
- DeleteItem : ์ฒ์๋ถํฐ ๋น๊ตํ๋ฉฐ ์ง์ธ ์์์ ์์น๋ฅผ ์ฐพ๊ณ ํด๋น ์์น ๋ค์ ์์๋ค์ ์์ผ๋ก ๋น๊ฒจ์จ๋ค. lengthโ
- Observers
- IsFull : length๊ฐ MAX_ITEMS์ ๊ฐ๋ค๋ฉด Full
- LengthIs : length๋ฅผ ๋ฐํ
- RetrieveItem : ์ฒ์๋ถํฐ ์์ฐจ์ ์ผ๋ก ๋น๊ตํ๋ฉด์ ์ฐพ์ผ๋ฉด item์ ์ ์ฅํด ๋ฐํ
- Iterators
- ResetList : ํ์ฌ ์์น, ์ธ๋ฑ์ค๋ฅผ -1๋ก ์ง์ ํ๋ค. O(1)
- GetNextItem : ํ์ฌ ์ธ๋ฑ์ค+1 ํ์ฌ ํด๋น ์ธ๋ฑ์ค ๋ฐ์ดํฐ๋ฅผ item์ ์ ์ฅํด ๋ฐ
- Transformers
-
RetrieveItem์ ํ์ ์๊ณ ๋ฆฌ์ฆ์ ํฅ์์ํค๋ ๋ฐฉ๋ฒ โ ์ด์ง ํ์
-
์๊ณ ๋ฆฌ์ฆ ๋น๊ต(์ด๋ป๊ฒ ์ต์ ์ ์๊ณ ๋ฆฌ์ฆ์ ์ ํํ ์ ์์๊น?)
-
ํจ์จ์ฑ์ ์ํ ๊ฐ๊ด์ ์ธ ์ธก์ ๋ฐฉ๋ฒ
- ์คํ ์๊ฐ
- ์คํ ์ค์ ์
- ๊ธฐ๋ณธ ์ฐ์ฐ ์
- Big-O notation โ ์ต์
์ ๊ฒฝ์ฐ ๋ฐ์ํ๋ ๋ณต์ก๋๋ฅผ ํจ์จ์ฑ ์ธก์
: bounded time : logarithmic time : linear time : time : quadratic time : exponential time