๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋ก๐Ÿ’ป Basic Programing/์ž๋ฃŒ๊ตฌ์กฐ (2)

0105

[์ž๋ฃŒ๊ตฌ์กฐ] HashSet vs Stack : ์ค‘๋ณต์ œ๊ฑฐ

โœ… Stack vs HashSet ๋น„๊ต StackHash์ž๋ฃŒ๊ตฌ์กฐ ์œ ํ˜•์„ ํ˜• ๊ตฌ์กฐ (LIFO: ํ›„์ž…์„ ์ถœ)์ง‘ํ•ฉ (์ˆœ์„œ ์—†์Œ, ์ค‘๋ณต ํ—ˆ์šฉ X)์ €์žฅ ์ˆœ์„œ ์œ ์ง€O (๋“ค์–ด๊ฐ„ ์ˆœ์„œ๋Œ€๋กœ ์œ ์ง€)X (์ˆœ์„œ๋ฅผ ๋ณด์žฅํ•˜์ง€ ์•Š์Œ)์ค‘๋ณต ํ—ˆ์šฉ ์—ฌ๋ถ€O (์ค‘๋ณต๋œ ๊ฐ’ ์ €์žฅ ๊ฐ€๋Šฅ)X (์ค‘๋ณต๋œ ๊ฐ’ ์ €์žฅ ๋ถˆ๊ฐ€๋Šฅ)ํƒ์ƒ‰ ์†๋„๋А๋ฆผ (๋งจ ์œ„ ์š”์†Œ๋งŒ ๋น ๋ฅด๊ฒŒ ์ ‘๊ทผ)๋น ๋ฆ„ (O(1), ํ•ด์‹œ ๊ธฐ๋ฐ˜)์ฃผ์š” ๋ฉ”์„œ๋“œpush(), pop(), peek()add(), remove(), contains()์‚ฌ์šฉ ์˜ˆ์‹œDFS ํƒ์ƒ‰, ๊ด„ํ˜ธ ๊ฒ€์‚ฌ, ์—ฐ์†๋œ ์ค‘๋ณต ์ œ๊ฑฐ ๋ฌธ์ œ์ค‘๋ณต ์ œ๊ฑฐ, ๋น ๋ฅธ ๊ฒ€์ƒ‰, ์œ ์ผํ•œ ์š”์†Œ ์ €์žฅ1. HashSet๊ณผ Stack ๊ฐœ๋… ์ •๋ฆฌโœ… HashSet์ด๋ž€?HashSet์€ ์ค‘๋ณต์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š” ์ž๋ฃŒ๊ตฌ์กฐ๋กœ, ์ˆœ์„œ๋ฅผ ๋ณด์žฅํ•˜์ง€ ์•Š์œผ๋ฉฐ, ๋น ๋ฅธ ๊ฒ€์ƒ‰ ๋ฐ ์ถ”๊ฐ€, ์‚ญ์ œ ์—ฐ์‚ฐ์ด ๊ฐ€..

[์ž๋ฃŒ๊ตฌ์กฐ] ์Šคํƒ(STACK)

โœ… ์Šคํƒ(STACK)โœ”๏ธ ์Šคํƒ์€ ์ถ”๊ฐ€๋œ ์š”์†Œ๋ฅผ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ฉ”๋ชจ๋ฆฌ์˜ ๊ฐ€์žฅ ์•ž ์ฃผ์†Œ์— ๋ฐฐ์น˜ํ•˜๋Š” ์„ ํ˜• ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์˜ ํ•œ ์ข…๋ฅ˜์ด๋‹ค.โœ”๏ธ ๋™์ž‘์€ ๊ฐ™๋”๋ผ๋„ ์‚ฌ์šฉ๋˜๋Š” ๊ธฐ์ˆ ์ด๋‚˜ ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์›ํ•˜๋Š” ์Šคํƒ ์ข…๋ฅ˜์— ๋”ฐ๋ผ ๋‹ค์–‘ํ•œ ๋ฐฉ์‹์œผ๋กœ ๊ตฌํ˜„ ๊ฐ€๋Šฅ๐ŸŒŽ Pushโœ”๏ธ ์Šคํƒ์— ์š”์†Œ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๋™์ž‘์„ ํ‘ธ์‹œ๋ผ๊ณ  ํ•œ๋‹ค. ๐ŸŒŽ Popโœ”๏ธ ์Šคํƒ์—์„œ ์š”์†Œ๋ฅผ ์‚ญ์ œํ•  ๋•Œ๋Š” ๋งˆ์ง€๋ง‰์œผ๋กœ ์ถ”๊ฐ€๋œ ์š”์†Œ๋ฅผ ๋จผ์ € ์‚ญ์ œํ•˜๋Š” ๋™์ž‘์„ ํŒ์ด๋ผ๊ณ  ํ•œ๋‹ค.โœ”๏ธ ์Šคํƒ์— ๋งˆ์ง€๋ง‰์œผ๋กœ ์ถ”๊ฐ€๋œ ์š”์†Œ๋ฅผ ๋จผ์ € ์‚ญ์ œํ•˜๋Š” ์Šคํƒ๊ตฌ์กฐ๋ฅผ ํ›„์ž…์„ ์ถœ(Last In First Out) ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ผ๊ณ  ํ•œ๋‹ค โœ… ์Šคํƒ(STACK)์˜ ์žฅ๋‹จ์ โœ”๏ธ์Šคํƒ์˜ ๊ฐœ๋… - >์‹œ๊ฐํ™” ๊ฐ€๋Šฅโœ”๏ธ ์Šคํƒ์˜ ์ตœ์ƒ๋‹จ์—์„œ๋งŒ ๋ฐ์ดํ„ฐ ์š”์†Œ๋ฅผ ์‚ญ์ œ ๋ฐ ์ถ”๊ฐ€ ํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ ์ด๋Š” ์Šคํƒ์—์„œ ํŠน์ • ์š”์†Œ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋Š” ์†๋„๋ฅผ ์ œํ•œํ•œ๋‹ค. โœ”๏ธ ..