PS/Data Structure

[๊ฐœ๋…] LinkedList

chaerlo127 2022. 4. 10. 01:43
728x90

๋“œ๋””์–ด ๋ธ”๋กœ๊ทธ์— ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ ๊ธ€์„ ์“ด ์ด์œ ,, LinkedList์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด๋ณด๊ณ ์ž ํ•œ๋‹ค.

 

 

๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฒƒ์€ ์—ฐ๊ฒฐ์ด ๋ฌด์—‡์ธ๊ฐ€, ํ”„๋กœ๊ทธ๋ž˜๋ฐ์œผ๋กœ ํ‘œํ˜„ํ•˜๋Š”๊ฐ€?

 

cpu: ๊ณ„์‚ฐํ•˜๊ณ  ์—ฐ์‚ฐ, ์ฒ˜๋ฆฌ ์†๋„๊ฐ€ storage, memory, cpu ์ค‘์— ๊ฐ€์žฅ ๋น ๋ฆ„

storage: HDD, SSD ํŒŒ์ผ, ๋ฐ์ดํ„ฐ ๋“ฑ์„ ์ €์žฅ, ๊ฐ€๊ฒฉ์ด ์ €๋ ด, ์šฉ๋Ÿ‰์ด ํฌ๊ณ , ๋น„ํœ˜๋ฐœ์„ฑ ๋ฉ”๋ชจ๋ฆฌ

๋ฉ”๋ชจ๋ฆฌ: ๊ธฐ์–ต์„ ๋‹ด๋‹น, ์šฉ๋Ÿ‰์ด ์•„์ฃผ ์ ์Œ, ํœ˜๋ฐœ์„ฑ ๋ฉ”๋ชจ๋ฆฌ, storage ๋ณด๋‹ค ํ›จ์”ฌ ๋” ๋น ๋ฅด๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Œ.

 

cpu๊ฐ€ storage์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ๋‹ค๊ฐ€ ์“ฐ๊ฒŒ ๋˜๋ฉด ์‹œ๊ฐ„์ด ์˜ค๋ž˜๊ฑธ๋ฆฌ๋Š” ๋‹จ์ ์ด ์žˆ๋‹ค. cpu๊ฐ€ ๊ณ„์‚ฐ์„ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” storage์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋“ค์„ memory๋กœ ๊ฐ€์ ธ์˜จ ๋‹ค์Œ์— memory๊ฐ€ cpu์—๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•˜๋Š”๊ฒŒ ๋น ๋ฅด๋‹ค.

 

๋”ฐ๋ผ์„œ, Data Structure์—์„œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๋Œ€์ƒ์€ โœจMemoryโœจ -> ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”

 

  • RAM(Random Access Memory) = Memory

์—ฌ๋Ÿฌ Address์—์„œ ๊ฐ€๋ฆฌํ‚ค๋Š” ์œ„์น˜์— Data๊ฐ€ ์ €์žฅ๋˜์–ด ์žˆ์Œ. ๊ฐ๊ฐ์˜ ์ฃผ์†Œ์— ์ ‘๊ทผํ•  ๋•Œ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์ด ๋™์ผํ•˜๋‹ค. ์ฐพ๊ณ ์žํ•˜๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์–ด๋””์— ์œ„์น˜๋˜์–ด ์žˆ๋Š”์ง€ ์•Œ๊ณ  ์žˆ์œผ๋ฉด ๋น ๋ฅด๊ฒŒ Access ๊ฐ€๋Šฅ

 

 

โœจ  LinkedList

ArrayList์ฒ˜๋Ÿผ ๋ฐ์ดํ„ฐ๊ฐ€ ์ผ๋ ฌ๋กœ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๊ณ , ๊ฐ์ž ์žˆ๋Š” ์œ„์น˜๋ฅผ ํฌ์ธํ„ฐ๋กœ ์ €์žฅํ•˜์—ฌ ์ด๋™ํ•˜๋Š” List

์œ„์น˜๊ฐ€ ํฉ์–ด์ ธ ์žˆ์–ด ์„œ๋กœ linked field์— ์˜ํ•ด ์—ฐ๊ฒฐ์ด ๋˜์–ด์•ผ ํ•œ๋‹ค.

 

๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ๊ฐ์ฒด๋ผ๋ฆฌ ์—ฐ๊ฒฐํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

 

์ฒซ ๋ฒˆ์งธ ๋…ธ๋“œ๋ฅผ ์•Œ์•„์•ผ์ง€, ๋ชจ๋“  ์ •๋ณด๋ฅผ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

 

  • HEAD: ์ฒซ ๋ฒˆ์งธ ๋…ธ๋“œ์˜ ์ •๋ณด๋ฅผ ๋‹ด๊ณ  ์žˆ๋‹ค. 
  • TAIL: ์ œ์ผ ๋’ค์— ์žˆ๋Š” ๋…ธ๋“œ์˜ ์ •๋ณด๋ฅผ ๋‹ด๊ณ  ์žˆ๋‹ค.
  • SIZE
  • Data field: ๋ฐ์ดํ„ฐ
  • Link field: ๋‹ค์Œ node๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์ €์žฅํ•ด ๋†“์€ ๊ฒƒ
  • node, vertex : ArrayList์˜ element์™€ ๊ฐ™์€ [Data field + Link field]

 

 

728x90

 

 

728x90