Skip to content

Latest commit

ย 

History

History
78 lines (56 loc) ยท 3.83 KB

Arrays.md

File metadata and controls

78 lines (56 loc) ยท 3.83 KB

๋ฐฐ์—ด

  1. ์ •์˜
  2. ํŠน์ง•
    1. ์žฅ์ 
    2. ๋‹จ์ 
  3. ํ™œ์šฉ
  4. ์‹œ๊ฐ„๋ณต์žก๋„์™€ ๊ณต๊ฐ„๋ณต์žก๋„
  5. ๋ฐ์ดํ„ฐ์˜ ์ˆซ์ž๊ฐ€ ๋ฐฐ์—ด์˜ ํฌ๊ธฐ๋ฅผ ๋„˜์–ด์„œ๋Š” ๊ฒฝ์šฐ
  6. ์ฐธ๊ณ  ์ž๋ฃŒ

์ •์˜

์—ฐ๊ด€๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์ƒ์—์„œ ์—ฐ์†์ ์ด๋ฉฐ ์ˆœ์ฐจ์ ์œผ๋กœ ๋ฏธ๋ฆฌ ํ• ๋‹น๋œ ํฌ๊ธฐ๋งŒํผ ์ €์žฅํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ.

๋ฐฐ์—ด์€ ์—ฐ์†๋œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์— ์ˆœ์ฐจ์ ์œผ๋กœ ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ ๋ชจ์ž„์ด๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ํ”„๋กœ๊ทธ๋žจ ์–ธ์–ด์—์„œ ๋™์ผ ํƒ€์ž…์˜ ๋ฐ์ดํ„ฐ๋งŒ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ฐฐ์—ด์„ ๊ตฌ์„ฑํ•˜๋Š” ๊ฐ๊ฐ์˜ ๊ฐ’์„ ์š”์†Œ(element)๋ผ๊ณ  ํ•˜๋ฉฐ, ๋ฐฐ์—ด์—์„œ์˜ ์œ„์น˜๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ์ˆซ์ž๋ฅผ ์ธ๋ฑ์Šค(index)๋ผ๊ณ  ํ•œ๋‹ค.

ํŠน์ง•

  • ๋ฐฐ์—ด์€ ๊ฐ™์€ ํƒ€์ž…์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์—ฌ๋Ÿฌ๊ฐœ ๋‚˜์—ดํ•œ ์„ ํ˜• ์ž๋ฃŒ๊ตฌ์กฐ
  • ์ˆœ์ฐจ์ ์ธ ๋ฐ์ดํ„ฐ ์ €์žฅ(order) -> ๋…ผ๋ฆฌ์  ์ˆœ์„œ์™€ ๋ฌผ๋ง‚๊ฑฐ ์ˆœ์„œ๊ฐ€ ์ผ์น˜
  • ๊ณ ์ •๋œ ์ €์žฅ ๊ณต๊ฐ„(fixed-size, ์ •์  ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น) -> ๋ฐฐ์—ด์€ ์„ ์–ธํ•  ๋•Œ ํฌ๊ธฐ๋ฅผ ์ •ํ•˜๋ฉด, ๊ทธ ํฌ๊ธฐ๋กœ ๊ณ ์ •
  • ์„ ์–ธ๋œ ๊ฐ’์€ ๋ฐฐ์—ด์„ ๋‹ค์‹œ ์„ ์–ธํ•˜์ง€ ์•Š์œผ๋ฉด ๋ณ€๊ฒฝ ๋ถˆ๊ฐ€๋Šฅ
  • Random Access๋ฅผ ์ง€์›. ์ฆ‰, ์ธ๋ฑ์Šค๋ฅผ ํ†ตํ•ด์„œ ๊ฐ ์š”์†Œ์— ์ง์ ‘ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Œ

์žฅ์ 

  • lookup๊ณผ append๊ฐ€ ๋น ๋ฅด๋‹ค. ๋”ฐ๋ผ์„œ ์กฐํšŒ๋ฅผ ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ์ž‘์—…์—์„œ๋Š” ๋ฐฐ์—ด์ด ๋งŽ์ด ์‚ฌ์šฉ๋œ๋‹ค.

๋‹จ์ 

  • ์ •์  ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น(fixed-size) ํŠน์„ฑ์ƒ ์„ ์–ธ์‹œ์— ๋ฐฐ์—ด์˜ ํฌ๊ธฐ๋ฅผ ๋ฏธ๋ฆฌ ์ •ํ•ด์•ผ ํ•œ๋‹ค. ์ด๋Š” ๋ฉ”๋ชจ๋ฆฌ ๋‚ญ๋น„ ํ˜น์€ ์ถ”๊ฐ€์ ์ธ ์˜ค๋ฒ„ํ—ค๋“œ๋ฅผ ๋ฐœ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค.

ํ™œ์šฉ

  • ์ˆœ์ฐจ์ ์ธ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋ฉฐ, ๊ฐ’๋ณด๋‹ค๋Š” ์ˆœ์„œ๊ฐ€ ์ค‘์š”ํ•  ๋•Œ.
  • ๋‹ค์ฐจ์› ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃฐ ๋•Œ.
  • ์–ด๋–ค ํŠน์ • ์š”์†Œ๋ฅผ ๋น ๋ฅด๊ฒŒ ์ฝ์–ด์•ผ ํ•  ๋•Œ.
  • ๋ฐ์ดํ„ฐ์˜ ํฌ๊ธฐ๊ฐ€ ์ž์ฃผ ๋ฐ”๋€Œ์ง€ ์•Š์œผ๋ฉฐ ๋ฐ์ดํ„ฐ์˜ ์ถ”๊ฐ€, ์‚ญ์ œ๊ฐ€ ๋œธํ•œ ๊ฒฝ์šฐ.

์‹œ๊ฐ„๋ณต์žก๋„์™€ ๊ณต๊ฐ„๋ณต์žก๋„

  • ์‹œ๊ฐ„๋ณต์žก๋„

    Operation Average Worst
    Access ฮ˜(1) O(1)
    Appened ฮ˜(1) ฮ˜(1)
    ๋งˆ์ง€๋ง‰ ์›์†Œ Delete ฮ˜(1) ฮ˜(1)
    Search ฮ˜(n) O(n)
    Insertion ฮ˜(n) O(n)
    Deletion ฮ˜(n) O(n)
    • ํƒ์ƒ‰ : ํŠน์ • ์›์†Œ๊ฐ€ ๋ช‡๋ฒˆ์งธ ์ธ๋ฑ์Šค์— ์žˆ๋Š”์ง€ ์•Œ์•„๋‚ด๊ธฐ ์œ„ํ•ด ๋ชจ๋‘ ๋ฐฉ๋ฌธํ•ด์•ผ ํ•จ.
    • ์‚ฝ์ž… : ์ƒˆ ์›์†Œ๋ฅผ ์‚ฝ์ž…์‹œ ๊ธฐ์กด ์›์†Œ๋“ค์„ ๋ฐ€์–ด๋‚ด์•ผ ํ•จ.
    • ์‚ญ์ œ : ํŠน์ • ์›์†Œ ์‚ญ์ œ์‹œ ๋‚จ์€ ์›์†Œ๋“ค์„ ๋‹น๊ฒจ์ค˜์•ผ ํ•จ.
  • ๊ณต๊ฐ„๋ณต์žก๋„
    O(n)

๋ฐ์ดํ„ฐ์˜ ์ˆซ์ž๊ฐ€ ๋ฐฐ์—ด์˜ ํฌ๊ธฐ๋ฅผ ๋„˜์–ด์„œ๋Š” ๊ฒฝ์šฐ

์˜ˆ์ƒํ•œ ๊ฒƒ๋ณด๋‹ค ๋” ๋งŽ์€ ์ˆ˜์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š๋ผ ๋ฐฐ์—ด์˜ ํฌ๊ธฐ๋ฅผ ๋„˜์–ด์„œ๋Š” ๊ฒฝ์šฐ์—๋Š” ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ• ๊นŒ? ํฌ๊ฒŒ ๋‘๊ฐ€์ง€ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค.

  1. ๋™์  ๋ฐฐ์—ด(Dynamic Array) ์‚ฌ์šฉ
    ๊ธฐ์กด์˜ ํฌ๊ธฐ๋ณด๋‹ค ๋” ํฐ ๋ฐฐ์—ด์„ ์„ ์–ธํ•˜๊ณ , ๋ฐ์ดํ„ฐ๋ฅผ ์˜ฎ๊ฒจ ํ• ๋‹นํ•œ๋‹ค. ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ์˜ฎ๊ฒผ๋‹ค๋ฉด ๊ธฐ์กด ๋ฐฐ์—ด์€ ๋ฉ”๋ชจ๋ฆฌ์—์„œ ์‚ญ์ œํ•œ๋‹ค. ์ด๋Ÿฐ ๋ฐฉ์‹์œผ๋กœ ๋ฐฐ์—ด์˜ ํฌ๊ธฐ๋ฅผ ์กฐ์ ˆํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ๋™์  ๋ฐฐ์—ด(Dynamic Array)์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.
  2. ๋งํฌ๋“œ ๋ฆฌ์ŠคํŠธ ์‚ฌ์šฉ
    ํฌ๊ธฐ๋ฅผ ์˜ˆ์ธกํ•˜๊ธฐ ์–ด๋ ต๋‹ค๋ฉด ๋ฐฐ์—ด ๋Œ€์‹  ๋งํฌ๋“œ ๋ฆฌ์ŠคํŠธ(Linked List)๋ฅผ ์‚ฌ์šฉํ•จ์œผ๋กœ์จ ๋ฐ์ดํ„ฐ๊ฐ€ ์ถ”๊ฐ€๋  ๋•Œ๋งˆ๋‹ค ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ํ• ๋‹น๋ฐ›๋Š” ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•œ๋‹ค.

์ฐธ๊ณ  ์ž๋ฃŒ