Java/์•Œ๊ณ ๋ฆฌ์ฆ˜

[์•Œ๊ณ ๋ฆฌ์ฆ˜] ๋ฐฐ์—ด๊ณผ ๋ฆฌ์ŠคํŠธ

soowitty 2024. 1. 29. 12:00
๐Ÿ’ก ๋Œ€๋ถ€๋ถ„์˜ ๋‚ด์šฉ์„ Do it! ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ with JAVA ๊ฐ•์˜๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ์ •๋ฆฌํ•˜์˜€์Šต๋‹ˆ๋‹ค.

๋ฐฐ์—ด

๋ฐฐ์—ด์€ ์—ฐ์† ๊ณต๊ฐ„์— ๊ฐ’์ด ์ฑ„์›Œ์ ธ ์žˆ๋Š” ํ˜•ํƒœ์˜ ์ž๋ฃŒ๊ตฌ์กฐ์ด๋‹ค.

๋ฐฐ์—ด์˜ ํŠน์ง•

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

 

๋ฆฌ์ŠคํŠธ

๋ฆฌ์ŠคํŠธ๋Š” ๊ฐ’๊ณผ ํฌ์ธํ„ฐ๋ฅผ ๋ฌถ์€ ๋…ธ๋“œ๋ฅผ ํฌ์ธํ„ฐ๋กœ ์—ฐ๊ฒฐํ•œ ์ž๋ฃŒ๊ตฌ์กฐ์ด๋‹ค.

๋ฆฌ์ŠคํŠธ์˜ ํŠน์ง•

  • ์ธ๋ฑ์Šค๊ฐ€ ์—†๋‹ค. ๋”ฐ๋ผ์„œ ๊ฐ’์— ์ ‘๊ทผํ•˜๋ ค๋ฉด Head ํฌ์ธํ„ฐ๋ถ€ํ„ฐ ์ˆœ์„œ๋Œ€๋กœ ์ ‘๊ทผํ•ด์•ผ ํ•œ๋‹ค. → ๊ฐ’์— ์ ‘๊ทผํ•˜๋Š” ์†๋„๊ฐ€ ๋Š๋ฆฌ๋‹ค.
  • ํฌ์ธํ„ฐ๋กœ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฝ์ž…ํ•˜๊ฑฐ๋‚˜ ์‚ญ์ œํ•˜๋Š” ์†๋„๊ฐ€ ๋น ๋ฅด๋‹ค.
  • ์„ ์–ธํ•  ๋•Œ ํฌ๊ธฐ๋ฅผ ์ง€์ •ํ•˜์ง€ ์•Š์•„๋„ ๋œ๋‹ค. ํฌ๊ธฐ๊ฐ€ ์ •ํ•ด์ ธ ์žˆ์ง€ ์•Š๊ณ  ๊ฐ€๋ณ€์ ์ด๋‹ค!
  • ํฌ์ธํ„ฐ๋ฅผ ์ €์žฅํ•  ๊ณต๊ฐ„์ด ํ•„์š”ํ•˜๋ฏ€๋กœ ๋ฐฐ์—ด๋ณด๋‹ค ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋งŽ์ด ์ฐจ์ง€ํ•œ๋‹ค.

 

๋ฐฐ์—ด vs. ๋ฆฌ์ŠคํŠธ

โ“ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ์—์„œ, ๋‘ ์ž๋ฃŒ๊ตฌ์กฐ ์ค‘์—์„œ ์–ด๋–ค ๊ฒƒ์„ ์„ ํƒํ•ด์•ผ ์ ์ ˆํ• ๊นŒ?

  • ํฌ๊ธฐ๊ฐ€ ๊ณ ์ •๋˜์–ด ์žˆ์„ ๋•Œ
  • ์ ‘๊ทผ ํšŸ์ˆ˜๊ฐ€ ๋งŽ์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ผ ๋•Œ

     → ๋ฐฐ์—ด ์‚ฌ์šฉ!

 

  • ํฌ๊ธฐ๊ฐ€ ๋ณ€ํ•  ๋•Œ, ์„ ์–ธ ์‹œ ํฌ๊ธฐ๋ฅผ ๋ชจ๋ฅผ ๋•Œ
  • ์‚ฝ์ž…๊ณผ ์‚ญ์ œ๊ฐ€ ๋งŽ์„ ๋•Œ

     → ๋ฆฌ์ŠคํŠธ(ArrayList, LinkedList) ์‚ฌ์šฉ!

 

 

Reference

https://velog.io/@minjung0/Do-it-์•Œ๊ณ ๋ฆฌ์ฆ˜-์ฝ”๋”ฉํ…Œ์ŠคํŠธ-์ž๋ฐ”-์ •๋ฆฌ๋ณธ-๋ฐฐ์—ด๊ณผ-๋ฆฌ์ŠคํŠธ