Python 14

[python] ํŒŒ์ด์ฌ ํŠน์ง•๊ณผ ์žฅ์ 

1. ์ธํ„ฐํ”„๋ฆฌํ„ฐ ์–ธ์–ด์ด๋‹ค. - ์ธํ„ฐํ”„๋ฆฌํ„ฐ๋Š” ์ปดํŒŒ์ผ๊ณผ ๋Œ€๋น„๋˜๋Š” ๊ฐœ๋…์œผ๋กœ, ์ฝ”๋“œ ํŒŒ์ผ(.py)๋ฅผ ์ปดํ“จํ„ฐ์— ์ž‘๋™ํ•˜๊ฒŒ๋” ๋„ฃ์„ ๋•Œ ์ปดํ“จํ„ฐ ์–ธ์–ด์ธ 0๊ณผ 1๋กœ ๋ณ€ํ™˜ํ•ด์•ผํ•œ๋‹ค. ์ด ๊ณผ์ •์—์„œ ์“ฐ๋Š” ๋‘๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์ปดํŒŒ์ผ๊ณผ ์ธํ„ฐํ”„๋ฆฌํ„ฐ์ด๋‹ค. ๋Œ€ํ‘œ์ ์ธ ์ปดํŒŒ์ผ ์–ธ์–ด๋Š” C์ด๊ณ , ์ธํ„ฐํ”„๋ฆฌํ„ฐ์–ธ์–ด๋Š” python, js ๋“ฑ์ด ์žˆ๋‹ค. ์ปดํŒŒ์ผ ์–ธ์–ด๋Š” ๊ณ ๋Œ€๋กœ ์“ฐ๋ฉด ๋˜์ง€๋งŒ, ์ธํ„ฐํ”„๋ฆฌํ„ฐ์–ธ์–ด๋Š” ์ฝ”๋“œ์™€ ์ธํ„ฐํ”„๋ฆฌํ„ฐ๊ฐ€ ์žˆ์–ด์•ผ ํ•œ๋‹ค. 2. ์™„์ „ ๊ฐ์ฒด ์ง€ํ–ฅ ์–ธ์–ด์ด๋‹ค. int,, float,,, ๋“ฑ๋“ฑ ๋ชจ๋‘๊ฐ€ ๊ฐ์ฒด์ด๋‹ค. 3. ๋™์  ํƒ€์ดํ•‘ ์–ธ์–ด์ด๋‹ค. - ์ž๋ฐ”์˜ ๊ฒฝ์šฐ ๋ณ€์ˆ˜๋งˆ๋‹ค ์ž๋ฃŒํ˜•์„ ๋ช…์‹œํ•ด์•ผํ•˜์ง€๋งŒ, ํŒŒ์ด์ฌ์€ a=3์ด๋ผ๊ณ  ์ž…๋ ฅํ•ด๋„ ์ž๋™์œผ๋กœ int๋กœ ์ธ์‹ํ•œ๋‹ค. 4. ์‰ฌ์šด ๋ฌธ๋ฒ•๊ณผ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. 5. ๋‹ค์–‘ํ•œ ๊ณณ์—์„œ ๋„๋ฆฌ ์“ฐ์ธ๋‹ค. 6. ๋ฐ์ดํ„ฐ ๊ฐ€๊ณต์—์„œ ๋‘๊ฐ์„..

ํž™ heap, max heap, min heap ๊ฐœ๋…

ํž™์€ ์ด์ง„ํŠธ๋ฆฌ์˜ ํ•œ ์ข…๋ฅ˜๋กœ, ๊ฐ’์ด ์ตœ๋Œ€ ํ˜น์€ ์ตœ์†Œ ๋…ธ๋“œ์— ๋น ๋ฅด๊ฒŒ ์ ‘๊ทผํ•ด์•ผ ํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. ํž™ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์„ค๊ณ„ํ•˜๋Š” ๋ฐฉ๋ฒ•์—๋Š” 2๊ฐ€์ง€, max heap(์ตœ๋Œ€ํž™)๊ณผ min heap(์ตœ์†Œ ํž™)์ด ์žˆ๋‹ค. ์ตœ๋Œ€ํž™์€ ๋ฃจํŠธ ๋…ธ๋“œ๊ฐ€ ํž™์—์„œ ๊ฐ€์žฅ ํฌ๊ณ , ๋…ธ๋“œ์˜ ๊ฐ ๊ฐ’์€ ๋ถ€๋ชจ๋…ธ๋“œ๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™๋‹ค ์ตœ์†Œํž™์€ ๋ฃจํŠธ ๋…ธ๋“œ๊ฐ€ ํž™์—์„œ ๊ฐ€์žฅ ์ž‘๊ณ , ๋…ธ๋“œ์˜ ๊ฐ ๊ฐ’์€ ๋ถ€๋ชจ๋…ธ๋“œ๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๋‹ค

์ด์ง„ํƒ์ƒ‰ํŠธ๋ฆฌ

์ด์ง„ํŠธ๋ฆฌ - ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ, ๊ฐ ๋ถ€๋ชจ๋…ธ๋“œ๊ฐ€ ํ•ญ์ƒ ์ตœ๋Œ€ 2๊ฐœ์˜ ์ž์‹๋…ธ๋“œ์™€ ๋ถ™์–ด ์žˆ์Œ ์ด์ง„ ํƒ์ƒ‰ ํŠธ๋ฆฌ : ์ด์ง„ ํŠธ๋ฆฌ์˜ ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ธ ์œ ํ˜•, ๋…ธ๋“œ์˜ key ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌํ•œ ์ƒํƒœ - ์ •๋ ฌ ๊ธฐ์ค€ 1. ๋…ธ๋“œ์˜ ์™ผ์ชฝ ์„œ๋ธŒํŠธ๋ฆฌ์—๋Š” ๋…ธ๋“œ์˜ ํ‚ค๋ณด๋‹ค ์ž‘์€ ํ‚ค๋ฅผ ๊ฐ€์ง„ ๋…ธ๋“œ๋งŒ! 2. ๋…ธ๋“œ์˜ ์˜ค๋ฅธ์ชฝ ์„œ๋ธŒํŠธ๋ฆฌ๋Š” ๋…ธ๋“œ์˜ ํ‚ค๋ณด๋‹ค ํฐ ํ‚ค๋ฅผ ๊ฐ€์ง„ ๋…ธ๋“œ๋งŒ! 3. ์ขŒ์šฐ ์„œ๋ธŒ ํŠธ๋ฆฌ๋„ ๊ฐ๊ฐ ์ด์ง„ ํƒ์ƒ‰ ํŠธ๋ฆฌ 4. ๊ฐ ๋…ธ๋“œ์— ์ค‘๋ณต ํ‚ค(key)๋Š” ์—†์Œ! ๊ทธ๋ž˜์„œ.. ๊ฐ€์žฅ ํฐ ํ‚ค๋ฅผ ๊ฐ€์ง„ ๋…ธ๋“œ๋Š” ๊ฐ€์žฅ ์˜ค๋ฅธ์ชฝ ์„œ๋ธŒํŠธ๋ฆฌ ๋ง๋‹จ(80) ๊ฐ€์žฅ ์ž‘์€ ํ‚ค๋ฅผ ๊ฐ€์ง„ ๋…ธ๋“œ๋Š” ๊ฐ€์žฅ ์™ผ์ชฝ ์„œ๋ธŒํŠธ๋ฆฌ ๋ง๋‹จ(1) ์ด์ง„ํƒ์ƒ‰ํŠธ๋ฆฌ๋กœ ํ•  ์ˆ˜ ์žˆ๋Š” ๋™์ž‘์€ 1. ํŠธ๋ฆฌ์— ๋…ธ๋“œ ์ถ”๊ฐ€ 2. ๋…ธ๋“œ ์‚ญ์ œ 3. ๋…ธํŠธ ์„ ํƒํ•ด ํƒ์ƒ‰ํ•˜๋Š” ํ‚ค๊ฐ€ ์กด์žฌํ•˜๋Š”์ง€ ํ™•์ธ

์„ ํ˜• ์ž๋ฃŒ๊ตฌ์กฐ์™€ ๋น„์„ ํ˜• ์ž๋ฃŒ๊ตฌ์กฐ์˜ ์ฐจ์ด (Linear, NonLinear data structure)

์ž๋ฃŒ๊ตฌ์กฐ๋Š” ์„ ํ˜• ์ž๋ฃŒ๊ตฌ์กฐ์™€ ๋น„์„ ํ˜• ์ž๋ฃŒ๊ตฌ์กฐ๋กœ ๋‚˜๋‰œ๋‹ค. ์„ ํ˜•์ž๋ฃŒ๊ตฌ์กฐ์™€ ๋น„์„ ํ˜• ์ž๋ฃŒ๊ตฌ์กฐ๋Š” ๋ฌด์—‡์ผ๊นŒ? ์„ ํ˜• ์ž๋ฃŒ๊ตฌ์กฐ๋ž€ ํ•˜๋‚˜์˜ ์ž๋ฃŒ ๋’ค์— ํ•˜๋‚˜์˜ ์ž๋ฃŒ๊ฐ€ ์กด์žฌ,์ฆ‰ ์ˆœ์ฐจ์ ์œผ๋กœ ์ด์–ด์ง„ ํ˜•ํƒœ๋ฅผ ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค. 1:1์˜ ์„ ํ˜•๊ด€๊ณ„๋ฅผ ์ด๋ฃจ๊ณ  ์žˆ๋‹ค ๋น„์„ ํ˜• ์ž๋ฃŒ๊ตฌ์กฐ๋ž€ ํ•˜๋‚˜/์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ž๋ฃŒ ๋’ค์— ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ž๋ฃŒ๊ฐ€ ์กด์žฌํ•˜๋Š” ํ˜•ํƒœ๋กœ, 1:n, ๋˜๋Š” n:n ์˜ ๊ด€๊ณ„๋ฅผ ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค.(์ฃผ๋กœ ๊ณ„์ธต ํ˜•ํƒœ)