Data Structure(์๋ฃ ๊ตฌ์กฐ) ๐Part.1 ์๋ฃ๊ตฌ์กฐ์ ์ค์์ฑ๊ณผ Array
"Code is just the way to express the algorithms and the data structures."
- Torvalds, Linus
self-bar : ํ์ํ ๋งํผ ๋์ด ๊ฐ์ธ์
ํ์ง๋ง ์์ฌ๋ถ๋ ค์ ๋ง์ด ๋์ด๊ฐ๋ฉด? ํ.์ด.๋.๋ค. ๋ด ํ์ ๋ ์๋ฅผ ์๊ฐํ๊ณ ํ์ ๋จน๋ ์์ ์๊ฐํด์ ์๋ง๊ฒ ๋์ด๊ฐ๋ฉด ๋ฌธ์ ๊ฐ ์๋ค.
์๋ฃ๊ตฌ์กฐ๋ ๋ง์ฐฌ๊ฐ์ง ์ด๋ค. ๋ฐ์ดํฐ์ ๋ง๋ ์ ์ ํ ์๋ฃ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํด์ผ ๋ง ์ ์ฒด ๊ฐ๋ฐ ์์คํ
์ด์์ด ์์กฐ๋กญ๋ค
Primitive Data Structure(๋จ์ ๊ตฌ์กฐ)
: ํ๋ก๊ทธ๋๋ฐ์์ ์ฌ์ฉ๋๋ ๊ธฐ๋ณธ ๋ฐ์ดํฐ ํ์
(Integer, Float, Character, Boolean)
None-Primitive Data Structure(๋น๋จ์ ๊ตฌ์กฐ)
: user defined data structure ๋ผ๊ณ ๋ ๋ถ๋ฆฌ๋ฉฐ primitive data structure ์ ๋ค์ํ ๋ณตํฉ์ฒด๋ผ๊ณ ๋ณผ ์ ์๋ค.
: ์ฆ ๋จ์ํ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๊ตฌ์กฐ๊ฐ ์๋๋ผย ์ฌ๋ฌ ๋ฐ์ดํฐ๋ฅผ ๋ชฉ์ ์ ๋ง๊ฒ ํจ๊ณผ์ ์ผ๋ก ์ ์ฅํ๋ ์๋ฃ ๊ตฌ์กฐ์ด๋ค
์ถ์ฒ (https://www.learncomputerscienceonline.com/data-structures-and-algorithms/)
์์ฐจ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ์๋ฃ ๊ตฌ์กฐ
์์ฐจ์ (ordered)์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ค
์์(element)
๋ผ๊ณ ํ๋ค).์ฐ๊ฒฐ๋ ๋ฐ์ดํฐ๋ค์ ์์ฐจ์ ์ผ๋ก ์ ์ฅํ ๋ ์ฌ์ฉ
ํ๋ค.Array์ ๊ฐ์ฅ ํฐ ํน์ง์ ์์ฐจ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๊ฒ
์ด๋ค.
Index๋ 0๋ถํฐ ์์๋๋ฉฐ. Index๋ ๋ง์ด๋์ค ๋ถํธ๋ฅผ ๊ฐ์ง ์ ๋ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, -1 ์ ๋งจ ๋ง์ง๋ง ์์
์ด๋ค.
์ค์ ๋ฉ๋ชจ๋ฆฌ ์์์ ๋ฌผ๋ฆฌ์ ์ผ๋ก ๋ฐ์ดํฐ๊ฐ ์์ฐจ์ ์ผ๋ก ์ ์ฅ๋๋ค.
array data๊ฐ ๋ค ์ฌ์ฉ๋์ง ์์ผ๋ฉด ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ๋ญ๋นํ๋ ๊ฒ์ด ๋๋ค.
๋ ๋ง์ array element๊ฐ ํ์ํ ๋ ์๋ก ๊ณต๊ฐ์ ๋๋ฆฌ๋๊ฒ ์๋๋ผ, ๋ ํฐ ์ด๋ ์ด๋ฅผ ๋ง๋ค์ด์ ๊ธฐ์กด์ array ๋ฅผ ๋ฃ๊ณ ๋๋จธ์ง๋ฅผ ์ถ๊ฐํ๋ ํํ๋ก ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋๋ ค์ผ ํ๊ฒ ๋๋ฌธ์ ๋ฉ๋ชจ๋ฆฌ ๋ถ๋ด์ด ์ปค์ง๋ค.
๋ฐฐ์ด์์ ์์๋ฅผ ์ญ์ ํ๋ ๊ฒ์ ๋ค๋ฅธ ์๋ฃ ๊ตฌ์กฐ์ ๋นํด ๋๋ฆด ์ ์๋ค๋ ๋ป
์ด๋ค.Array ๋ ์ ๋ณด๊ฐ ์์ฃผ ์ญ์ ๋๊ฑฐ๋ ์ถ๊ฐ๋๋ ๋ฐ์ดํฐ๋ฅผ ๋ด๊ธฐ์๋ ์ ์ ์น ์๋ค.