๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
ETC/Study

[์ž๋ฃŒ๊ตฌ์กฐ] ์ž๋ฃŒ๊ตฌ์กฐ ์ข…๋ฅ˜

by Skills 2022. 5. 19.

๐Ÿ˜‰๊ฐ ์ž๋ฃŒ๊ตฌ์กฐ์˜ ์ œ๋ชฉ์„ ๋ˆ„๋ฅด์‹œ๋ฉด ์ข€ ๋” ์ž์„ธํ•œ ๋‚ด์šฉ์„ ๋‹ค๋ฃฌ ํฌ์ŠคํŒ…์œผ๋กœ ๋„˜์–ด๊ฐ‘๋‹ˆ๋‹ค! (์•„์ง ๋ฏธ์™„์ธ ๊ฒƒ๋„ ์žˆ์Œ!)๐Ÿ˜‰

1. Array(๋ฐฐ์—ด)

https://bnzn2426.tistory.com/115

  • ๋ฐฐ์—ด(Array : ์ •๋ ฌ)์€ ๋™์ผํ•œ ํƒ€์ž…์˜ ๋ฐ์ดํ„ฐ๋“ค์„ ์ €์žฅ(๋ฐฐ์—ด์ด "int"ํƒ€์ž…์ธ ๊ฒฝ์šฐ ์ •์ˆ˜ ์š”์†Œ๋งŒ ์ €์žฅ ๊ฐ€๋Šฅ)ํ•˜๋ฉฐ, ๊ณ ์ •๋œ ํฌ๊ธฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.
  • ์ธ๋ฑ์‹ฑ์ด ๋˜์–ด ์žˆ์–ด ์ธ๋ฑ์Šค ๋ฒˆํ˜ธ๋กœ ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค. (์ธ๋ฑ์Šค๋ฅผ ์ง€์ •ํ•˜์—ฌ ์ ‘๊ทผํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ชจ๋“  ์š”์†Œ์— ๋น ๋ฅด๊ฒŒ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•˜๋‹ค.)

 

๐Ÿ“Œ ๋ฐฐ์—ด์˜ ์šฉ๋„

- ํŠน์ • ์š”์†Œ๋ฅผ ๋น ๋ฅด๊ฒŒ ์ฝ์–ด์•ผ ํ•  ๋•Œ

- ๋‹ค์ฐจ์› ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃฐ ๋•Œ

 

2. Linked List(์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ)

https://code-lab1.tistory.com/2

  • ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ(Linked List : ์—ฐ๊ฒฐ ๋ชฉ๋ก)๋Š” ๊ฐ ๋…ธ๋“œ๊ฐ€ ๋ฐ์ดํ„ฐ์™€ ํฌ์ธํ„ฐ๋ฅผ ๊ฐ€์ง€๊ณ  ํ•œ ์ค„๋กœ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ์ด๋‹ค.
  • ex) ์ฒซ ๋ฒˆ์งธ ๋…ธ๋“œ์˜ ํฌ์ธํ„ฐ๋กœ ๋‘ ๋ฒˆ์งธ ๋ฐ์ดํ„ฐ๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค. ๋‘ ๋ฒˆ์งธ ๋…ธ๋“œ์˜ ํฌ์ธํ„ฐ๋กœ๋Š” ์„ธ ๋ฒˆ์งธ ๋ฐ์ดํ„ฐ๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค.
  • ๋ฐฐ์—ด์˜ ํฌ๊ธฐ๋ฅผ ๋ฏธ๋ฆฌ ์„ ์–ธํ•ด์•ผ ํ•˜๋Š” ๋ฐฐ์—ด ๋ฆฌ์ŠคํŠธ์™€ ๋‹ฌ๋ฆฌ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ๋Š” ๋ฐ์ดํ„ฐ์˜ ์ˆซ์ž๋งŒํผ๋งŒ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋˜๋‹ˆ ๋ฉ”๋ชจ๋ฆฌ ๋‚ญ๋น„๊ฐ€ ์ ๋‹ค.

 

๐Ÿ“Œ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ์˜ ์šฉ๋„

- Alt + Tab์„ ์‚ฌ์šฉํ•˜์—ฌ ํ”„๋กœ๊ทธ๋žจ ๊ฐ„ ์ „ํ™˜

- ๊ฐค๋Ÿฌ๋ฆฌ

 

3. Stack(์Šคํƒ)

https://luv-n-interest.tistory.com/161

  • ์Šคํƒ(Stack : ์Œ“๋‹ค)์€ ๊ทธ๋ฆผ์—์„œ ์‚ฌ๊ณผ๋ฅผ ์Œ“์„ ๋•Œ ์œ„๋กœ ์Œ“๋Š” ๊ฒƒ๋งŒ ๊ฐ€๋Šฅํ•˜๋“ฏ์ด ํ•œ ๋ฐฉํ–ฅ์œผ๋กœ๋งŒ ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๊ตฌ์กฐ ์ค‘๊ฐ„์— ๊ฐ’์„ ๋ผ์–ด ๋„ฃ์–ด ์ €์žฅํ•  ์ˆ˜ ์—†๋‹ค. ์ฆ‰, ๊ฐ™์€ ํฌ๊ธฐ์˜ ์ž๋ฃŒ๋ฅผ ์ •ํ•ด์ง„ ํ•œ ๋ฐฉํ–ฅ์œผ๋กœ๋งŒ ์ž…๋ ฅ, ์ €์žฅ, ์‚ญ์ œ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.
  • ๋งจ ์•„๋ž˜ ์žˆ๋Š” ์‚ฌ๊ณผ๋ฅผ ๊บผ๋‚ด๊ธฐ ์œ„ํ•ด์„œ ๊ฐ€์žฅ ์œ„์— ์žˆ๋Š” ์‚ฌ๊ณผ๋ถ€ํ„ฐ ๊บผ๋‚ด์•ผ ํ•˜๋Š” ๊ฒƒ ์ฒ˜๋Ÿผ ํ›„์ž…์„ ์ถœ(Last In First Out, LIFO) ๊ตฌ์กฐ๋กœ ๊ฐ€์žฅ ๋งˆ์ง€๋ง‰์— ๋“ค์–ด์˜จ ๋ฐ์ดํ„ฐ๊ฐ€ ๊ฐ€์žฅ ๋จผ์ € ๋ฆฌํ„ด, ์‚ญ์ œ๋œ๋‹ค๋Š” ๋œป์ด๋‹ค.

 

๐Ÿ“Œ ์Šคํƒ์˜ ์šฉ๋„

- ๋ธŒ๋ผ์šฐ์ €์˜ ๋’ค๋กœ๊ฐ€๊ธฐ

- ์‹คํ–‰ ์ทจ์†Œ

- ํ›„์œ„ ํ‘œ๊ธฐ๋ฒ• ๊ณ„์‚ฐ

 

4. Queue(ํ)

https://luv-n-interest.tistory.com/161

  • ํ(Queue : ๋Œ€๊ธฐ์ค„)๋Š” ๊ทธ๋ฆผ์—์„œ ๋†€์ด๊ณต์› ํ‹ฐ์ผ“์„ ์‚ฌ๋Š” ์ค„ ๊ฐ™์ด ์–‘ ๋ฐฉํ–ฅ์—์„œ ์ž…๋ ฅ๊ณผ ์ถœ๋ ฅ์ด ์ง„ํ–‰๋˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ๋œปํ•œ๋‹ค.
  • ๋จผ์ € ์˜จ ์‚ฌ๋žŒ์ด ๋จผ์ € ํ‹ฐ์ผ“์„ ์‚ฌ๊ณ  ๋‚˜๊ฐ€๋Š” ๊ฒƒ ์ฒ˜๋Ÿผ ์„ ์ž…์„ ์ถœ(First In First Out, FIFO) ๊ตฌ์กฐ๋กœ ๊ฐ€์žฅ ๋จผ์ € ๋“ค์–ด์˜จ ๋ฐ์ดํ„ฐ๊ฐ€ ๊ฐ€์žฅ ๋จผ์ € ๋ฆฌํ„ด, ์ถœ๋ ฅ๋œ๋‹ค๋Š” ๋œป์ด๋‹ค.

 

๐Ÿ“Œ ํ์˜ ์šฉ๋„

- ํ”„๋กœ์„ธ์Šค ๊ด€๋ฆฌ

- ์œˆ๋„์šฐ ์‹œ์Šคํ…œ ๋ฉ”์„ธ์ง€ ์ฒ˜๋ฆฌ๊ธฐ

- ์บ์‹œ

- ๋„ˆ๋น„ ์šฐ์„  ํƒ์ƒ‰

 

5. Tree(ํŠธ๋ฆฌ)

  • ํŠธ๋ฆฌ(Tree : ๋‚˜๋ฌด)๋Š” ๋…ธ๋“œ๋“ค์ด ๋‚˜๋ฌด ๊ฐ€์ง€์ฒ˜๋Ÿผ ๊ณ„์ธต์ ์œผ๋กœ ์—ฐ๊ฒฐ๋œ ๋น„์„ ํ˜• ์ž๋ฃŒ๊ตฌ์กฐ์ด๋‹ค.
  • ์ตœ์ƒ์œ„ ๋…ธ๋“œ(๋ฃจํŠธ)๊ฐ€ ์žˆ๊ณ  ์ตœ์ƒ์œ„ ๋…ธ๋“œ ์•„๋ž˜์— ๋‹ค๋ฅธ ํ•˜์œ„ ๋…ธ๋“œ๊ฐ€ ์žˆ๊ณ  ๊ทธ ํ•˜์œ„ ๋…ธ๋“œ ์•ˆ์—๋Š” ๋˜ ๋‹ค๋ฅธ ํ•˜์œ„ ๋…ธ๋“œ๊ฐ€ ์žˆ๋Š” ๋ถ€๋ชจ(parent)์™€ ์ž์‹(child) ํ˜•ํƒœ์ด๋‹ค.
  • ex) C:\Program Files\League of Legends → ์ตœ์ƒ์œ„ ๋…ธ๋“œ(C:\)์•„๋ž˜ ํ•˜์œ„ ๋…ธ๋“œ(Program Files) ์•„๋ž˜ ๋˜ ๋‹ค๋ฅธ ํ•˜์œ„ ๋…ธ๋“œ(League of Legends)

 

๐Ÿ“Œ ํŠธ๋ฆฌ์˜ ์šฉ๋„

- ์ปดํ“จํ„ฐ์˜ ๋””๋ ‰ํ„ฐ๋ฆฌ ๊ตฌ์กฐ

- ์กฐ์ง๋„

 

6. Heap(ํž™)

https://tildacoderecorder.tistory.com/106

  • ํž™(Heap : ๋”๋ฏธ)์€ ์™„์ „ ์ด์ง„ ํŠธ๋ฆฌ์˜ ํ˜•ํƒœ๋กœ ๋งŒ๋“ค์–ด์ง„ ์ž๋ฃŒ๊ตฌ์กฐ์ด๋‹ค.
  • ์ตœ๋Œ€ ํž™(max heap) : ๋ถ€๋ชจ ๋…ธ๋“œ์˜ ํ‚ค ๊ฐ’์ด ์ž์‹ ๋…ธ๋“œ์˜ ํ‚ค ๊ฐ’๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™์€ ์™„์ „ ์ด์ง„ ํŠธ๋ฆฌ
  • ์ตœ์†Œ ํž™(min heap) : ๋ถ€๋ชจ ๋…ธ๋“œ์˜ ํ‚ค ๊ฐ’์ด ์ž์‹ ๋…ธ๋“œ์˜ ํ‚ค ๊ฐ’๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์™„์ „ ์ด์ง„ ํŠธ๋ฆฌ

 

๐Ÿ“Œ ํž™์˜ ์šฉ๋„

- ์ตœ๋Œ“๊ฐ’ ํ˜น์€ ์ตœ์†Ÿ๊ฐ’์„ ๋น ๋ฅด๊ฒŒ ์ฐพ์•„๋‚ด๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ (์šฐ์„ ์ˆœ์œ„ ํ, ํž™ ์ •๋ ฌ)

 

7. Hash Table(ํ•ด์‹œ ํ…Œ์ด๋ธ”)

https://bnzn2426.tistory.com/115

  • ํ•ด์‹œํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ณ€ํ™˜ํ•œ ๊ฐ’์„ ์ƒ‰์ธ(index)์œผ๋กœ ์‚ผ์•„ ํ‚ค(key)์™€ ๋ฐ์ดํ„ฐ(value)๋ฅผ ์ €์žฅํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ
  • ๋ฐ์ดํ„ฐ์˜ ํฌ๊ธฐ์— ๊ด€๊ณ„์—†์ด ์‚ฝ์ž… ๋ฐ ๊ฒ€์ƒ‰์— ๋งค์šฐ ํšจ์œจ์ 

 

๐Ÿ“Œ ํ•ด์‹œ ํ…Œ์ด๋ธ” ์šฉ๋„

- ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ธ๋ฑ์Šค ๊ตฌํ˜„

- ์‚ฌ์šฉ์ž ๋กœ๊ทธ์ธ ์ธ์ฆ

 

8. Graph(๊ทธ๋ž˜ํ”„)

https://bnzn2426.tistory.com/115

  • ๊ทธ๋ž˜ํ”„๋Š” ์ •์ (Vertex)๊ณผ ๊ฐ„์„ (edge)์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ์ž๋ฃŒ๊ตฌ์กฐ์ด๋‹ค. ์ •ํ™•ํžˆ๋Š” ์ •์ ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ์กฐ์ง๋„์ด๋‹ค.
  • ๊ทธ๋ž˜ํ”„๋Š” ์ •์ ๋งˆ๋‹ค ๊ฐ„์„ ์ด ์—†์„์ˆ˜๋„ ์žˆ๊ณ  ์žˆ์„์ˆ˜๋„ ์žˆ์œผ๋ฉฐ ๋ฃจํŠธ ๋…ธ๋“œ, ๋ถ€๋ชจ์™€ ์ž์‹์ด๋ผ๋Š” ๊ฐœ๋…์ด ์กด์žฌํ•˜์ง€ ์•Š๋Š” ๋ถ€๋ถ„์—์„œ ํŠธ๋ฆฌ์™€ ๋‹ค๋ฅด๋‹ค.
  • ์ •์ (Vertex) : ๋…ธ๋“œ(node)๋ผ๊ณ ๋„ ํ•˜๋ฉฐ ์ •์ ์—๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋œ๋‹ค. (0, 1, 2, 3)
  • ๊ฐ„์„ (edge) : ๋งํฌ(arcs)๋ผ๊ณ ๋„ ํ•˜๋ฉฐ ๋…ธ๋“œ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.

 

๐Ÿ“Œ ๊ทธ๋ž˜ํ”„์˜ ์šฉ๋„

- GPS์—์„œ ์œ„์น˜์™€ ๊ฒฝ๋กœ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐ ์‚ฌ์šฉ

- ๊ฒ€์ƒ‰ ์—”์ง„์— ์˜ํ•ด ์›น ํŽ˜์ด์ง€ ๋ฐ ๋งํฌ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐ ์‚ฌ์šฉ

 

References

๐Ÿ“„ https://luv-n-interest.tistory.com/161

๐Ÿ“„ https://ontheway.tistory.com/23

๐Ÿ“„ https://bnzn2426.tistory.com/115

๐Ÿ“„ https://code-lab1.tistory.com/2

๐Ÿ“„ https://bnzn2426.tistory.com/115

๐Ÿ“„ https://bite-sized-learning.tistory.com/239

๐Ÿ“„ https://coding-factory.tistory.com/610

๐Ÿ“„ https://gmlwjd9405.github.io/2018/05/10/data-structure-heap.html

728x90

๋Œ“๊ธ€