array
-
[Swift] Collection (Array, Dictionary, Set)Swift 2022. 2. 15. 08:34
์ด๋ฒ ํฌ์คํ ์์๋ Swift์ Collection์ ๋ํด ์์๋ณด์. Collection์ ๋ง์ ๋ฐ์ดํฐ๋ค์ ๋ฌถ์ด์ ํจ์จ์ ์ผ๋ก ์ฒ๋ฆฌํ๊ธฐ ์ํด ์ฌ์ฉํ๋ค. Swift Collection์ ๊ตฌ์กฐ์ฒด๋ก ๊ตฌํ๋์ด์๊ณ , ์ฃผ๋ก ๊ฐ ํ์์ผ๋ก ์ฌ์ฉํ๋ค. Swift Collection์๋ ๋ฐ์ดํฐ๋ฅผ ์์๋๋ก ์ ์ฅํ๋ ๋ฐฐ์ด (Array), ํค์ ๊ฐ์ ํ๋์ ์์ผ๋ก ์ ์ฅํ๋ ๋์ ๋๋ฆฌ (Dictionary), ์งํฉ ์ฐ์ฐ์ ์ ๊ณตํ๊ณ ๊ณ ์ ๊ฐ๋ค์ ์์๊ฐ ์ง์ ๋์ง ์๋ ์งํฉ (Set) ์ด ์๋ค. ์ปฌ๋ ์ ์ ๊ฐ๋ณ์ฑ์ ์ปฌ๋ ์ ์ ์ ์ฅ๋ ์์๋ค์๊ฒ ์ํฅ์ ์ฃผ์ง ์๋๋ค. ๋ฐ๋ผ์ ๋ถ๋ณ ์ปฌ๋ ์ (let ํค์๋๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ธํ ์ปฌ๋ ์ )์ ๊ฐ๋ณ์ ์ธ ์์๊ฐ ์ ์ฅ๋์ด์์ ๊ฒฝ์ฐ, ์์๋ฅผ ์๋กญ๊ฒ ์ถ๊ฐํ๊ฑฐ๋ ์ญ์ ํ๋ ๊ฒ์ ๋ถ๊ฐ๋ฅํ์ง๋ง ์์๋ฅผ ์์ ํ๋ ๊ฒ์ ๊ฐ๋ฅํ๋ค..
-
[Data Structure] Linked List (Feat. Array)Data Structure 2022. 1. 12. 23:44
๋ฐฐ์ด (Array)์ด๋? ์์๋ค์ด ๋ฉ๋ชจ๋ฆฌ์ ์ฐ์์ ์ผ๋ก ์ ์ฅ๋ ์๋ฃ๊ตฌ์กฐ ์ธ๋ฑ์ค๋ก ๋ฐฐ์ด์ ์์๋ฅผ ๋ฐ๋ก ์ฐพ์ ์ ์๋ค. ๋ฐฐ์ด์ ํน์ง O(1)์ n๋ฒ์งธ ์์๋ฅผ ํ์ธํ๊ณ , ๋ณ๊ฒฝํ ์ ์๋ค. ์ถ๊ฐ์ ์ผ๋ก ์๋ชจ๋๋ ๋ฉ๋ชจ๋ฆฌ์ ์, ์ฆ ์ค๋ฒํค๋๊ฐ ๊ฑฐ์ ์๋ค. ๋ฉ๋ชจ๋ฆฌ ์์ ๋ฐ์ดํฐ๋ค์ด ๋ถ์ด์๊ธฐ ๋๋ฌธ์, Cache hit rate๊ฐ ๋๋ค. ๋ฉ๋ชจ๋ฆฌ ์์ ์ฐ์์ ์ผ๋ก ๊ตฌ๊ฐ์ ์ก์์ผํ๋ฏ๋ก, ํ ๋น์ ๋ค์ ์ ์ฝ์ด ์๋ค. ๋ฐฐ์ด์ ์ฒซ๋ฒ์งธ, ๋ง์ง๋ง ์ธ๋ฑ์ค ์ด์ธ์ ์ธ๋ฑ์ค์ ์๋กญ๊ฒ ์์๋ฅผ ์ถ๊ฐํ๊ฑฐ๋ ์ ๊ฑฐํ ๋, ์์๋ค์ ์๋กญ๊ฒ ๋ฐฐ์นํด์ผํ๊ธฐ ๋๋ฌธ. ใ ค ์ฐ๊ฒฐ ๋ฆฌ์คํธ (Linked List)๋? ๋ฉ๋ชจ๋ฆฌ ์์ ์ฐ์์ ์ด์ง ์์ ๋ฐ์ดํฐ๋ค์ ๋งํฌ๋ก ์ฐ๊ฒฐํด๋์ ์๋ฃ๊ตฌ์กฐ ์ฐ๊ฒฐ ๋ฆฌ์คํธ๋ ๋ ธ๋๋ก ์ด๋ฃจ์ด์ ธ์๋๋ฐ, ๋ ธ๋๋ data (๋ฐ์ดํฐ), link (๋งํฌ)๋ก ์ด๋ฃจ์ด..