๊ฐœ๋ฐœ์ž HOON
๐Ÿ› HOON DEVLog
๊ฐœ๋ฐœ์ž HOON
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๐Ÿ˜Ž ์ „์ฒด ์นดํ…Œ๊ณ ๋ฆฌ (137)
    • ๐Ÿ“ ์‹ ์ž… ์ธํ„ฐ๋ทฐ ์ค€๋น„ (7)
    • ๐Ÿฆ” ์ทจ์—…์ค€๋น„ ๊ธฐ๋ก (7)
    • โ˜• ์ž๋ฐ” : JAVA (5)
    • ๐Ÿ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๋Œ€๋น„ : PS (80)
    • ๐ŸŒฑ ๋ฐฑ์—”๋“œ : Backend (13)
    • ๐Ÿงช ์ปดํ“จํ„ฐ๊ณผํ•™ : CS (11)
    • ๐Ÿ—‚ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค : DB (1)
    • ๐Ÿƒ‍โ™‚๏ธ DEVLOG (8)
    • โš™๏ธ Trouble Shooting (5)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ
  • GitHub
  • Resume

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

hELLO ยท Designed By ์ •์ƒ์šฐ.
๊ฐœ๋ฐœ์ž HOON

๐Ÿ› HOON DEVLog

[์ž๋ฃŒ๊ตฌ์กฐ] Stack๊ณผ Queue์˜ ๋น„๊ต (์ธํ„ฐ๋ทฐ ๋Œ€๋น„)
๐Ÿงช ์ปดํ“จํ„ฐ๊ณผํ•™ : CS

[์ž๋ฃŒ๊ตฌ์กฐ] Stack๊ณผ Queue์˜ ๋น„๊ต (์ธํ„ฐ๋ทฐ ๋Œ€๋น„)

2022. 10. 23. 16:09

 

๐Ÿ’ก 1. Stack(์Šคํƒ)์ด๋ž€?

 

https://velog.io/@humblechoi/%EC%9E%90%EB%A3%8C%EA%B5%AC%EC%A1%B0-Stack-Queue

 

1. ์Šคํƒ : Stack์€ ๋จผ์ € ๋“ค์–ด๊ฐ„ ์š”์†Œ๊ฐ€ ๊ฐ€์žฅ ๋‚˜์ค‘์— ๋‚˜์˜ค๊ฒŒ ๋˜๋Š” ์„ ์ž…ํ›„์ถœ(LIFO, Last In First Out)์˜ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง„ ์„ ํ˜• ์ž๋ฃŒ๊ตฌ์กฐ์ด๋‹ค.

 

2. ๊ตฌํ˜„ : Stack์„ ๊ตฌํ˜„ํ•  ๋•Œ๋Š”, ์›์†Œ๋ฅผ ์ œ๊ฑฐํ•ด์•ผ ํ•˜๋Š” ArrayList๋ณด๋‹ค๋Š” index๋ฅผ ์กฐ์ •ํ•˜๊ณ , ์ดˆ๊ธฐํ™” ํ•˜๋Š” ๋ฐฉ์‹๊ณผ ํ•จ๊ป˜ Array๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์œ ๋ฆฌํ•˜๋‹ค.

 

3. ์ฃผ์š” ์—ฐ์‚ฐ : 

1. push(์‚ฝ์ž…) : Stack์— ์ƒˆ๋กœ์šด item์„ ์ถ”๊ฐ€ํ•œ๋‹ค.
2. pop(์‚ญ์ œ) : ๊ฐ€์žฅ ์œ„์— ์žˆ๋Š” ์š”์†Œ๋ฅผ returnํ•˜๊ณ , Stack์—์„œ ํ•ด๋‹น ์š”์†Œ๋ฅผ ์ œ๊ฑฐํ•œ๋‹ค.
3. peek(์ตœ์ƒ๋‹จ ์•„์ดํ…œ ๋ฐ˜ํ™˜) : ๊ฐ€์žฅ ์œ„์— ์žˆ๋Š” ์š”์†Œ๋ฅผ return ํ•œ๋‹ค. pop๊ณผ๋Š” ๋‹ค๋ฅด๊ฒŒ ์Šคํƒ์—์„œ ํ•ด๋‹น ์š”์†Œ๋ฅผ ์ œ๊ฑฐํ•˜์ง€ ์•Š๋Š”๋‹ค.
+ top : ๊ฐ€์žฅ ์œ„์— ์žˆ๋Š” item์˜ ์ธ๋ฑ์Šค๋ฅผ ๋‚˜ํƒ€๋‚ธ Stack Class์˜ ๋ฉค๋ฒ„ ๋ณ€์ˆ˜์ด๋‹ค. isEmpty(), isFull(), peek() ๋“ฑ์„ ๊ตฌํ˜„ํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

 

4. ์Šคํƒ์˜ ์‚ฌ์šฉ ์šฉ๋„ : DFS(๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰) ์•Œ๊ณ ๋ฆฌ์ฆ˜, ๋ฌธ์ž์—ด ๋’ค์ง‘๊ธฐ ๋“ฑ์„ ๊ตฌํ˜„ํ•  ๋•Œ Stack ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

 

5. ์Šคํƒ์ด ์‹ค์ œ๋กœ ์‚ฌ์šฉ๋œ ๊ณณ : ๋ธŒ๋ผ์šฐ์ €์˜ '๋’ค๋กœ๊ฐ€๊ธฐ', ctrl + z ๋˜๋Œ๋ฆฌ๊ธฐ ์—ฐ์‚ฐ, Stack ๋ฉ”๋ชจ๋ฆฌ ๋“ฑ

 

๐Ÿ’ก 2. Queue(ํ)๋ž€?

 

https://velog.io/@humblechoi/%EC%9E%90%EB%A3%8C%EA%B5%AC%EC%A1%B0-Stack-Queue

 

1. ํ : Queue๋Š” ๋จผ์ € ๋“ค์–ด๊ฐ„ ์š”์†Œ๊ฐ€ ๊ฐ€์žฅ ๋‚˜์ค‘์— ๋‚˜์˜ค๊ฒŒ ๋˜๋Š” ์„ ์ž…์„ ์ถœ(FIFO, First In First Out)์˜ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง„ ์„ ํ˜• ์ž๋ฃŒ๊ตฌ์กฐ์ด๋‹ค.

 

2. ๊ตฌํ˜„ : Queue๋ฅผ ๊ตฌํ˜„ํ•  ๋•Œ๋Š”, item์ด ์‚ญ์ œ๋œ ํ›„ ์•ž์œผ๋กœ ๋ชจ๋“  ์›์†Œ๋ฅผ ์•ž๋‹น๊ฒจ์•ผ ํ•˜๋Š” Array๋ณด๋‹ค๋Š”, ๋‹จ์ˆœํžˆ ์—ฐ๊ฒฐ์„ ๋Š์–ด ๊ฐ์ฒด 1๊ฐœ๋งŒ ์ œ๊ฑฐํ•˜๋ฉด ๋˜๋Š” ArrayList๋กœ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์ด ๋” ์ข‹๋‹ค. 

 

3. ์ฃผ์š” ์—ฐ์‚ฐ : 

1. enqueue (์‚ฝ์ž…) : Queue์— ์ƒˆ๋กœ์šด item์„ ์‚ฝ์ž…ํ•œ๋‹ค.
2. dequeue (์‚ญ์ œ) : Queue์˜ ๊ฐ€์žฅ ์•ž์— ์žˆ๋Š” item์„ ํ์—์„œ ์‚ญ์ œํ•˜๊ณ  returnํ•œ๋‹ค.

 

4. ํ์˜ ์‚ฌ์šฉ ์šฉ๋„ : BFS(๋„ˆ๋น„ ์šฐ์„  ํƒ์ƒ‰) ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋“ฑ

 

5. ํ๊ฐ€ ์‹ค์ œ๋กœ ์‚ฌ์šฉ๋œ ๊ณณ : ๋ฒ„ํผ, ํ”„๋ฆฐํ„ฐ ํ, CPU ์Šค์ผ€์ค„๋ง Ready ํ ๋“ฑ

 

 

๐Ÿ˜Ž ์ถœ์ฒ˜

[๋งํฌ] https://velog.io/@humblechoi/%EC%9E%90%EB%A3%8C%EA%B5%AC%EC%A1%B0-Stack-Queue ([์ž๋ฃŒ๊ตฌ์กฐ] Stack & Queue)

 

์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋™์ผ์กฐ๊ฑด (์ƒˆ์ฐฝ์—ด๋ฆผ)

'๐Ÿงช ์ปดํ“จํ„ฐ๊ณผํ•™ : CS' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[๋””์ž์ธํŒจํ„ด] ๋””์ž์ธ ํŒจํ„ด(1) - ๋””์ž์ธ ํŒจํ„ด์€ ๋ฌด์—‡์ธ๊ฐ€?  (0) 2022.12.27
[์ž๋ฃŒ๊ตฌ์กฐ] Priority Queue (์šฐ์„ ์ˆœ์œ„ ํ) ์ธํ„ฐ๋ทฐ ๋Œ€๋น„  (0) 2022.10.23
[์ž๋ฃŒ๊ตฌ์กฐ] Array์™€ LinkedList์˜ ์ฐจ์ด (์ธํ„ฐ๋ทฐ ๋Œ€๋น„)  (0) 2022.10.23
[๊ฐœ๋ฐœ๊ณตํ†ต] Call by value์™€ Call by reference (Java, Python, C/C++)  (0) 2022.10.11
[Algorithm] ํž™ ์ •๋ ฌ (Heap Sort)  (0) 2022.09.03
    '๐Ÿงช ์ปดํ“จํ„ฐ๊ณผํ•™ : CS' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [๋””์ž์ธํŒจํ„ด] ๋””์ž์ธ ํŒจํ„ด(1) - ๋””์ž์ธ ํŒจํ„ด์€ ๋ฌด์—‡์ธ๊ฐ€?
    • [์ž๋ฃŒ๊ตฌ์กฐ] Priority Queue (์šฐ์„ ์ˆœ์œ„ ํ) ์ธํ„ฐ๋ทฐ ๋Œ€๋น„
    • [์ž๋ฃŒ๊ตฌ์กฐ] Array์™€ LinkedList์˜ ์ฐจ์ด (์ธํ„ฐ๋ทฐ ๋Œ€๋น„)
    • [๊ฐœ๋ฐœ๊ณตํ†ต] Call by value์™€ Call by reference (Java, Python, C/C++)
    ๊ฐœ๋ฐœ์ž HOON
    ๊ฐœ๋ฐœ์ž HOON
    ์ข‹์€ ๋ฐฑ์—”๋“œ ์—”์ง€๋‹ˆ์–ด๊ฐ€ ๋˜๊ธฐ ์œ„ํ•œ ๊ธฐ๋ก์„ ๋ชจ์•˜์Šต๋‹ˆ๋‹ค. # ์ฃผ๋‹ˆ์–ด # ๋ฐฑ์—”๋“œ # ๊ฐœ๋ฐœ์ž

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”