๐๏ธ ์๋ฃ๊ตฌ์กฐ์ ์๊ณ ๋ฆฌ์ฆ26 ์ด์ 1 2 3 4 ๋ค์ [ํธ๋ฆฌ] ์์ธ๊ณผ ์ด์ง๊ฒ์ํธ๋ฆฌ ์์ธ ๋ฐ์ดํฐ์ ์ ์ฅ๊ณผ ๊ฒ์์ ์๋ฃ๊ตฌ์กฐ์ ์๊ณ ๋ฆฌ์ฆ ๋ถ์ผ์์ ๊ฐ์ฅ ์ค์ํ ์ฃผ์ ์ด ์์ ์ ์ํจ ํต์ฌ ์ธํ๋ผ๋ ์์ธ์ ์์ธ์ ๊ฐ์ฒด์ ๋ ์ฝ๋๋ฅผ ๊ฒ์ํ๊ธฐ ์ํ ๊ฒ. ๋ ์ฝ๋์ ๋นจ๋ฆฌ ์ ๊ทผํ๊ธฐ ์ํ ๊ฒ ๋ด์ฅ ์์ธ : ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ ค๋๊ณ ์ฐ๋ ์์ธ ์ธ์ฅ์์ธ : ๋ฉ๋ชจ๋ฆฌ ๋ฐ๊นฅ์ ๋๊ณ ์ฐ๋ ์์ธ ex) B-ํธ๋ฆฌ ์์ธ์ ์ถ์ ๋ฐ์ดํฐ ํ์ ADT ์์ธ์ ํค X๋ฅผ ์ฝ์ ์์ธ์์ ํค X๋ฅผ ๊ฒ์ ์์ธ์์ ํค X๋ฅผ ์ญ์ ์์ธ์ด ๋น์ด ์๋์ง ํ์ธ ์์ธ์ ๊นจ๋์ด ๋น์ฐ๊ธฐ ์ด์ง ๊ฒ์ ํธ๋ฆฌ ๊ฐ ๋ ธ๋๋ ์ต๋ 2๊ฐ๊น์ง ๊ฐ์ง๋ฅผ ์น ์ ์์ ๋งจ ์์ ์๋ ๋ ธ๋๋ฅผ ๋ฃจํธ๋ผ๊ณ ํจ ํน์ฑ ๊ฐ ๋ ธ๋๋ ํค๊ฐ์ ํ๋์ฉ ๊ฐ์ง, ๊ฐ ๋ ธ๋์ ํค๊ฐ์ ๋ชจ๋ ๋ค๋ฆ ์ต์์ ๋ ๋ฒจ์ ๋ฃจํธ ๋ ธ๋๊ฐ ์๊ณ , ๊ฐ ๋ ธ๋๋ ์ต๋ 2๊ฐ์ ์์ ๋ ธ๋๋ฅผ ๊ฐ์ง ์์ ๋ ธ๋์ ํค๊ฐ์ ์์ ์ ์ผ์ชฝ ์.. 2023. 11. 27. [์ ๋ ฌ] ํน์ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ(๊ณ์/๊ธฐ์/๋ฒํท) ๊ณ์ ์ ๋ ฌ, ๊ธฐ์ ์ ๋ ฌ, ๋ฒํท ์ ๋ ฌ์ ๊ฐ๊ฐ ํน์ ํ ์ํฉ์์ ๋น์ ๋ฐํ๋ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ ์ด๋ค ์๊ณ ๋ฆฌ์ฆ์ ํจ์จ์ฑ์ ๋ฐ์ดํฐ์ ํน์ฑ๊ณผ ๋ถํฌ์ ํฌ๊ฒ ์์กดํจ ๊ณ์ ์ ๋ ฌ (Counting Sort) ํน์ํ ์ฌ์ฉ ์ํฉ: ์ ์์ ์์ ๋ฒ์: ๊ณ์ ์ ๋ ฌ์ ์ ์ ๋ฐ์ดํฐ์ ์ต์ ํ. ํนํ ์ ์ ๊ฐ์ ๋ฒ์๊ฐ ์ ํ์ ์ผ ๋ ๋งค์ฐ ํจ์จ์ ๋์ผํ ๊ฐ์ ๋น๋ฒํ ๋ฐ๋ณต: ๋์ผํ ๊ฐ์ด ๋ฐ์ดํฐ์ ๋ด์ ๋น๋ฒํ๊ฒ ๋ฐ๋ณต๋๋ ๊ฒฝ์ฐ์๋ ๊ณ์ ์ ๋ ฌ์ด ์ ๋ฆฌ ๋ฐ์ดํฐ์ ๋ฒ์๊ฐ ์๊ณ , ๋ฐ์ดํฐ ์์ด ๋ง์ ๊ฒฝ์ฐ: ์๋ฅผ ๋ค์ด, ์ ์๋ ๋์ด์ ๊ฐ์ด ํน์ ๋ฒ์ ๋ด์ ์๋ ์ ์๋ฅผ ์ ๋ ฌํ ๋ ์ ์ฉ ๊ธฐ์ ์ ๋ ฌ (Radix Sort) ํน์ํ ์ฌ์ฉ ์ํฉ: ๊ธด ์ ์๋ ๋ฌธ์์ด ์ ๋ ฌ: ๊ธด ์ ์๋ ๋ฌธ์์ด๊ณผ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฌํ ๋ ๊ธฐ์ ์ ๋ ฌ์ ํจ๊ณผ์ (์๋ฆฟ์๋ณ๋ก ์ ๋ ฌํ๊ธฐ ๋๋ฌธ) ๋น๊ต ๊ธฐ.. 2023. 11. 21. [์ ๋ ฌ] ๊ณ ๊ธ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ(๋ณํฉ/ํต/ํ/์ ) ๋ณํฉ ์ ๋ ฌ (Merge Sort) ๋ณํฉ ์ ๋ ฌ์ ๋ถํ ์ ๋ณต ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ ์ ๋ ฌ ๋ฐฉ๋ฒ ์๋ ์๋ฆฌ: ๋ฐฐ์ด์ ๋ฐ์ผ๋ก ๋๋๋๋ค. ๊ฐ ๋ถ๋ถ์ ์ฌ๊ท์ ์ผ๋ก ์ ๋ ฌํฉ๋๋ค. ์ ๋ ฌ๋ ๋ ๋ถ๋ถ์ ๋ณํฉํ์ฌ ์์ ํ ์ ๋ ฌ๋ ๋ฐฐ์ด์ ๋ง๋ญ๋๋ค. ์๊ฐ ๋ณต์ก๋: ์ต์ , ํ๊ท , ์ต์ ๋ชจ๋ O(nlogn) ๊ณต๊ฐ ๋ณต์ก๋: O(n) (์ถ๊ฐ ๋ฐฐ์ด์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ) ์ฝ์ : ์ถ๊ฐ ๋ฉ๋ชจ๋ฆฌ๊ฐ ํ์ํฉ๋๋ค. ์์ฃผ ์ฌ์ฉ๋๋ ํด๋์ค๋ ์ปฌ๋ ์ : ๋ฐฐ์ด(int[], Integer[], String[] ๋ฑ), ArrayList, LinkedList ํต ์ ๋ ฌ (Quick Sort) ํต ์ ๋ ฌ๋ ๋ถํ ์ ๋ณต ์ ๋ต์ ์ฌ์ฉํ์ง๋ง, ๋ณํฉ ์ ๋ ฌ๊ณผ๋ ๋ค๋ฅด๊ฒ ์๋ ์๋ ์๋ฆฌ: ํผ๋ฒ(pivot) ์์๋ฅผ ์ ํํฉ๋๋ค. ํผ๋ฒ์ ๊ธฐ์ค์ผ๋ก ๋ฐฐ์ด์ ๋ ๋ถ๋ถ์ผ๋ก ๋๋๋๋ค: ํผ๋ฒ๋ณด๋ค ์์ ์์์ ํผ๋ฒ.. 2023. 11. 21. [์ ๋ ฌ] ๊ธฐ๋ณธ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ(์ ํ/๋ฒ๋ธ/์ฝ์ ) ์ ๋ ฌ์ด๋? ์์๋ค์ ์์๋๋ก ๋ฐฐ์ดํ๋ ๊ฒ ์ํ์๊ฐ์ ๋ฐ๋ผ ๋๋ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ ์ ํ ์ ๋ ฌ (Selection Sort) ์ ์ฒด ๋ฐฐ์ด์์ ์ต์๊ฐ(๋๋ ์ต๋๊ฐ)์ ์ฐพ์ต๋๋ค. ์ด ์ต์๊ฐ์ ๋ฐฐ์ด์ ๋งจ ์์ ์์น์ํต๋๋ค. ๋งจ ์์ ์์๋ฅผ ์ ๋ ฌ๋ ๋ถ๋ถ์ผ๋ก ๊ฐ์ฃผํ๊ณ , ๋๋จธ์ง ๋ถ๋ถ์ ๋ํด ๊ฐ์ ๊ณผ์ ์ ๋ฐ๋ณตํฉ๋๋ค. ํน์ง: ์๊ฐ ๋ณต์ก๋: O(n2) ๊ณต๊ฐ ๋ณต์ก๋: (1)O(1) (์ ์๋ฆฌ ์ ๋ ฌ) ๋ถ์์ ์ ๋ ฌ: ๋์ผํ ๊ฐ์ ์์๊ฐ ์๋ ์์๋ฅผ ์ ์งํ์ง ์์ ์ ์์ ๋ฒ๋ธ ์ ๋ ฌ (Bubble Sort) ๋ฐฐ์ด์ ์ํํ๋ฉด์ ์ธ์ ํ ์์๋ฅผ ๋น๊ตํฉ๋๋ค. ๋ง์ฝ ์์๊ฐ ์๋ชป๋์ด ์๋ค๋ฉด, ์ธ์ ํ ์์๋ฅผ ๊ตํํฉ๋๋ค. ์ด ๊ณผ์ ์ ๋ฐฐ์ด์ด ์ ๋ ฌ๋ ๋๊น์ง ๋ฐ๋ณตํฉ๋๋ค. ํน์ง: ์๊ฐ ๋ณต์ก๋: O(n2) ๊ณต๊ฐ ๋ณต์ก๋: O(1) (์ ์๋ฆฌ ์ ๋ ฌ) ์์ ์ ๋ ฌ: ๋.. 2023. 11. 21. [ํ] ์ฐ์ ์์ ํ : ํ ํ (Heap) ๋ํ์ ์ธ ์ฐ์ ์์ ํ ์์ ์ด์ง ํธ๋ฆฌ ๊ตฌ์กฐ ์ฌ์ฉ ํ์์๋ ๋ชจ๋ ๋ถ๋ชจ ๋ ธ๋๊ฐ ์์ ๋ ธ๋๋ณด๋ค ํฌ๊ฑฐ๋(์ต๋ ํ) ํน์ ์์(์ต์ ํ) ์์๋ฅผ ๊ฒ์ํ ์ ์๋ ๊ธฐ๋ฅ์ ํ์์๊ณ , ์ฐ์ ์์๊ฐ ๊ฐ์ฅ ๋์ ๊ฒ์ ์๋ ค์ฃผ๊ณ ์ญ์ ํ ์ ์์ผ๋ฉด ๋จ ์ฌ์ฉ ์์ : ์ด์ ์ฒด์ ์์ ํ๋ก์ธ์ค ์ค์ผ์ค๋ง, ๋คํธ์ํฌ ํธ๋ํฝ ๊ด๋ฆฌ, ์๋ฎฌ๋ ์ด์ ์์คํ ๋ฑ ํ๊ณผ ์ด์ง ํธ๋ฆฌ๋ ๋ชจ๋ ๊ณ์ธต์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ์ฒ๋ฆฌํ๋ ๋ฐ ์ ์ฉํ ์๋ฃ๊ตฌ์กฐ ํ์ ์ฃผ๋ก ์ฐ์ ์์์ ๋ฐ๋ฅธ ๋ฐ์ดํฐ ์ฒ๋ฆฌ์, ์ด์ง ํธ๋ฆฌ(ํนํ ์ด์ง ํ์ ํธ๋ฆฌ)๋ ์ ๋ ฌ๋ ๋ฐ์ดํฐ์ ํจ์จ์ ์ธ ํ์์ ์ฌ์ฉ ์ฐ์ ์์ ํ ADT [ํต์ฌ ์์ ] ์์๋ฅผ ์ฝ์ ํ๋ค ์ต๋ ์์๋ฅผ ์๋ ค์ฃผ๋ฉด์ ์ญ์ ํ๋ค ์ต๋ ์์๋ฅผ ์๋ ค์ค๋ค [๊ณตํต] ์ฐ์ ์์ ํ๊ฐ ๋น์ด ์๋์ง ํ์ธํ๋ค ์ฐ์ ์์ ํ๋ฅผ ๊นจ๋์ด ๋น์ด๋ค ์ฃผ์.. 2023. 11. 21. [ํ] ๋ฐฐ์ด ๊ธฐ๋ฐ ํ์ ์ฐ๊ฒฐ๋ฆฌ์คํธ ๊ธฐ๋ฐ ํ ์ํ ์ ํ์ ์์ ์ํ ๋๊ธฐ์ด: ๊ณ ๊ฐ๋ค์ด ์ฐจ๋ก๋ก ๋์ฐฉํ๊ณ , ๋์ฐฉํ ์์๋๋ก ์๋น์ค๋ฅผ ๋ฐ์ต๋๋ค. ํ๋ฆฐํฐ ์์ : ๋ฌธ์๋ค์ด ํ๋ฆฐํฐ ๋๊ธฐ์ด์ ์ฐจ๋ก๋ก ์ถ๊ฐ๋๋ฉฐ, ์ถ๊ฐ๋ ์์๋๋ก ์ธ์๋ฉ๋๋ค. ์ฝ์ผํฐ ์ ํ ๋๊ธฐ์ด: ์ ํ๊ฐ ์์๋๋ก ๋๊ธฐ์ด์ ๋ค์ด๊ฐ๊ณ , ์ฐจ๋ก๋ก ์ฐ๊ฒฐ๋ฉ๋๋ค. ์จ๋ผ์ธ ํฐ์ผ ์๋งค: ์ฌ์ฉ์๋ค์ด ์๋ฒ์ ์ ์ํด ๋๊ธฐ์ด์ ๋ค์ด๊ฐ๊ณ , ์์์ ๋ฐ๋ผ ํฐ์ผ์ ๊ตฌ๋งคํ ์ ์์ต๋๋ค. ํ ์๋ฃ๊ตฌ์กฐ์ ADT(์ถ์ ๋ฐ์ดํฐ ํ์ ) Enqueue: ํ์ ๋์ ์๋ก์ด ์์๋ฅผ ์ถ๊ฐํฉ๋๋ค. Dequeue: ํ์ ์์์์ ์์๋ฅผ ์ ๊ฑฐํ๊ณ ๋ฐํํฉ๋๋ค. Peek / Front: ํ์ ์์์ ์๋ ์์๋ฅผ ์กฐํํ์ง๋ง ์ ๊ฑฐํ์ง ์์ต๋๋ค. IsEmpty: ํ๊ฐ ๋น์ด์๋์ง ํ์ธํฉ๋๋ค. Size: ํ์ ์ ์ฅ๋ ์์์ ๊ฐ์๋ฅผ ๋ฐํํฉ๋๋ค. ๋ฐฐ์ด ๊ธฐ๋ฐ ํ(์ํ.. 2023. 11. 21. [์คํ] ๋ฐฐ์ด ๊ธฐ๋ฐ ์คํ๊ณผ ์ฐ๊ฒฐ ๋ฆฌ์คํธ ๊ธฐ๋ฐ ์คํ Stack ์คํ์ ํ์ ์ ์ถ์ด๋ผ๋ ๊ท์น์ ๋ฐ๋ผ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ์ ๊ทผํ๋ ์ ํ ์๋ฃ๊ตฌ์กฐ ์ฌ์ฉ ์์ : ์น ๋ธ๋ผ์ฐ์ ์ ๋ค๋ก ๊ฐ๊ธฐ ๊ธฐ๋ฅ, ๋ฌธ์์ด ์ญ์, ๊ดํธ ๊ฒ์ฌ, ์คํ ์ทจ์ ๊ธฐ๋ฅ, ์ฌ๊ท ํจ์ ํธ์ถ ์คํ์ ๊ฐ๋ ์คํ์ LIFO(Last In, First Out) ๋๋ FILO(First In, Last Out) ์์น์ ๋ฐ๋ผ ์๋ํ๋ ์๋ฃ๊ตฌ์กฐ ์ด ์์น์ ๊ฐ์ฅ ๋ง์ง๋ง์ ์ฝ์ ๋ ์์๊ฐ ๊ฐ์ฅ ๋จผ์ ์ ๊ฑฐ๋๋ค๋ ๊ฒ์ ์๋ฏธํจ ์คํ ์๋ฃ๊ตฌ์กฐ์ ADT(์ถ์ ๋ฐ์ดํฐ ํ์ ) Push : ์คํ์ ๋งจ ์์ ์์๋ฅผ ์ถ๊ฐํฉ๋๋ค. Pop : ์คํ์ ๋งจ ์์์ ์์๋ฅผ ์ ๊ฑฐํ๊ณ , ๊ทธ ์์๋ฅผ ๋ฐํํฉ๋๋ค. Peek : ์คํ์ ๋งจ ์ ์์๋ฅผ ๋ฐํํ์ง๋ง, ์ ๊ฑฐํ์ง ์์ต๋๋ค. IsEmpty : ์คํ์ด ๋น์ด ์๋์ง ํ์ธํฉ๋๋ค. ๋ฐฐ์ด ๊ธฐ๋ฐ ์คํ (Sta.. 2023. 11. 21. ์ด์ 1 2 3 4 ๋ค์