๋ฐฐ์—ด๊ณผ ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ
algorithm & data structure

๋ฐฐ์—ด๊ณผ ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ

๋ฐฐ์—ด Array

  • ๋ฐฐ์—ด์€ ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ์ž๋ฃŒ ๊ตฌ์กฐ, ๊ฐ™์€ ๋ฐ์ดํ„ฐ ์œ ํ˜•์„ ๊ฐ€์ง„ ์ž๋ฃŒ๋“ค์˜ ๊ทธ๋ฃน/์„ธํŠธ
  • ์—ฐ์†๋œ ๊ธฐ์–ต์žฅ์†Œ๋ฅผ ๋ฐฐ์ •๋ฐ›๋Š”๋‹ค.
  • ๋ฐฐ์—ด๋ช…/์›์†Œ/์ธ๋ฑ์Šค ์กด์žฌ

๋ฐฐ์—ด์€ ์›์†Œ๋ฅผ ์ถ”๊ฐ€/์‚ญ์ œํ•˜๊ธฐ๊ฐ€ ์–ด๋ ต๋‹ค. ์ด๋Š” ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ๋กœ ํ•ด๊ฒฐ ๊ฐ€๋Šฅํ•˜๋‹ค.


๋ฆฌ์ŠคํŠธ

  • ์ฐจ๋ก€๋Œ€๋กœ ๋‚˜์—ด๋œ ์ž๋ฃŒ๋“ค์˜ ๋ชจ์ž„
  • ๋‚˜์—ด ์ˆœ์„œ๊ฐ€ ์ค‘์š”ํ•œ ๊ฒฝ์šฐ๋„ ์žˆ์Œ(์„ ํ˜•๋ฆฌ์ŠคํŠธ)
  • ์‚ฌ์šฉ ์˜ˆ์‹œ: ์ž๋ฃŒ ๊ฒ€์ƒ‰, ์ „์ฒด ๊ฒ€์ƒ‰/์ˆœํšŒ/์ถœ๋ ฅ, ์ˆœ์„œ ๋ณ€๊ฒฝ, ์ „์ฒด ๋ชฉ๋ก ๊ฐœ์ˆ˜ ๊ณ„์‚ฐ, ์ž๋ฃŒ ์ถ”๊ฐ€/์‚ญ์ œ/๋ณ€๊ฒฝ, ๋นˆ ๋ชฉ๋ก ์—ฌ๋ถ€ ํŒ๋‹จ

์„ ํ˜•๋ฆฌ์ŠคํŠธ

  • ์ˆœ์„œ๋Œ€๋กœ ๋‚˜์—ด๋œ ๋™์ผ ์œ ํ˜•์˜ ํ•ญ๋ชฉ๋“ค(<-> ์ง‘ํ•ฉ: ํ•ญ๋ชฉ๊ฐ„ ์ˆœ์„œ ๊ฐœ๋… X)
  • ์„ ํ˜•๋ฆฌ์ŠคํŠธ์˜ ์˜ˆ์‹œ
    ์š”์ผ(์ผ,์›”,ํ™”,...,ํ† )
    ์ž์Œ(ใ„ฑ,ใ„ด,ใ„ท,...,ใ…Ž)
    ํœด๋Œ€ํฐ ๋ฌธ์ž ๋ฉ”์‹œ์ง€ ๋ฆฌ์ŠคํŠธ
  • C++์˜ ๊ฒฝ์šฐ ๋‚˜์—ดํ˜• ์ž๋ฃŒํ˜• enum ์ œ๊ณต
    enum Day{SUN, MON, TUE, WED, THU, FRI, SAT}
  • ๋ฐฐ์—ด ํ˜น์€ ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ๋กœ ๊ตฌํ˜„
  • ๋ฐฐ์—ด๋กœ ๊ตฌํ˜„ํ•œ ์„ ํ˜•๋ฆฌ์ŠคํŠธ
    ํ•œ๊ณ„์ : 1์ฐจ์› ๋ฐฐ์—ด์— ํ•ญ๋ชฉ๋“ค์„ ์ˆœ์„œ๋Œ€๋กœ ์ €์žฅํ•˜์—ฌ ์‚ฝ์ž… ์—ฐ์‚ฐ๊ณผ ์‚ญ์ œ ์—ฐ์‚ฐ ์‹œ ๋ถˆํŽธํ•จ.


    => ์ƒˆ๋กœ์šด ์ž๋ฃŒ๊ตฌ์กฐ ํ•„์š”: ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ(linked list)

์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ

  • ์ž๋ฃŒ๋“ค์„ ํ•˜๋‚˜์”ฉ ์ฐจ๋ก€๋Œ€๋กœ ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐฉ์‹์˜ ์ž๋ฃŒ๊ตฌ์กฐ
    ๋ฐฐ์—ด์˜ ๋‹จ์ ๋“ค์„ ๋ณด์™„/๊ฐœ์„ 
    ์ž๋ฃŒ ์ด์™ธ์— ๋‹ค์Œ ์ž๋ฃŒ๋ฅผ ๊ฐ€๋ฆฌํ‚ฌ ์ฃผ์†Œ(ํฌ์ธํ„ฐ) ํ•„์š”
  • ๊ฐ ์ž๋ฃŒ์™€ ํฌ์ธํ„ฐ ์ •๋ณด ์Œ์„ ๋…ธ๋“œ(node)๋ผ๊ณ  ์ง€์นญ
    ๋…ธ๋“œ = <๋ฐ์ดํ„ฐ(์ž๋ฃŒ), ๋งํฌ(ํฌ์ธํ„ฐ)>
    ๋ฐ์ดํ„ฐ ํ•„๋“œ: ์ž๋ฃŒ์˜ ์›๋ž˜ ๊ฐ’(data) ์ €์žฅ
    ๋งํฌ ํ•„๋“œ: ๋‹ค์Œ ๋…ธ๋“œ์˜ ์ฃผ์†Œ๊ฐ’(ํฌ์ธํ„ฐ) ์ €์žฅ
  • ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ์˜ ์ข…๋ฅ˜
    ๋‹จ์ผ/๋‹จ์ˆœ ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ
    ์ด์ค‘ ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ
    ์›ํ˜• ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ
    etc ์ž์‹ ๋งŒ์˜ ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ ๊ตฌ์„ฑ ๊ฐ€๋Šฅ
  • ์žฅ์ 
    ์‚ฝ์ž…/์‚ญ์ œ ์šฉ์ด, ์—ฐ์†๋œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„ ๋ถˆํ•„์š”, ์›์†Œ ๊ฐœ์ˆ˜ ์œ ๋™์ 
  • ๋‹จ์ 
    ๋งํฌ ์ •๋ณด๊ฐ€ ์ถ”๊ฐ€๋กœ ํ•„์š”, ๊ตฌํ˜„์ด ์–ด๋ ค์›€, ํฌ์ธํ„ฐ ์‚ฌ์šฉ์œผ๋กœ ์˜ค๋ฅ˜ ๋ฐœ์ƒ ๊ฐ€๋Šฅ, ๋™์  ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น ํ•„์š”

๋ฐฐ์—ด๊ณผ ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ ๋น„๊ต

  • ๋ฐฐ์—ด
    ๊ตฌํ˜„ ์šฉ์ด
    ์—ฐ์†๋œ ๊ธฐ์–ต์žฅ์†Œ
    ์‚ฝ์ž…/์‚ญ์ œ ์ œ์•ฝ
    ์›์†Œ ๊ฐœ์ˆ˜ ๊ณ ์ •
  • ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ
    ๊ตฌํ˜„ ๋ณต์žก(ํฌ์ธํ„ฐ ์‚ฌ์šฉ)
    ์ž„์˜์˜ ๊ธฐ์–ต์žฅ์†Œ
    ์‚ฝ์ž…/์‚ญ์ œ ์šฉ์ด
    ์›์†Œ ๊ฐœ์ˆ˜ ์œ ๋™์ 
๋ฐ˜์‘ํ˜•