Skip to content

Latest commit

ย 

History

History
95 lines (61 loc) ยท 4.48 KB

File metadata and controls

95 lines (61 loc) ยท 4.48 KB

๋ฐฐ์—ด(array)

์ถœ์ฒ˜ : https://www.youtube.com/watch?v=NFETSCJON2M\&list=PL7jH19IHhOLMdHvl3KBfFI70r9P0lkJwL\&index=3

1. ์‹œ๊ฐ„๋ณต์žก๋„๋ž€?


  • ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์˜ ์˜คํผ๋ ˆ์ด์…˜ ํ˜น์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์–ผ๋งˆ๋‚˜ ๋Š๋ฆฌ๊ณ  ๋น ๋ฅธ์ง€ ์ธก์ •ํ•˜๋Š” ๊ฒƒ
  • ์‹ค์ œ ์‹œ๊ฐ„์„ ์ธก์ •ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์–ผ๋งˆ๋‚˜ ๋งŽ์€ ๋‹จ๊ณ„[steps]๊ฐ€ ์žˆ๋Š”๊ฐ€๋กœ ์ธก์ •
  • ๋‹จ๊ณ„๊ฐ€ ์ ์„์ˆ˜๋ก ์ข‹์€ ๊ฒƒ
  • 5 step > 20 step

2. ๋ฉ”๋ชจ๋ฆฌ ๊ด€์ ์—์„œ ๋ฐฐ์—ด์ด ์–ด๋–ป๊ฒŒ ๋ณด์ผ๊นŒ?


โœจ ๋ฉ”๋ชจ๋ฆฌ์˜ ์ข…๋ฅ˜

  1. volatile(ํœ˜๋ฐœ์„ฑ) ๋ฉ”๋ชจ๋ฆฌ : RAM, ์ปดํ“จํ„ฐ๋ฅผ ๊ป๋‹ค ํ‚ค๋ฉด ๋ฐ์ดํ„ฐ๊ฐ€ ์‚ฌ๋ผ์ง
  • ํ”„๋กœ๊ทธ๋žจ์ด ๋Œ์•„๊ฐ€๊ณ , ๋ณ€์ˆ˜๋ฅผ ์ƒ์„ฑ ํ•  ๋•Œ, RAM์— ์ €์žฅ
  • RAM(Random Access Memory) : ํ•˜๋“œ ๋“œ๋ผ์ด๋ธŒ๋ณด๋‹ค ๋ฐ์ดํ„ฐ ์ฝ๋Š” ๊ฒƒ์ด ๋น ๋ฅด๋ฉฐ, ๋ฐ์ดํ„ฐ ์ ‘์†์„ ๋žœ๋ค์œผ๋กœ ๊ฐ€๋Šฅ
001 002 003
004 005 006
007 008 009
010 011 012
  • ์œ„์™€ ๊ฐ™์ด RAM์ด ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ์€ ๋ฐ•์Šค๋ผ๊ณ  ์ƒ๊ฐํ•ด๋ณด๋ฉด ํ”„๋กœ๊ทธ๋žจ์ด RAM์—๊ฒŒ 006์œผ๋กœ ๊ฐ€์ฃผ์„ธ์š” ํ•˜๋ฉด ๋žœ๋คํ•˜๊ฒŒ ์ ‘์† ๊ฐ€๋Šฅํ•˜๊ธฐ์— ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๋Š” ๊ฒƒ์ด ๋น ๋ฅธ ๊ฒƒ, ๋ฐ”๋กœ ์ด๋™ ๊ฐ€๋Šฅ(์ˆœ์ฐจ์ ์œผ๋กœ ๊ฐ€๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ)\
  1. non-volatile(๋น„ํœ˜๋ฐœ์„ฑ) ๋ฉ”๋ชจ๋ฆฌ
  • ํ•˜๋“œ ๋“œ๋ผ์ด๋ธŒ ๊ฐ™์€ ๊ฒƒ, ์ปดํ“จํ„ฐ๋ฅผ ๊ป๋‹ค ํ‚ค๋ฉด ๋ฐ์ดํ„ฐ๊ฐ€ ์‚ฌ๋ผ์ง€์ง€ ์•Š์Œ
  • ์ฆ‰, ๋ฉ”๋ชจ๋ฆฌ ๊ด€์ ์—์„œ ๋ฐฐ์—ด์„ ๋งŒ๋“ค๋•Œ, ์ปดํ“จํ„ฐ์—๊ฒŒ ์ด๊ฒŒ ์–ผ๋งˆ๋‚˜ ๊ธด์ง€ ์„ค๋ช…ํ•ด์•ผ ํ•จ
  • ๋‚˜์˜ ๋ฐฐ์—ด์€ 4๊ฐœ ๋งŒํผ ๊ธธ์–ด ๋ฏธ๋ฆฌ ์˜ˆ์•ฝ/ํ• ๋‹นํ•ด์ค˜! ๋ฉ”๋ชจ๋ฆฌ ์•ˆ์—์„œ ๋ฐ•์Šค๋“ค์ด ๋‚˜๋ž€ํžˆ ์œ„์น˜ํ•  ์ˆ˜ ์žˆ๊ฒŒ
  • ๋ฐฐ์—ด์€ ๊ฒ€์ƒ‰, ์ถ”๊ฐ€,์‚ญ์ œ์‹œ ๋Š๋ ค์ง

3. ๋ฐฐ์—ด


โœจ Reading : O(1)

๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ 001 002 003 004

index 0 1 2 3

  • ์œ„์น˜๋งŒ ์•Œ๋ฉด, ๋ฐฐ์—ด์˜ ๋ฐ์ดํ„ฐ์— ์ ‘์† ๊ฐ€๋Šฅ

    โ‡’ ๋ฐฐ์—ด์—์„œ ์ฝ์–ด๋‚ด๋Š” ๊ฒƒ์ด ๋น ๋ฆ„, ์ปดํ“จํ„ฐ๋Š” ๋ฐฐ์—ด์ด ์–ด๋””์„œ ์‹œ์ž‘๋˜๋Š” ์ง€ ์•„๋‹ˆ๊นŒ

  • EX. ํ”ผ์ž๋ฅผ ์›ํ•˜๋ฉด ์ปดํ“จํ„ฐ์—๊ฒŒ ์ธ๋ฑ์Šค 1๋ฒˆ์˜ ๊ฐ’์„ ๋‹ฌ๋ผ๊ณ  ํ•˜๋ฉด ๋จ

  • ๋งŽ์€ ์ž๋ฃŒ๋ฅผ ์ฝ์–ด๋‚ด๋ ค๋ฉด ๋ฐฐ์—ด์ด Good, ๋ฐฐ์—ด์˜ ์š”์†Œ์˜ ๊ฐœ์ˆ˜ ์ƒ๊ด€์—†์ด Random ํ•˜๊ฒŒ ์ฝ์–ด๋‚ด๋‹ˆ๊นŒ

  • ๋ฐฐ์—ด์—์„œ ์š”์†Œ์— ์ ‘๊ทผํ•˜๊ฑฐ๋‚˜ ๊ฐ’์„ ๋ณ€๊ฒฝํ•˜๋Š” ์ž‘์—…์€ ํ•ญ์ƒ ์ž…๋ ฅ ํฌ๊ธฐ์˜ ๊ด€๊ณ„ ์—†์ด ์ผ์ •ํ•œ ์‹œ๊ฐ„ ๋‚ด์— ์‹คํ–‰

  • ์˜ˆ๋ฅผ ๋“ค์–ด, ๋ฐฐ์—ด์˜ ์ฒซ ๋ฒˆ์งธ ์š”์†Œ์— ์ ‘๊ทผํ•˜๊ฑฐ๋‚˜ ๊ฐ’์„ ๋ณ€๊ฒฝํ•˜๋Š” ์ž‘์—…์€ ํ•ญ์ƒ ๊ณ ์ •๋œ ์‹œ๊ฐ„๋งŒํผ ๊ฑธ๋ฆฐ๋‹ค.

  • ์ด๋Š” ์ž…๋ ฅ ํฌ๊ธฐ์— ๊ด€๊ณ„์—†์ด ๋™์ผํ•˜๊ฒŒ ๋น ๋ฅด๊ฒŒ ์‹คํ–‰๋˜๋ฉฐ, ์ด๋Ÿฌํ•œ ํŠน์„ฑ ๋•Œ๋ฌธ์— ๋ฐฐ์—ด์˜ Big O ํ‘œ๊ธฐ๋ฒ•์€ **O(1)**๋กœ ํ‘œํ˜„

โœจ Searching : O(n)

  • ํ•ด๋‹น ๊ฐ’(=ex. ํ”ผ์ž)๊ฐ€ ๋ฐฐ์—ด์— ์žˆ๋Š”์ง€, ์—†๋Š”์ง€ ๋ชจ๋ฆ„
  • ์–ด๋””์— ์žˆ๋Š”์ง€๋„ ๋ชจ๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ๊ฒ€์ƒ‰
  • ํ•˜๋‚˜ํ•˜๋‚˜ ๋‹ค ๋’ค์ ธ๋ด์•ผ ํ•จ
  • So, ์ฝ๋Š” ๊ฒƒ๋ณด๋‹ค ์‹œ๊ฐ„์ด ๋งŽ์ด ๊ฑธ๋ฆผ
  • Random Access๊ฐ€ ์žˆ์–ด ์ฃผ์†Œ๋ฅผ ์ฐพ์•„ ๋ฐ•์Šค์— ์‰ฝ๊ฒŒ ์ ‘๊ทผ์€ ๊ฐ€๋Šฅํ•˜๋‚˜, ๊ทธ ๋ฐ•์Šค๋ฅผ ์—ด์–ด์•ผ ๊ฐ’์„ ํ™•์ธ ๊ฐ€๋Šฅ
  • ๋ฐฐ์—ด์˜ ์•„์ดํ…œ์„ ํ•˜๋‚˜ํ•˜๋‚˜ ์—ด์–ด๋ณด๊ณ  ๋งž๋Š”์ง€ ์ฒดํฌํ•˜๋Š” ๊ณผ์ •์„ ํ•˜๋‚˜ํ•˜๋‚˜ ํ•ด์•ผํ•จ
  • Linear Search[์„ ํ˜• ๊ฒ€์ƒ‰] : ์ˆœ์„œ๋Œ€๋กœ 0๋ถ€ํ„ฐ ๋๊นŒ์ง€ ์ฐจ๊ทผ์ฐจ๊ทผ ์ฐพ๋Š” ๊ฒƒ

โœจ Insert[Add] ํ˜น์€ ๋ฐฐ์—ด์— ์“ฐ๊ธฐ : O(n)

  • ๋งŒ์•ฝ, โ€œtomatoโ€๋ฅผ ๋„ฃ๊ณ  ์‹ถ๋‹ค๋ฉด, ๋ฏธ๋ฆฌ ๊ณต๊ฐ„์„ ํ™•๋ณดํ•ด๋’€์œผ๋‹ˆ๊นŒ ๊ณต๊ฐ„ ๊ฑฑ์ •์€ No!
  • ๊ฒฐ๊ตญ ์–ด๋””์— ํ† ๋งˆํ† ๋ฅผ ์ถ”๊ฐ€ํ•  ๊ฒƒ์ธ๊ฐ€!
  • ๋งŒ์•ฝ ์ค‘๊ฐ„์ด ์•ž์— ์ถ”๊ฐ€ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ๋‚˜๋จธ์ง€ ๊ฐ’๋“ค์„ ์˜ฎ๊ฒจ์•ผ ํ•จ(์•„๋ž˜์™€ ๊ฐ™์ด)
  • ๊ทผ๋ฐ ๋งŒ์•ฝ.. ๊ณต๊ฐ„์ด ๊ฝ‰ ์ฐจ ์žˆ๋Š”๋ฐ ๊ฐ’์„ ์ถ”๊ฐ€ํ•˜๋ฉด ๋ฐฐ์—ด์˜ ๊ธธ์ด๋Š” ์ •ํ•ด์ ธ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ณค๋ž€
  • โ‡’ ํ•ด๊ฒฐ๋ฐฉ์•ˆ : ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ ๋งŒ๋“ค๊ณ , ๊ทธ ๋ฐฐ์—ด์— ์ด์ „ ๋ฐฐ์—ด์„ ๋ณต์‚ฌํ•˜๊ณ , ์ƒˆ๋กœ ์ถ”๊ฐ€ํ•ด์•ผ ํ•จ
  • ๊ทธ๋ž˜์„œ ์‹œ๊ฐ„์ด ์˜ค๋ž˜๊ฑธ๋ฆฌ๊ณ  ๋ณต์žก

โœจ Delete : O(N)

๋ฐฐ์—ด์— ๋ญ”๊ฐ€๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ๊ณผ ๋น„์Šท

๋ฐฐ์—ด์„ ์ด๋ฆฌ์ €๋ฆฌ ์›€์ง์—ฌ์•ผ ํ•จ

EX. โ€œice creamโ€์„ ์—†์• ๊ณ  ์‹ถ์–ด โ‡’ ์‚ญ์ œ ํ›„ ๊ณต๊ฐ„์„ ์ฑ„์šฐ๊ธฐ ์œ„ํ•ด ์•ž์œผ๋กœ ๋•ก๊ฒจ์•ผ ํ•จ

4. ๊ฒฐ๋ก 


  • ๋ฐฐ์—ด์˜ ํ†ตํ•ฉ์ ์ธ ๋น…์˜ค๋Š” ๋ฐฐ์—ด์˜ ๊ฐ ์—ฐ์‚ฐ์˜ ์ตœ์•…์˜ ๊ฒฝ์šฐ(O(N))๋ฅผ ์ข…ํ•ฉํ•œ ๊ฒฐ๊ณผ์ผ ์ˆ˜ ์žˆ๋‹ค.
  • ๋ฐฐ์—ด์€ ์ ‘๊ทผ ์—ฐ์‚ฐ์„ ์ œ์™ธํ•˜๋ฉด ํƒ์ƒ‰, ์‚ฝ์ž…, ์‚ญ์ œ ์—ฐ์‚ฐ์— ๋Œ€ํ•ด ๋น„๊ต์  ํšจ์œจ์ ์ด์ง€ ์•Š์€ ํŽธ์ด๋ฏ€๋กœ, ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์„ค๊ณ„ํ•  ๋•Œ ์ด๋Ÿฌํ•œ ์—ฐ์‚ฐ์˜ ํšจ์œจ์„ฑ์„ ๊ณ ๋ ค
  • ์˜คํžˆ๋ ค ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€ ๋ฐ ์‚ญ์ œ๋Š” ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ๊ฐ€ ๋” ๋น ๋ฅด๊ณ  ๋ฐฐ์—ด์€ ๋Š๋ฆผ ๋ฐฐ์—ด์€ ๋ชจ๋“  ์ƒ์ž๋ฅผ ์•ž์œผ๋กœ ์˜ฏ๊ฒจ์•ผ ์ถ”๊ฐ€๊ฐ€ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ, ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ๋Š” ์„ ์„ ๋ฐ”๊ฟ”์„œ ์—ฐ๊ฒฐํ•ด์ฃผ๊ธฐ๋งŒ ํ•˜๋ฉด ๋˜๊ธฐ ๋•Œ๋ฌธ