๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์•Œ๊ณ ๋ฆฌ์ฆ˜/์ž๋ฃŒ๊ตฌ์กฐ

2. ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ (Linked List)

by ๐Ÿณ Laboon 2024. 2. 4.
์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ๋ž€ ?

 

๋จผ์ €, List๋ฅผ ์ƒ๊ฐํ•˜๋ฉด ์ญ‰ ~ ๋‚˜์—ด๋˜์–ด ์žˆ๋Š” ๊ฒƒ์ด ๋– ์˜ค๋ฅด์‹œ๋‚˜์š”?

์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ๋Š” ๋ง ๊ทธ๋Œ€๋กœ ์ญ‰ ~ ๋‚˜์—ด๋˜์–ด ์žˆ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ๋ฐ์ดํ„ฐ๋ฅผ ์„œ๋กœ ์—ฐ๊ฒฐํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ์ด์ฃ .

์–ด? ์ญ‰ ~ ๋‚˜์—ด๋˜์–ด์žˆ๊ณ  ์—ฐ๊ฒฐ๋˜์–ด์žˆ๋Š” ๊ฒƒ์€ '๋ฐฐ์—ด' ์•„๋‹Œ๊ฐ€์š”? 

 

๋งž์Šต๋‹ˆ๋‹ค.

์ž๋ฃŒ๊ตฌ์กฐ์˜ ๊ธฐ๋ณธ์ด์ž ๋ฐ์ดํ„ฐ๊ฐ€ ์ˆœ์ฐจ์ ์œผ๋กœ ๋‚˜์—ด๋˜์–ด ์žˆ๋Š” ๊ฒƒ์€ ๋ฐฐ์—ด์ž…๋‹ˆ๋‹ค.

 

 

๊ทธ๋Ÿผ ์—ฐ์†๋œ ๋ฐ์ดํ„ฐ๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ๋Š” ๋ฐฐ์—ด(Array)๊ฐ€ ์žˆ๋Š”๋ฐ ์™œ Linked List๋ฅผ ์‚ฌ์šฉํ•˜๋‚˜์š”?

 

 

๋ฐฐ์—ด๊ณผ Linked List์—๋Š” ์—„์—ฐํ•œ ์ฐจ์ด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

์•ž์„  ํฌ์ŠคํŒ…์—์„œ ๊ฐ ์ž๋ฃŒ๊ตฌ์กฐ๋Š” ํ•„์š”์— ๋”ฐ๋ฅธ ์‚ฌ์šฉ์ฒ˜๊ฐ€ ์žˆ๊ณ , ์‚ฌ์šฉ์ž๊ฐ€ ์œ ๋™์ ์œผ๋กœ ์‚ฌ์šฉํ•ด์•ผ ํ•จ์„ ํ‘œํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ ๋ฐฐ์—ด์ด๋ผ๋Š” ์ž๋ฃŒ๊ตฌ์กฐ์— ๋Œ€ํ•ด ์•Œ๊ณ  Linked List๋ผ๋Š” ์ž๋ฃŒ๊ตฌ์กฐ์™€์˜ ์ฐจ์ด์ ์„ ์•Œ์•„์•ผํ•ฉ๋‹ˆ๋‹ค.

 

์ฐจ์ด์ ์„ ์„ค๋ช…ํ•˜๊ธฐ ์•ž์„œ ๋ฐฐ์—ด์— ๋Œ€ํ•ด ๋”ฐ๋กœ ์ž‘์„ฑํ•˜์ง€ ์•Š๊ณ  ๋ฐ”๋กœ Linked List ํฌ์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ์ด์œ ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ๊ณต๋ถ€ํ•˜๊ฒŒ๋˜๋ฉด ๋ฐฐ์—ด์— ์–ด๋А ์ •๋„ ์ต์ˆ™ํ•ด์ ธ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ด์„œ ๊ทธ๋ ‡์Šต๋‹ˆ๋‹ค.

์ œ ๋ธ”๋กœ๊ทธ JAVA ์–ธ์–ด์— ๋Œ€ํ•œ ํฌ์ŠคํŠธ( ์ž๋ฐ” ๋ฐฐ์—ด1, ์ž๋ฐ” ๋ฐฐ์—ด2 ) ์ค‘ ์—๋„ ์„ค๋ช…์ด ์ž‘์„ฑ๋˜์–ด ์žˆ๊ณ ์š”.

 

๋ฐฐ์—ด์€ ์„œ๋กœ ์ˆœ์ฐจ์ ์œผ๋กœ ์—ฐ๊ฒฐ๋˜์–ด์žˆ์ง€๋งŒ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ๋Š” ์ˆœ์ฐจ์ ์œผ๋กœ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์ง€๋งŒ ์ˆœ์ฐจ์ ์œผ๋กœ ์—ฐ๊ฒฐ๋˜์–ด์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋ฉ”๋ชจ๋ฆฌ ์ƒ ๋ฐฐ์—ด์€ ๋ฐ์ดํ„ฐ๋“ค์ด ํ•˜๋‚˜์˜ ๋ฌถ์Œ [.............]์œผ๋กœ ๋ฌถ์—ฌ์žˆ์ง€๋งŒ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์„œ๋กœ ํฉ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.

 

์ผ์ƒ์ƒํ™œ ์˜ˆ์‹œ๋กœ ๋“ค์–ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๋…ธ๋ž˜๋ฐฉ -> PC๋ฐฉ -> ์˜ํ™”๊ด€์„ ๊ฐ€๊ธฐ๋กœ ํ–ˆ์Šต๋‹ˆ๋‹ค.

์–ด๋А ํ•œ ์žฅ์†Œ์— {๋…ธ๋ž˜๋ฐฉ, PC๋ฐฉ, ์˜ํ™”๊ด€}์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ํ•ด๋‹น ์žฅ์†Œ์—์„œ ํ•˜๊ณ  ์‹ถ์€๊ฑธ ๋ฐ”๋กœ ์ฆ๊ธธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

๊ทธ๋Ÿฐ๋ฐ ๋…ธ๋ž˜๋ฐฉ์„ ๊ฐ”๋‹ค๊ฐ€ ๊ฐ‘์ž๊ธฐ ๋ณผ๋ง์žฅ์„ ๊ฐ€๊ณ  ์‹ถ์€๋ฐ ํ•ด๋‹น ์žฅ์†Œ์—๋Š” ๋ณผ๋ง์žฅ์ด ์—†์Šต๋‹ˆ๋‹ค.

๋ณผ๋ง์žฅ์„ ์ด์šฉํ•˜๋ ค๋ฉด ์ด ์žฅ์†Œ์— ๋ณผ๋ง์žฅ์„ ์•„์˜ˆ ์ƒˆ๋กœ ์„ค์น˜ํ•ด์•ผํ•˜๋Š”๋ฐ ๊ณต๊ฐ„์ด ๋ถ€์กฑํ•ฉ๋‹ˆ๋‹ค.

์ „์ฒด ๊ฑด๋ฌผ์„ ํ™•์žฅํ•˜๊ณ  ๋ณผ๋ง์žฅ์„ ์ถ”๊ฐ€ํ•ด์•ผํ•˜์ฃ .

 

๊ทธ๋Ÿฐ๋ฐ ํ•œ ์žฅ์†Œ์—๋งŒ ๋จธ๋ฌผ๋Ÿฌ ์žˆ์ง€ ์•Š๊ณ  ๋™์„ ์„ ๋ฏธ๋ฆฌ ์งœ๋‘์—ˆ์Šต๋‹ˆ๋‹ค.

A ๋…ธ๋ž˜๋ฐฉ -> B PC๋ฐฉ -> C ์˜ํ™”๊ด€

์šฐ๋ฆฌ๋Š” A ๋…ธ๋ž˜๋ฐฉ์„ ๊ฐ”๋‹ค๊ฐ€ ๊ฐ‘์ž๊ธฐ D ๋ณผ๋ง์žฅ์„ ๊ฐ€๊ณ  ์‹ถ์–ด์กŒ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿผ ๋…ธ๋ž˜๋ฐฉ์—์„œ ๋…ธ๋ž˜๋ฅผ ๋ถ€๋ฅด๋˜ ์ค‘์ด๋‚˜ ๋งˆ์น˜๊ณ  D ๋ณผ๋ง์žฅ์„ ๋™์„ ์— ์ถ”๊ฐ€ํ•ด์„œ ์ด๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

์œ„๊ฐ€ ๋ฐฐ์—ด์˜ ๊ฐœ๋…์ด๊ณ  ์•„๋ž˜๊ฐ€ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ์˜ ๊ฐœ๋…์ž…๋‹ˆ๋‹ค. ๊ฐ™์€ ์žฅ์†Œ์—๋Š” ์—†์ง€๋งŒ ๋™์„ ์— ์ถ”๊ฐ€ํ•ด์„œ ์ด๋™ํ•  ์ˆ˜ ์žˆ์ฃ .

์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ๋Š” ํ•˜๋‚˜์˜ ๋ฌถ์Œ์ด ์•„๋‹ˆ๋ผ ๋ฐฉํ–ฅ์ด๋ผ์„œ ์–ธ์ œ๋“ ์ง€ ๋ฐฉํ–ฅ์„ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


 

{0, 1, 2, 3, 4, 5} ์ด๋ผ๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค.

ํƒ์ƒ‰ (Search), 5 ์ฐพ๊ธฐ

 

์šฐ๋ฆฌ๋Š” ๋ฐฐ์—ด์—์„œ ์‹œ์ž‘์œ„์น˜(0)๋ถ€ํ„ฐ ๋งˆ์ง€๋ง‰ ์œ„์น˜(5)๊นŒ์ง€ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (Index)

์‹œ์ž‘ ์œ„์น˜๋ถ€ํ„ฐ ๋งˆ์ง€๋ง‰ ์œ„์น˜๊นŒ์ง€ for๋ฌธ์„ ํ†ตํ•ด ์›ํ•˜๋Š” ๊ฐ’์„ ์ฐพ์„ ์ˆ˜ ์žˆ๊ฒ ์ฃ ?

5๋ฅผ ์ฐพ๋Š”๋‹ค๊ณ  ํ•˜๋ฉด ๋๊นŒ์ง€ ํƒ์ƒ‰ํ•ด์•ผํ•˜๋ฏ€๋กœ ์ด๊ฒƒ์„ ์ตœ์•…์˜ ๊ฒฝ์šฐ(Big-O), O(N)์ด๋ผ๊ณ  ํ•˜์ฃ .

 

์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ์—์„œ๋Š” ํ˜„์žฌ ์œ„์น˜(์ฃผ์†Œ)๋งŒ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. (Iterator)

์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ์—์„œ Iterator๊ฐ€ 0์„ ๊ฐ€๋ฅดํ‚ค๋Š”์ง€, 3์„ ๊ฐ€๋ฅดํ‚ค๋Š”์ง€ ๋งˆ์ง€๋ง‰์— ์ˆ˜ํ–‰ํ–ˆ๋˜ ์—ฐ์‚ฐ์„ ํ†ตํ•ด ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋งŒ์•ฝ, Iterator๊ฐ€ 5์˜ ์ฃผ์†Œ๋ฅผ ๊ฐ€๋ฅดํ‚ค๊ณ  ์žˆ๋‹ค๋ฉด ฮฉ (1), 0์˜ ์ฃผ์†Œ๋ฅผ ๊ฐ€๋ฅดํ‚ค๊ณ  ์žˆ๋‹ค๋ฉด O(N)

 

์ฆ‰, ๋‹จ์ˆœํ•œ ํƒ์ƒ‰ ๋ฉด์—์„œ๋Š” ํฐ ์ฐจ์ด๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

 

์ ‘๊ทผ (Access), 6๋ฒˆ ์งธ ๋ฐ์ดํ„ฐ ์ ‘๊ทผ 

 

์šฐ๋ฆฌ๋Š” ๋ฐฐ์—ด์—์„œ ์‹œ์ž‘์œ„์น˜๋ถ€ํ„ฐ ๋งˆ์ง€๋ง‰ ์œ„์น˜๊นŒ์ง€ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (Index)

๋ฐฐ์—ด์—์„œ 5๋ผ๋Š” ๊ฐ’์„ ์ฐพ์„ ๋•Œ ์šฐ๋ฆฌ๋Š” ์ธ๋ฑ์‹ฑ(array[5])์„ ํ†ตํ•ด O(1) ๋งŒ์— ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ์—์„œ๋Š” Index ๊ฐœ๋…์ด ์—†์–ด์„œ ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผ์„ ํ•˜๊ณ  ์‹ถ์–ด๋„.. ๋ฐ”๋กœ ํ•  ์ˆ˜๋Š” ์—†์Šต๋‹ˆ๋‹ค.

ํ˜„์žฌ ์œ„์น˜๋งŒ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋‹ˆ๊นŒ์š”.

๋งŒ์•ฝ์— ํ˜„์žฌ ์œ„์น˜๊ฐ€ '5'๋ฅผ ๊ฐ€๋ฅดํ‚ค๊ณ  ์žˆ๊ณ  ์ ‘๊ทผํ•œ๋‹ค๋ฉด ฮฉ(1),

ํ˜„์žฌ ์œ„์น˜๊ฐ€ '0'์„ ๊ฐ€๋ฅดํ‚ค๊ณ  ์žˆ๋‹ค๋ฉด 5๊นŒ์ง€ ํƒ์ƒ‰์„ ์ง„ํ–‰ํ•œ ํ›„์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฆ‰, ์ตœ์•…์˜ ๊ฒฝ์šฐ ํƒ์ƒ‰ ์‹œ๊ฐ„์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.  O(N)

 

์ ‘๊ทผ์€ Array๊ฐ€ ๋” ํšจ์œจ์ ์ž…๋‹ˆ๋‹ค.

์ด์ œ๋ถ€ํ„ฐ Linked List์˜ ์žฅ์ ์ด ๋‚˜์˜ต๋‹ˆ๋‹ค.

 

์‚ฝ์ž… (Insertion), 6 ์‚ฝ์ž…

 

Array์—์„œ ๋งจ ๋’ค์— ๊ฐ’์„ ์‚ฝ์ž…ํ•œ๋‹ค๊ณ  ํ•ด๋ณด์ฃ .

๊ธฐ๋ณธ์ ์œผ๋กœ๋Š” out of range ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•  ๊ฒƒ ์ž…๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ๋ฐฐ์—ด์„ ์„ ์–ธํ•  ๋•Œ, ํฌ๊ธฐ๋ฅผ ์ •ํ•˜๊ณ  ๋ฐฐ์—ด์„ ํ• ๋‹นํ•˜์ฃ ?

array[6] = {0, 1, 2, 3, 4, 5}์™€ ๊ฐ™์ด ๋ง์ด์ฃ .

array์˜ ๋งฅ์‹œ๋ฉˆ ํฌ๊ธฐ๊ฐ€ 6์œผ๋กœ ํ• ๋‹น๋˜์–ด์„œ array[6]์— ์ ‘๊ทผ ํ•  ์ˆ˜๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. 

์ ‘๊ทผ์„ ํ•˜๋”๋ผ๋„ out of range๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ์ด์ฃ .

 

  • ํ•ด๊ฒฐ์ฑ…

์ฒ˜์Œ๋ถ€ํ„ฐ array[100]๊ณผ ๊ฐ™์ด ์„ ์–ธํ•œ๋‹ค๋ฉด ๊ณต๊ฐ„์ด ์ถฉ๋ถ„ํ•˜๋ฏ€๋กœ ๋ฌธ์ œ๋Š” ์—†์Šต๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ, ๊ณต๊ฐ„์„ ๋‚ญ๋น„ํ•˜๊ฒŒ ๋œ๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ ๋ชจ๋“  ๋ฐ์ดํ„ฐ์˜ ํฌ๊ธฐ๊ฐ€ 100์„ ์ดˆ๊ณผํ•œ๋‹ค๋ฉด ? 

 

๋ฐฐ์—ด ํฌ๊ธฐ ์žฌํ• ๋‹น

๋ฐฐ์—ด์˜ ํฌ๊ธฐ < ์ ‘๊ทผํ•˜๋ ค๋Š” ์ธ๋ฑ์Šค ๋ผ๋ฉด, ๋ฐฐ์—ด์˜ ํฌ๊ธฐ๋ฅผ ์žฌํ• ๋‹นํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ์žฌํ• ๋‹น์„ ํ•˜๊ฒŒ ๋˜๋ฉด ์ด์ „์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์‚ฌ๋ผ์ง€๋ฏ€๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณต์‚ฌํ•ด๋‘๊ณ  ๋‹ค์‹œ ์ „๋‹ฌํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

์‹œ๊ฐ„์„ ๋งค์šฐ ๋‚ญ๋น„ํ•˜๋Š” ํ–‰์œ„์ฃ . O(2N) ์ •๋„ ๋˜๊ฒ ๋„ค์š”.

 

์ฒ˜์Œ๊ณผ ์ค‘๊ฐ„์— ์‚ฝ์ž…ํ•  ๋•Œ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค.

array[0]์— ๊ฐ’์„ ๋„ฃ์—ˆ๋‹ค๋ฉด ์ดํ›„์— ์žˆ๋Š” ๊ฐ’์„ ๋‹ค ํ•œ์นธ์”ฉ ๋’ค๋กœ ๋„˜๊ฒจ์ฃผ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

array[5] -> array[6], array[4] -> array[5] , ... , array[0] -> array[1], array[0] = 0

์ฆ‰, O(N)์ด์ฃ .

 

์ด๋ฒˆ์—” Linked List์—์„œ ๋งจ ๋’ค์— ๊ฐ’์„ ์‚ฝ์ž…ํ•œ๋‹ค๊ณ  ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

๋จผ์ €, ํ˜„์žฌ ์œ„์น˜(Iterator)๋งŒ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฏ€๋กœ ๋งจ ๋’ค๊นŒ์ง€ ํƒ์ƒ‰์„ ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค...

๊ทธ๋Ÿฐ ๋‹ค์Œ ์‚ฝ์ž…์„ ํ•ด์•ผ์ฃ . O(N)์ž…๋‹ˆ๋‹ค.

 

์ด ๋•Œ ๊นŒ์ง€๋งŒ ๋ณด๋ฉด, ๋ฐฐ์—ด๋ณด๋‹ค ์ข‹์€๊ฒŒ ํ•˜๋‚˜๋„ ์—†์ฃ ..?

ํ•˜์ง€๋งŒ ํ˜„์žฌ ์œ„์น˜ ๋’ค์— ๊ฐ’์„ ์‚ฝ์ž…ํ•œ๋‹ค๋ฉด O(1)์ž…๋‹ˆ๋‹ค.

ํ˜„์žฌ ์œ„์น˜์˜ ๊ฐ’์€ 4์ด๊ณ , ๋‹ค์Œ ์œ„์น˜์˜ ๊ฐ’์€ 5์ž…๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” 6์˜ ๋‹ค์Œ ์œ„์น˜๋ฅผ 5๋กœ ์„ค์ •ํ•˜๊ณ  4์˜ ๋‹ค์Œ ์œ„์น˜๋ฅผ 5๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ๋•Œ ์‹œ๊ฐ„์€ O(1)์ด ๋˜๋Š”๊ฑฐ์ฃ .

 

์œ„ ๋ฐฉ์‹์„ ์ฑ„ํƒํ•˜๋ฉด ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ์—์„œ๋Š” ํ˜„์žฌ ์œ„์น˜ ๋‹ค์Œ์— ๊ฐ’์„ ์‚ฝ์ž…ํ•œ๋‹ค๋ฉด ์ฒ˜์Œ, ์ค‘๊ฐ„, ๋งˆ์ง€๋ง‰ ์–ด๋А ๊ณณ์— ๊ฐ’์„ ์‚ฝ์ž…ํ•˜๋“  O(1)์ด ๋ฉ๋‹ˆ๋‹ค.

 

์‚ญ์ œ (Deletion), 5 ์‚ญ์ œ

 

์‚ฝ์ž…๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค.

๋ฐฐ์—ด์€ ํ•˜๋‚˜์˜ ๊ฐ’์„ ์‚ญ์ œํ•˜๊ฒŒ ๋˜๋ฉด ๋น„์–ด์žˆ๋Š” ๊ณณ์„ ํ•˜๋‚˜์”ฉ ์•ž๋‹น๊ฒจ์ค˜์•ผํ•˜๋ฏ€๋กœ O(N)์ด ๋ฉ๋‹ˆ๋‹ค.

 

์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ๋Š” ๊ฐ€๋ฅดํ‚ค๋Š” ๋ฐฉํ–ฅ๋งŒ 4 -> 5 -> 6 ์—์„œ 4 -> 6 ์ด ๋˜๋„๋ก ์ˆ˜์ •ํ•ด์ฃผ๋ฉด ๋˜์ฃ .

์ฆ‰ O(1)์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 


์‚ฌ์šฉ ์šฉ๋„์™€ ์ฐจ์ด์  ์ •๋ฆฌ
  ๋ฐฐ์—ด ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ
๋ณ€๊ฒฝ O(1) ฮฉ (1), O(N)
์ ‘๊ทผ O(1) ฮฉ (1), O(N)
ํƒ์ƒ‰ ฮฉ (1), O(N) ฮฉ (1), O(N)
์‚ฝ์ž… O(N) ฮฉ (1)
์‚ญ์ œ O(N) ฮฉ (1)

 

๋ฐฐ์—ด : ํ…œํ”Œ๋ฆฟ ๋งˆ๋ƒฅ ์ดˆ๊ธฐ ํ˜•ํƒœ๊ฐ€ ๊ฐ–์ถ”์–ด์ ธ์žˆ๊ณ  ๊ทธ ์•ˆ์— ๊ฐ’ ๋ณ€๊ฒฝ๋งŒ ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝ์šฐ ( ์„ฑ์  )

 

์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ : ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๊ฐ€ ๋นˆ๋ฒˆํ•˜๊ฒŒ ๋ณ€๊ฒฝ๋˜๋Š” ๊ฒฝ์šฐ ( ์—๋””ํ„ฐ )

ํฌ์ŠคํŠธ ๋ฐ ๋Œ“๊ธ€์„ ์ž‘์„ฑํ•  ๋•Œ, ๊ธ€์ž๊ฐ€ ์ž‘์„ฑ๋˜๊ณ  ์ค‘๊ฐ„ ๊ธ€์ž๋ฅผ ์ง€์šฐ๋Š” ํ–‰์œ„