[ํ›„์œ„ํ‘œ๊ธฐ๋ฒ•] ํ›„์œ„ํ‘œ๊ธฐ์‹์œผ๋กœ ๊ณ„์‚ฐ๊ธฐ ๋งŒ๋“ค๊ธฐ (html, js ์ด์šฉ) :: ๊ฐœ๋…์—์„œ ๊ตฌํ˜„๊นŒ์ง€
์ปดํ“จํ„ฐ๊ณผํ•™ (CS)/๊ธฐ์ดˆ 2020. 12. 21. 00:00

ํ›„์œ„ํ‘œ๊ธฐ๋ฒ•์œผ๋กœ ๊ณ„์‚ฐ๊ธฐ ๋งŒ๋“ค๊ธฐ ๊ณ„์‚ฐ๊ธฐ ๊ด€๋ จ ์™ธ์ฃผ๊ฐ€ ๋“ค์–ด์™€์„œ ํ•ด๋ณด๋˜ ์ค‘, ์˜ˆ์ „์— ๋ฐฐ์› ๋˜ ํ›„์œ„ํ‘œ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•ด์•ผํ–ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ๊ธฐ์–ต์ด ์•ˆ๋‚˜์„œ ๊ฒ€์ƒ‰ ์—†์ด ํ˜ผ์ž ๊ตฌํ˜„ํ•˜๋ ค๋‹ค ๋ณด๋‹ˆ ๋„ˆ๋ฌด ์–ด๋ ค์› ๋‹ค... ๊ฒ€์ƒ‰ํ•ด๋ณด๋‹ˆ๊นŒ stack์„ ์ด์šฉํ•ด์„œ ํ›„์œ„ํ‘œ๊ธฐ๋ฒ•์„ ๋งŒ๋“œ๋Š” ๊ฐ„๋‹จํ•œ ๋ฐฉ๋ฒ•์ด ๋‚˜์™€์žˆ์–ด์„œ ๊นŒ๋จน์ง€ ์•Š๊ธฐ ์œ„ํ•ด ๊ธฐ๋กํ•œ๋‹ค. ํ›„์œ„ ํ‘œ๊ธฐ๋ฒ• ์ˆ˜์‹ ํŠธ๋ฆฌ ํ›„์œ„ ํ‘œ๊ธฐ๋ฒ•์ด๋ž€ ๊ณ„์‚ฐ์‹์—์„œ ๊ณ„์‚ฐ์„ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ํ‘œ๊ธฐ๋ฒ•์ด๋‹ค. ์˜ˆ์ œ์™€ ํ•จ๊ป˜ ์‚ดํŽด๋ณด์ž. ์ˆ˜์‹ : 9x3+1-3%3 ์ˆ˜์‹์ด ์ฃผ์–ด์กŒ์„ ๋•Œ ๋น„์—ฐ์‚ฐ์ž์™€ ์—ฐ์‚ฐ์ž๋กœ ๋‚˜๋ˆˆ ํ›„, ๊ฐ ํ•ญ๋ชฉ์„ ํ•˜๋‚˜์˜ ๋…ธ๋“œ๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ํŠธ๋ฆฌ ํ˜•ํƒœ๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. ์ด๋Ÿฌํ•œ ํŠธ๋ฆฌ๋Š” ์ˆ˜์‹์„ ํŠธ๋ฆฌ๋ผ๋Š” ์ž๋ฃŒ๊ตฌ์กฐ๋กœ ๋งŒ๋“  ๊ฒƒ์ด๋‹ˆ ์ˆ˜์‹ํŠธ๋ฆฌ, ์ฆ‰ Expression Tree๋ผ๊ณ  ๋ถˆ๋ฆฐ๋‹ค. ํŠธ๋ฆฌ ์ˆœํšŒ์™€ ํ‘œ๊ธฐ๋ฒ• ํŠธ๋ฆฌ๋ฅผ ์ˆœํšŒํ•˜๋Š” ๋ฐฉ์‹์—๋Š” prefix(์ „์œ„)..

[c++] ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ฐœ๋…๊ณต๋ถ€ :: ์ž๋ฃŒ๊ตฌ์กฐ - ํž™
์ปดํ“จํ„ฐ๊ณผํ•™ (CS)/Algorithm 2020. 7. 28. 14:21

ํž™ ์šฉ๋„ ๊ตฌํ˜„ ์ข…๋ฅ˜ ์—ฐ์‚ฐ ์ •๋ ฌ ํž™ ํž™์€ ์ถ”์ƒ์  ์ž๋ฃŒํ˜•์ธ ์šฐ์„ ์ˆœ์œ„ ํ๋ฅผ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋งŒ๋“ค์–ด์ง„ ์ž๋ฃŒ๊ตฌ์กฐ์ด๋‹ค. partial-ordering (๋ถ€๋ถ„ ์ •๋ ฌ)์„ ๋งŒ์กฑํ•˜๋Š” left-complete binary tree (์ขŒ์ธก ์™„์ „ ์ด์ง„ ํŠธ๋ฆฌ) ์ด๋‹ค. ๋ถ€๋ถ„ ์ •๋ ฌ์„ ๋งŒ์กฑํ•œ๋‹ค๋Š” ๋ง์€ '๋ถ€๋ชจ ๋…ธ๋“œ์™€ ์ž์‹๋…ธ๋“œ' ๊ฐ„์—๋Š” ํŠน์ • ๋Œ€์†Œ๊ด€๊ณ„ ์„ฑ๋ฆฝํ•˜์ง€๋งŒ, 'ํ˜•์ œ๋…ธ๋“œ'๊ฐ„์—๋Š” ํ•ด๋‹น ๋Œ€์†Œ๊ด€๊ณ„๊ฐ€ ์„ฑ๋ฆฝํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๋œป์ด๋‹ค. ์ด์ง„ ํƒ์ƒ‰ ํŠธ๋ฆฌ์—์„œ๋Š” ์ค‘๋ณต๋œ ๊ฐ’์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š์ง€๋งŒ ํž™ ํŠธ๋ฆฌ์—์„œ๋Š” ํ—ˆ์šฉํ•œ๋‹ค. ์šฉ๋„ ํž™์€ ์ถ”์ƒ์  ์ž๋ฃŒํ˜•์ธ ์šฐ์„ ์ˆœ์œ„ ํ๋ฅผ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋งŒ๋“ค์–ด์ง„ ์ž๋ฃŒ๊ตฌ์กฐ์ด๋‹ค. ๋ฐฐ์—ด๊ณผ ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ๋ฅผ ์ด์šฉํ•˜๋ฉด ์‚ฝ์ž…๊ณผ ์‚ญ์ œ ์—ฐ์‚ฐ ์ค‘ ํ•˜๋‚˜๊ฐ€ O(n)์ผ ์ˆ˜ ๋ฐ–์— ์—†๋‹ค. ํ•˜์ง€๋งŒ ํž™์„ ์ด์šฉํ•˜๋ฉด ๊ฐ€์žฅ ํฐ ๊ฐ’์ด๋‚˜ ๊ฐ€์žฅ ์ž‘์€ ๊ฐ’์„ ๋‘˜ ๋‹ค O(logn)๋งŒ์— ๋น ..