๐ก Linked List ํน์ง
- Linked List
- ๋ฉ๋ชจ๋ฆฌ ์์์, Linked List ์ ์ฅ๋์ด ์๋ ๋ฐฉ์์ ๊ทธ๋ฆผ์ผ๋ก ๋ํ๋ธ ๊ฒ.
- ๋ค์ ๊ทธ๋ฆผ์ฒ๋ผ, Linked List๋ ๋ค์ ๋ ธ๋๋ฅผ ๊ณ์ํด์ ๊ฐ๋ฆฌํค๊ณ ์๊ธฐ ๋๋ฌธ์, ๋ฐ์ดํฐ๋ฅผ ์์ง ์๊ณ ๋ ธ๋๋ฅผ ์ฐพ์ ์ ์๋ค.
- List
- ์ผ๋ฐ์ ์ธ ๋ฐฐ์ด์ ๋ฉ๋ชจ๋ฆฌ ์ ์ฅ ๋ฐฉ์
- ์ผ๋ฐ์ ์ธ ๋ฐฐ์ด์, ์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ์ฐ์์ ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋๊ธฐ ๋๋ฌธ์, ์ธ๋ฑ์ค๋ฅผ ๊ฐ์ง ์ ์๊ณ , ๊ฐ๊ฐ์ ์ธ๋ฑ์ค๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ํน์ ์ฃผ์๋ก ๋งคํํ ์ ์๊ธฐ ๋๋ฌธ์ ์ ๊ทผํ ์ ์๋ค.
๐ก Linked List๋ฅผ ์ํด ๋ง๋ค ๋ชจ๋ ๋ฉ์๋์ Big O
๐ก 1. ์ฒซ ๋ฒ์งธ ๋ฉ์๋ : ๋ชฉ๋ก ๋์ ์ ๋ ธ๋๋ฅผ ์ถ๊ฐํ๋ ๋ฉ์๋
- ๋ง์ง๋ง ๋ ธ๋๊ฐ ์ถ๊ฐ ๋ ๋ ธ๋๋ฅผ ๊ฐ๋ฆฌํจ๋ค.
- ๊ทธ ๋ค์ Tail์ด ๋ง์ง๋ง ๋ ธ๋๋ฅผ ๊ฐ๋ฆฌํค๊ฒ ๋จ์ผ๋ก, Linked List์ ์๋ก์ด ๋ ธ๋๋ฅผ ์ถ๊ฐํ๋ค.
- O(1)
๐ก 2. ๋ ๋ฒ์งธ ๋ฉ์๋ : ๋ชฉ๋ก์ ๋ง์ง๋ง ๋ ธ๋๋ฅผ ์ญ์ ํ๋ ๋ฉ์๋
- ๋ง์ง๋ง ๋ ธ๋๋ฅผ ์ ๊ฑฐํ๊ณ , Tail์ ์๋ก ๋ฐ๋ ๋ง์ง๋ง ๋ ธ๋์ ์ถ๊ฐํด์ฃผ์ด์ผ ํ๋ค.
- ์๋ก ๋ฐ๋ ๋ง์ง๋ง ๋ ธ๋๋ฅผ ๊ฐ๋ฆฌํค๋ ํฌ์ธํฐ๋ฅผ ์ฐพ์์ผ ํ๋ค.
- ๊ทธ ๋ ธ๋๋ฅผ ๊ฐ๋ฆฌํค๋ ํฌ์ธํฐ๋ฅผ ์ฐพ๊ธฐ ์ํด์๋ Head ๋ถํฐ ์ถ๋ฐํด์ ํด๋น Linked List๋ฅผ ์ํํด์ผ ํ๋ค.
- ์ํ ๋์ ์ฐพ์ ํฌ์ธํฐ๋ฅผ Tail์ด ๊ฐ๋ฆฌํค๋๋ก ์ค์ ํด์ค๋ค.
- O(n) : ์ ์ฒด ๋ฆฌ์คํธ๋ฅผ ์ํํ๊ธฐ ๋๋ฌธ
๐ก 3. ์ธ ๋ฒ์งธ ๋ฉ์๋ : ๋ชฉ๋ก ๋งจ ์์ ์ ๋ ธ๋๋ฅผ ์ถ๊ฐํ๋ ๋ฉ์๋
- ์๋ก์ด ๋ ธ๋๊ฐ Linked List ๋งจ ์์ ๋ ธ๋๋ฅผ ๊ฐ๋ฆฌํจ๋ค.
- ๊ทธ ๋ค์ Head๋ฅผ ์๋ก ์ถ๊ฐ๋ ๋ ธ๋๋ฅผ ๊ฐ๋ฆฌํค๊ฒ๋ ํ์ฌ, Linked List์ ์๋ก์ด ๋ ธ๋๋ฅผ ์ถ๊ฐํ๋ค.
- O(1)
๐ก 4. ๋ค ๋ฒ์งธ ๋ฉ์๋ : ๋ชฉ๋ก ๋งจ ์์ ์ ๋ ธ๋๋ฅผ ์ญ์ ํ๋ ๋ฉ์๋
- Lined List์ ๋๋ฒ์งธ ๋ ธ๋๋ฅผ ์๋ก์ด Head๊ฐ ๊ฐ๋ฆฌํค๊ฒ๋ ํ๋ค.
- ๊ทธ ๋ค์ ๋งจ ์์ ๋ ธ๋๋ฅผ Linked List์์ ์ญ์ ํด์ค๋ค.
- O(1)
๐ก 5. ๋ค์ฏ ๋ฒ์งธ ๋ฉ์๋ : ๋ชฉ๋ก ์ค๊ฐ์ ์ ๋ ธ๋๋ฅผ ์ถ๊ฐํ๋ ๋ฉ์๋
- ๋ด๊ฐ ์ถ๊ฐํ๊ณ ์ถ์ ๋ ธ๋๋ฅผ ๊ฐ๋ฆฌํค๋ ํฌ์ธํฐ๋ฅผ ์ฐพ๊ธฐ ์ํด์ , ํด๋น Linked List๋ฅผ ์ํํ๋ฉฐ ํด๋น ํฌ์ธํฐ๋ฅผ ์ฐพ์์ผ ํ๋ค.
- ๊ทธ๋ ๊ฒ ์ฐพ์ ํฌ์ธํฐ๋ ์ถ๊ฐํ๊ณ ์ถ์ ๋ ธ๋๋ฅผ ๊ฐ๋ฆฌํค๋๋ก ์ค์ ํ๋ค.
- ์๋ก ์ถ๊ฐ๋ ๋ ธ๋์ ํฌ์ธํฐ๋ ๊ทธ ๋ค์๋ฒ ๋ ธ๋๋ฅผ ๊ฐ๋ฆฌํค๋๋ก ์ค์ ํ๋ค.
- O(n)
๐ก 5. ์ฌ์ฏ ๋ฒ์งธ ๋ฉ์๋ : ๋ชฉ๋ก ์ค๊ฐ์ ๋ ธ๋๋ฅผ ์ญ์ ํ๋ ๋ฉ์๋
- Linked List๋ฅผ ์ํํ์ฌ ๋ด๊ฐ ์ญ์ ํ๊ณ ์ถ์ ๋ ธ๋๋ฅผ ์ฐพ๋๋ค.
- ์ฐพ์ ๋ ธ๋ ์ด์ ๋ ธ๋์ ํฌ์ธํฐ๋ก ํ์ฌ๊ธ, ์ฐพ์ ๋ ธ๋์ ํฌ์ธํฐ๊ฐ ๊ฐ๋ฆฌํค๊ณ ์๋ ๋ ธ๋๋ฅผ ๊ฐ๋ฆฌํค๋๋ก ์์ ํด์ค๋ค.
- ๊ทธ๋ฆฌ๊ณ ์ฐพ์ ๋ ธ๋๋ฅผ ์ ๊ฑฐํด์ค๋ค.
- O(n)