๐ป Computer Science191 [์ด์์ฒด์ ] 2. ์ปดํจํฐ ์์คํ ์ ๋์ ์ปดํจํฐ ์์คํ ์ ๋์ ์ปดํจํฐ ์์คํ ์ผ๋ก ์์ ์ ์ฒ๋ฆฌํ ๋๋ ๋ค์๊ณผ ๊ฐ์ ์์๋ก ์ด๋ฃจ์ด์ง๋๋ฐ ์ ๋ ฅ์ฅ์น๋ก ์ ๋ณด๋ฅผ ์ ๋ ฅ๋ฐ์ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅํ ์ ๋ณด๋ฅผ ํ๋ก๊ทธ๋จ ์ ์ด์ ๋ฐ๋ผ ์ธ์ถ ํ ์ฐ์ฐ์ฅ์น์์ ์ฒ๋ฆฌ ์ฒ๋ฆฌํ ์ ๋ณด๋ฅผ ์ถ๋ ฅ ๋๋ ๋ณด์กฐ๊ธฐ์ต์ฅ์น์ ์ ์ฅ ์ ๋ ฅ์ฅ์น๋ก๋ถํฐ ์ ์ ๋๋ ์ ๋ณด๋ ๋ฐ์ดํฐ์ ๋ช ๋ น์ด๋ก ๋ถ๋ฅ๋๋ค. ๋ช ๋ น์ด : ์คํํ ์ฐ์ , ๋ ผ๋ฆฌ ์ฐ์ฐ์ ๋์์ ๋ช ์ํ๋ ๋ฌธ์ฅ์ผ๋ก ๋ช ๋ น์ด์ ์งํฉ์ ํ๋ก๊ทธ๋จ์ด ๋๋ค. ๋ช ๋ น์ด์ ๊ตฌ์กฐ ๋ช ๋ น์ด๋ ํ๋ก์ธ์๊ฐ ์คํํ ์ฐ์ฐ์ธ ์ฐ์ฐ ๋ถํธ์ ๋ช ๋ น์ด๊ฐ ์ฒ๋ฆฌํ ๋ฐ์ดํฐ, ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ๋ ์ง์คํฐ๋ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์์ธ ํผ์ฐ์ฐ์๋ก ๊ตฌ๋ถ๋๋ค. ๋ช ์ฐ์ฐ ๋ถํธ (Operation Code): ์ฐ์ฐ์ ์ง์ ํ๋ฉฐ ์ฐ์ ์ฐ์ฐ, ๋ ผ๋ฆฌ์ฐ์ฐ, ์ํํธ, ๋ณด์ ๋ฑ์ ์ํ ํผ์ฐ์ฐ์ (Operand): ์ฐ์ฐํ ๋ฐ์ดํฐ์ ์ ๋ณด๋ฅผ .. 2019. 12. 7. [์ด์์ฒด์ ] 1. ์ปดํจํฐ ํ๋์จ์ด์ ๊ตฌ์ฑ ์ปดํจํฐ ํ๋์จ์ด์ ๊ตฌ์ฑ ์ปดํจํฐ ์์คํ ์ ๋ฌผ๋ฆฌ์ ์ฅ์น์ธ ํ๋์จ์ด์ ๋ช ๋ น์ด๋ก ์ด๋ค ์์ ์ ์ง์ํ ์ ์๊ฒ ์์ฑํ ํ๋ก๊ทธ๋จ์ธ ์ํํธ์จ์ด๋ก ๊ตฌ์ฑ๋๋ค. ํ๋์จ์ด๋ ํฌ๊ฒ ํ๋ก์ธ์(CPU) ๋ฉ๋ชจ๋ฆฌ(RAM) ์ฃผ๋ณ์ฅ์น๋ก ์ด๋ฃจ์ด์ ธ ์๊ณ ์ด๋ค์ ์์คํ ๋ฒ์ค๋ก ์ฐ๊ฒฐ๋๋ค. ํ๋ก์ธ์ ํ๋ก์ธ์๋ ํ๋์จ์ด์ ๋ถ์ฐฉ๋ ๋ชจ๋ ์ฅ์น์ ๋์์ ์ ์ดํ๊ณ ๋ช ๋ น์ ์คํํ๋ค. ๋ณดํต CPU๋ผ๊ณ ๋ถ๋ฅด๊ธฐ๋ ํ์ง๋ง ์ํํธ์จ์ด์ ๋๋์ด ๊ฐํ ํ๋ก์ธ์๋ฅผ ์ฃผ๋ก ์ด์ผ๊ธฐํ ๊ฒ์ด๋ค. ํ๋ก์ธ์์์๋ ํฌ๊ฒ ๋ ์ง์คํฐ ์ฐ์ฐ์ฅ์น ์ ์ด ์ฅ์น๋ก ๊ตฌ๋ถ๋๋ฉฐ ์ด๋ค์ ๋ํ๋ด๋ถ ๋ฒ์ค๋ก ์ฐ๊ฒฐ๋๋ค. ๋ ์ง์คํฐ ๋ ์ง์คํฐ๋ ์ฌ๋ฌ ๊ด์ ์ผ๋ก ๊ตฌ๋ถํ ์ ์๋๋ฐ ์ฉ๋์ ๋ฐ๋ผ ์ ์ฉ ๋ ์ง์คํฐ ์ ๋ฒ์ฉ ๋ ์ง์คํฐ๋ก ๊ตฌ๋ถ๋๋ฉฐ ์ฌ์ฉ ์ฉ๋์ ๋ฐ๋ผ ์ฌ์ฉ์ ๊ฐ์ ๋ ์ง์คํฐ(user-visible) ์ฌ์ฉ์ ๋ถ๊ฐ์ ๋ ์ง์คํฐ.. 2019. 12. 7. [์๊ณ ๋ฆฌ์ฆ-์ด๋ก ] 09 ์งํฉ์ ์ฒ๋ฆฌ ์งํฉ์ ์ฒ๋ฆฌ ์ํธ ๋ฐฐํ์ ์ธ ์ฌ๋ฌ ๊ฐ์ ์งํฉ์ ์ฒ๋ฆฌํด์ผ ํ ๊ฒฝ์ฐ๊ฐ ์๋๋ฐ ์ต์ ์ ์ฅ ํธ๋ฆฌ๋ฅผ ์ํ ํฌ๋ฃจ์ค์นผ ์๊ณ ๋ฆฌ์ฆ์์ ์ํธ ๋ฐฐํ์ ์ธ ์งํฉ์ ์ฒ๋ฆฌํ๋ ์๊ณ ๋ฆฌ์ฆ์ด ํ์ํ๋ค. ์งํฉ์ ๊ด๋ฆฌ์์ ํ์ํ ์ฐ์ฐ์ ์์์ ์์๊ฐ ์ด๋ ์งํฉ์ ์ํ๋์ง ์๋๋ด๋ ์ฐ์ฐ๊ณผ ๋ ์งํฉ์ ํฉํ๋ ์ฐ์ฐ์ด๋ค. ์ฌ๊ธฐ์ ๋ง ํ๋ ์ํธ ๋ฐฐํ์ ์ธ ์งํฉ์ ์๋ก์ ๊ต์งํฉ์ด ๊ณต์งํฉ์ธ ๊ฒฝ์ฐ๋ฅผ ๋ปํ๋ค. ์ฐ๊ฒฐ ๋ฆฌ์คํธ๋ฅผ ์ด์ฉํ ์งํฉ์ ์ฒ๋ฆฌ ์ฐ๊ฒฐ ๋ฆฌ์คํธ๋ฅผ ์ด์ฉํ ํํ์ ์ฝ๊ณ ์ง๊ด์ ์ด๋ค. ++๊ฐ ์์๋น ํ๋์ ๋ ธ๋๋ฅผ ๋ง๋ค๊ณ ์ด๋ค์ ์ฐ๊ฒฐ๋ฆฌ์คํธ๋ก ์ฐ๊ฒฐํ๋ค++ ๋ ธ๋๋ ๋ ๊ฐ์ ํฌ์ธํฐ์ ์์๋ฅผ ๊ฐ๋ ํ ๊ฐ์ ํ๋๋ก ์ด๋ฃจ์ด ์ง๋ค. ๋ค์ ์์ ํฌ์ธํฐ -> ๋ค์ ์์๋ฅผ ๊ฐ๋ฆฌํค๋ ํฌ์ธํฐ. ๊ฐ ์งํฉ์๋ ๋ง์ง๋ง ์์๋ฅผ ๊ฐ๋ฆฌํค๋ tail์ด๋ผ๋ ๋ณ์๋ฅผ ๋๋ค. ๋ํ ์์ ํฌ์ธํฐ -.. 2019. 11. 23. [์๊ณ ๋ฆฌ์ฆ-์ด๋ก ] ํด์ ํ ์ด๋ธ (Hash Table) ํด์ ํ ์ด๋ธ ํด์ ํ ์ด๋ธ์ ๊ฒ์์ ํ๊ท ์๊ฐ ๋ณต์ก๋๊ฐ O(1)์ด ๋๋ ๊ฒ์์ ์ต๊ณ ์ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. ๊ฒ์ ํธ๋ฆฌ๋ ์์๊ฐ ์ ์ฅ๋ ์๋ฆฌ๊ฐ ์ด๋ฏธ ํธ๋ฆฌ์ ์กด์ฌํ๋ ์์์ ๋น๊ตํ์ฌ ๊ฒฐ์ ๋๋ ๋ฐ๋ฉด, ํด์ ํ ์ด๋ธ์ ์์๊ฐ ์ ์ฅ๋ ์๋ฆฌ์ ๊ฐ์ ์ํด ๊ฒฐ์ ๋๋ ์๋ฃ๊ตฌ์กฐ์ด๋ค. ํด์ ํ ์ด๋ธ์ ๋จ๊ณ์ ์ผ๋ก ๊ฒ์ํค -> ์ฃผ์ ๊ณ์ฐ -> ํ ์ด๋ธ ์ฐธ์กฐ ์ ํ๋ฆ์ผ๋ก ๊ฒ์์ด ์ด๋ฃจ์ด์ง๋ค. ๊ฒ์ ํค ํด์ ํจ์ h(x) = x mod m์ ์ํด ๊ฒ์ ํค๊ฐ ๊ฒฐ์ ๋๊ณ x๋ ์ฌ์ฉ์ ์ ๋ ฅ ๊ฐ,(๋ฐฐ์ด ๊ฐ) m์ ํด์ ํ ์ด๋ธ์ ํฌ๊ธฐ๋ฅผ ๋ปํ๋ค. ์ฃผ์ ๊ณ์ฐ ์ฃผ์ ๊ณ์ฐ์ ๊ฒ์ ํค๋ฅผ ํตํด์ x mod m์ ์ค์ง์ ์ผ๋ก ํํ๋ ๊ณผ์ ์ด๋ค. ํ ์ด๋ธ ์ฐธ์กฐ ๊ฒ์ ํค๋ฅผ ํตํ ์ฃผ์ ๊ณ์ฐ์ด ์ด๋ฃจ์ด์ง ํ ๊ฒ์์ ํ๋ ๋จ๊ณ์ด๋ค. ์์๊ฐ ์ ์ฅ๋ ์๋ฆฌ๊ฐ ๊ฐ์ ์ํด ๊ฒฐ์ ๋๋ฏ๋ก ํ๊ท ํ .. 2019. 11. 23. [์๊ณ ๋ฆฌ์ฆ-์ด๋ก ] ๋ ๋ ๋ธ๋ ํธ๋ฆฌ(Red-Black Tree) ๋ ๋-๋ธ๋ ํธ๋ฆฌ(Red-Black Tree) ์ด์ง ๊ฒ์ ํธ๋ฆฌ์์ ์๊ฐ ๋ณต์ก๋๋ O(log n)์ด ๋ ์๋ ์๊ณ O(n)์ด ๋ ์๋ ์๋ค๊ณ ํ์๋๋ฐ ์ด๋ ํธ๋ฆฌ์ ๋์ด์ ๋ฐ๋ผ ๊ฒฐ์ ๋๋ค๊ณ ํ๋ค. ์ด๋ฌํ ๋จ์ ๋ค์ ๊ทน๋ณตํ๊ธฐ ์ํด์ ๊ณ ์ํด ๋ธ ๊ฒ์ ๋ฐ๋ก ==๊ท ํ์กํ ์ด์ง ๊ฒ์ ํธ๋ฆฌ== ์ด๋ค. ๊ท ํ์กํ ์ด์ง ๊ฒ์ ํธ๋ฆฌ๋ ๊ฒ์ ์ต์ ์ ๊ฒฝ์ฐ ์๋ ์ด์ง ํธ๋ฆฌ์ ๊ท ํ์ด ๋ง๊ฒ ์ ์ง๋๋๋ก ํ๋ ๊ฒ์ ๋ปํ๋ค. ๋ ๋ ๋ธ๋ ํธ๋ฆฌ๋ ์ด์ง ๊ฒ์ ํธ๋ฆฌ์ ๋ชจ๋ ๋ ธ๋์ ๋ ๋ ๋๋ ๋ธ๋์ ์์์ ์น ํ๋๋ฐ ๋ค์๊ณผ ๊ฐ์ ์ฑ์ง์ ๋ง์กฑํดํ๋ค. 1. Root Property: ๋ฃจํธ๋ ๋ธ๋์ด๋ค. 2. External Property: ๋ชจ๋ ๋ฆฌํ(NIL)๋ ๋ธ๋์ด๋ค. 3. Internal Property: ๋ ธ๋๊ฐ ๋ ๋์ด๋ฉด ๊ทธ ๋ ธ๋์ ์์์ ๋ฐ๋์ ๋ธ๋์ด๋ค.. 2019. 11. 23. [์๊ณ ๋ฆฌ์ฆ-์ด๋ก ] ์ด์ง ๊ฒ์ ํธ๋ฆฌ(Binary Search Tree) ์ด์ง ๊ฒ์ ํธ๋ฆฌ(Binary Search Tree) ์ด์ง ๊ฒ์ ํธ๋ฆฌ์ ๋ํด์ ๊ณต๋ถํ๊ธฐ ์ ์ ํธ๋ฆฌ์ ๋ํด์ ๋จผ์ ์๊ณ ๋์ด๊ฐ์ ##ํธ๋ฆฌ(Binary Search Tree)๋? ํธ๋ฆฌ๋ ์๋ฃ๋ค์ด List, Stack, Queue์ ๊ฐ์ 1:1 ๊ด๊ณ์ ์ ํ ๊ตฌ์กฐ๊ฐ ์๋ 1:n ๊ด๊ณ์ ๋น์ ํ ๊ตฌ์กฐ๋ก ๊ณ์ธต ๊ด๊ณ๋ก ๋ง๋ค์ด์ง ๊ณ์ธตํ ์๋ฃ๊ตฌ์กฐ๋ผ๊ณ ํ๋ค. ์์ ๊ทธ๋ฆผ์์ ์ซ์๋ค์ ์๋์ ์ซ์๋ค์ ์ฐ๊ฒฐํ๋ ๊ด๊ณ๋ฅผ ๊ฐ๊ณ ์ด๋ฅผ ๋ถ๋ชจ-์์ ๊ด๊ณ๋ผ๊ณ ํ๋ค. ํ์ ๊ด๊ณ๋? 30์ ์๋๋ก(๊ณ์ธต์ ์ผ๋ก) 20๊ณผ 40์ด ์ฐ๊ฒฐ๋์ด ์๋ค๋ฉด ๋ถ๋ชจ๋ 30์ด ๋๊ณ ์์์ ๊ฐ๊ฐ 20๊ณผ40์ด ๋๋ฉฐ ์ด ๋์ ์๋ก ํ์ ๊ด๊ณ ๋ผ๊ณ ํ๋ค. ๋ ธ๋๋? ์ด ๋ 30์ ๋ถ๋ชจ ๋ ธ๋๊ฐ ๋๊ณ 20๊ณผ 40์ ๊ฐ๊ฐ์ ์์ ๋ ธ๋๋ผ๊ณ ๋ถ๋ฆฐ๋ค. ์ด๋ฅผ ๋ฏธ๋ฃจ์ด ๋ณด์์ ๋ ๋ ธ๋๋ ๊ฐ๊ฐ์ .. 2019. 11. 23. ์ด์ 1 ยทยทยท 28 29 30 31 32 ๋ค์