data structure
-
๐๏ธ ์๋ฃ๊ตฌ์กฐ ๊ณต๋ถํ๊ธฐ 4 | ๋ณํฉ ์ ๋ ฌ(merge sort)data structure 2021. 1. 19. 09:05
๋ณํฉ ์ ๋ ฌ(merge sort) ๋ณํฉ ์ ๋ ฌ ๋๋ ํฉ๋ณ ์ ๋ ฌ์ ๋น๊ต ๊ธฐ๋ฐ์ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. ์๋ฅผ ๋ค์ด, ์ ๋ ฌ๋ ๋ ๊ฐ์ ๋ฐฐ์ด์ด ์๋ค๊ณ ํ์. let arr1 = [4,6,7,8]; let arr2 = [1,5,6,7]; let result = []; ์ ๋ ฌ๋ ๋ ๋ฐฐ์ด์ ํ๋์ ๋ฐฐ์ด๋ก ํฉ์น๊ธฐ ์ํด์๋ ์ด๋ป๊ฒ ํด์ผํ ๊น? ๊ฐ์ฅ ๋น ๋ฅธ ๋ฐฉ๋ฒ์ ์ด๋ฏธ ๋ ๋ฐฐ์ด์ด ์ ๋ ฌ๋ ์ํ์ด๊ธฐ ๋๋ฌธ์ ๊ฐ์ฅ ์์ ๊ฐ๋ผ๋ฆฌ ๋น๊ต๋ฅผ ํ๋ ๊ฒ์ด๋ค. ์ฌ๊ธฐ์ ๋งํ๋ ๊ฐ์ฅ ์์ ๊ฐ์ 0๋ฒ์งธ ์ธ๋ฑ์ค์ ์์นํ ์์์ด๋ค. ์ฒ์์๋ 4์ 1์ ๋น๊ตํ๋๋ฐ 1์ด 4๋ณด๋ค ์์ผ๋ฏ๋ก result์ 1์ด ๋จผ์ ๋ค์ด๊ฐ๊ฒ ๋๋ค. 4 > 1 result.push(1); ๊ทธ ๋ค์ ๋น๊ต๋์์ 4์ 1์ ๋ค์ ์ซ์์ธ 5์ด๋ค. 4 < 5 result.push(4); ๋ ์์ ..
-
๐๏ธ ์๋ฃ๊ตฌ์กฐ ๊ณต๋ถํ๊ธฐ 3 | ์ฐ๊ฒฐ ๋ฆฌ์คํธ (Linked List)data structure 2020. 12. 29. 14:09
์ฐ๊ฒฐ ๋ฆฌ์คํธ(Linked List) ์ฐ๊ฒฐ ๋ฆฌ์คํธ๋ ํฌ๊ธฐ๊ฐ ๋์ ์ธ ์๋ฃ๊ตฌ์กฐ๋ก, ์๋ฃ๊ตฌ์กฐ๋ฅผ ๊ตฌ์ฑํ๋ ์์์ธ ๋ ธ๋(Node)์ ์ฐ๊ฒฐ๋ก ์ด๋ฃจ์ด์ง ์๋ฃ๊ตฌ์กฐ์ด๋ค. ์ฐ๊ฒฐ ๋ฆฌ์คํธ์ ๊ฐ์ด ๋ค์ด์ฌ ๋๋ง๋ค ๋ ธ๋๋ฅผ ๋ง๋ค์ด ์ ์ฅํ๊ฒ ๋๋ค. ๋ ธ๋(Node) ๋ ธ๋๋ ์๋ฃ๊ตฌ์กฐ๋ฅผ ๊ตฌ์ฑํ๋ ์์๋ค์ ๊ฐ๋ฆฌํค๋ ๋ฐ, ๋ ธ๋์ ๊ตฌ์ฑ์ ํฌ๊ฒ ๋งํฌ, ๋ฐ์ดํฐ ํ๋๋ก ๊ตฌ์ฑ๋์ด์๋ค. ๋ฆฌ์คํธ(List) ์๋ฃ๊ตฌ์กฐ ์ฐ๊ฒฐ ๋ฆฌ์คํธ๋ฅผ ์ดํดํ๊ธฐ ์ ์ ๋ฆฌ์คํธ ์๋ฃ๊ตฌ์กฐ๋ฅผ ์ดํดํด๋ณด์. List๋ Dynamic Array๋ก ๋์ ์ธ ์ด๋ ์ด๋ฅผ ๋ปํ๋ค. ๋ฐ์ดํฐ๊ฐ ๋ค์ด์ฌ ๋๋ง๋ค ๋์ ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋นํ๋ ์๋ฃ๊ตฌ์กฐ์ด๋ค. ๋ฆฌ์คํธ ์๋ฃ๊ตฌ์กฐ๊ฐ ์๋ ์ ์ ์ธ ์ด๋ ์ด(๋ฐฐ์ด) ๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฑ ์ฐ๋ฆฌ๊ฐ ์ง์ ํด์ค ๋งํผ์ ๊ณต๊ฐ์ ์ฌ์ฉํด์ผ ํ๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์ธ๋ฑ์ค ๋ฒํธ๋ฅผ ์ฌ์ฉํ์ฌ ๊ด๋ฆฌํ๊ธฐ ์ฝ๋ค๋ ..
-
๐๏ธ ์๋ฃ๊ตฌ์กฐ ๊ณต๋ถํ๊ธฐ 2 | ์คํ(stack) vs ํ(queue)data structure 2020. 12. 18. 13:50
์คํ(stack) ์ด๋ ๊ฒ ์ฑ ์ด ๋ฌด๋๊ธฐ๋ก ์์ฌ์์ ๋, ๊ฐ์ฅ ๋ง์ง๋ง์ ์์ ์ฑ ์ ๊ฐ์ฅ ๋จผ์ ๊บผ๋ธ ํ์ ๋ค๋ฅธ ์ฑ ์ ๊บผ๋ผ ์ ์๋ค. ์คํ์ ๊ฐ์ฅ ๋ง์ง๋ง์ ๋ค์ด์จ ๊ฒ์ด ๊ฐ์ฅ ๋จผ์ ๋๊ฐ๋ ์๋ฃ๊ตฌ์กฐ์ด๋ค(LIFO : Last In, First Out). ๋ค๋ก๊ฐ๊ธฐ, ๊ณ์ฐ๊ธฐ ๋ฑ๋ ์คํ ์๋ฃ๊ตฌ์กฐ๋ฅผ ์ด์ฉํ ์์ด๋ค. ์ฌ๋ฌ๊ฐ์ง ๋ฉ์๋ stack์ ์ฃผ์ ๋ฉ์๋๋ก๋ push, pop, top/peek ๋ฑ์ด ์๋ค. 1. push : ์คํ๊ณต๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ง์ด๋ฃ๋(์ ์ฅํ๋) ๋ฉ์๋์ด๋ค. 2. pop : ์คํ๊ณต๊ฐ์ ์ต์๋จ์ ์๋ ๋ฐ์ดํฐ๋ฅผ ๊บผ๋ด๋ ๋ฉ์๋์ด๋ค. 3. peek : ์ ์ผ ์ต๊ทผ์ ๋ค์ด๊ฐ ๋ฐ์ดํฐ, ์ต์์ ๋ฐ์ดํฐ(top)๋ฅผ ์ฝ๋ ์์ ์ด๋ค. (๋ฐ์ดํฐ์ ์ํฅ์ ์ฃผ์ง ์๋๋ค) ์คํ ์๋ฃ๊ตฌ์กฐ ์ฝ๋๋ก ์์ฑํด๋ณด๊ธฐ class Stack{ cons..
-
๐๏ธ ์๋ฃ๊ตฌ์กฐ ๊ณต๋ถํ๊ธฐ 1 | ์๋ฃ๊ตฌ์กฐ์ ๊ฐ๋ data structure 2020. 12. 17. 10:02
์๋ฃ๊ตฌ์กฐ ๐ ์๋ฃ(DATA) ์๋ฃ(่ณๆ, data, ๋ฐ์ดํฐ, ๋ฌธํ์ด: ๋ฐํ)๋ ๋ฌธ์, ์ซ์, ์๋ฆฌ, ๊ทธ๋ฆผ, ์์, ๋จ์ด ๋ฑ์ ํํ๋ก ๋ ์๋ฏธ ๋จ์์ด๋ค. ๋ณดํต ์ฐ๊ตฌ๋ ์กฐ์ฌ ๋ฑ์ ๋ฐํ์ด ๋๋ ์ฌ๋ฃ๋ฅผ ๋งํ๋ฉฐ, ์๋ฃ๋ฅผ ์๋ฏธ์๊ฒ ์ ๋ฆฌํ๋ฉด ์ ๋ณด๊ฐ ๋๋ค.(์ํค๋ฐฑ๊ณผ) ๐ ์ปดํจํฐ์ ์ธ์ด ์ฐ๋ฆฌ๊ฐ ์ด๋ฌํ ์๋ฃ๋ค์ ๊ฐ์ง๊ณ ์ปดํจํฐ์ ์ฒ๋ฆฌ๋ฅผ ๋งก๊ธธ ๋, ์ปดํจํฐ๋ ๋ฐ์ดํฐ๋ฅผ ์ดํดํ ์ ์์๊น? 0๊ณผ 1. ์ปดํจํฐ์ ์ธ์ด๋ 0๊ณผ 1์ด๊ธฐ ๋๋ฌธ์ ๋ ์๋ฅผ ๊ฐ์ง๊ณ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํด์ฃผ์ด์ผ ์ปดํจํฐ๊ฐ ์ดํดํ ์ ์๋ค. ์์ ์๋ ์์ ๊ฐ์ ์ฒ๊ณต ์นด๋๋ผ๋ ๊ฒ์ ์ด์ฉํด ๋ฐ์ดํฐ๋ฅผ ํํํ์ฌ ์ปดํจํฐ์ ์ ๋ฌํ์๋ค. ํ์ง๋ง ์ฒ๊ณต ์นด๋๋ก ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ 0๊ณผ 1๋ก ํํํ๊ธฐ์๋ ํ๊ณ๊ฐ ์๊ฒผ๊ณ , ํ๋ก๊ทธ๋๋จธ๋ค์ ๋ค๋ฅธ ๋ฐฉ์์ ๊ณ ์ํด๋๋ค. ๊ทธ ๊ฒฐ๊ณผ๋ก ํ๋ก๊ทธ๋๋ฐ ์ธ์ด(c, py..