-
๐๏ธ ์๋ฃ๊ตฌ์กฐ ๊ณต๋ถํ๊ธฐ 1 | ์๋ฃ๊ตฌ์กฐ์ ๊ฐ๋ data structure 2020. 12. 17. 10:02
์๋ฃ๊ตฌ์กฐ
๐ ์๋ฃ(DATA)
์๋ฃ(่ณๆ, data, ๋ฐ์ดํฐ, ๋ฌธํ์ด: ๋ฐํ)๋ ๋ฌธ์, ์ซ์, ์๋ฆฌ, ๊ทธ๋ฆผ, ์์, ๋จ์ด ๋ฑ์ ํํ๋ก ๋ ์๋ฏธ ๋จ์์ด๋ค. ๋ณดํต ์ฐ๊ตฌ๋ ์กฐ์ฌ ๋ฑ์ ๋ฐํ์ด ๋๋ ์ฌ๋ฃ๋ฅผ ๋งํ๋ฉฐ, ์๋ฃ๋ฅผ ์๋ฏธ์๊ฒ ์ ๋ฆฌํ๋ฉด ์ ๋ณด๊ฐ ๋๋ค.(์ํค๋ฐฑ๊ณผ)
๐ ์ปดํจํฐ์ ์ธ์ด
์ฐ๋ฆฌ๊ฐ ์ด๋ฌํ ์๋ฃ๋ค์ ๊ฐ์ง๊ณ ์ปดํจํฐ์ ์ฒ๋ฆฌ๋ฅผ ๋งก๊ธธ ๋, ์ปดํจํฐ๋ ๋ฐ์ดํฐ๋ฅผ ์ดํดํ ์ ์์๊น?
0๊ณผ 1. ์ปดํจํฐ์ ์ธ์ด๋ 0๊ณผ 1์ด๊ธฐ ๋๋ฌธ์ ๋ ์๋ฅผ ๊ฐ์ง๊ณ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํด์ฃผ์ด์ผ ์ปดํจํฐ๊ฐ ์ดํดํ ์ ์๋ค.
์์ ์๋ ์์ ๊ฐ์ ์ฒ๊ณต ์นด๋๋ผ๋ ๊ฒ์ ์ด์ฉํด ๋ฐ์ดํฐ๋ฅผ ํํํ์ฌ ์ปดํจํฐ์ ์ ๋ฌํ์๋ค.
ํ์ง๋ง ์ฒ๊ณต ์นด๋๋ก ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ 0๊ณผ 1๋ก ํํํ๊ธฐ์๋ ํ๊ณ๊ฐ ์๊ฒผ๊ณ , ํ๋ก๊ทธ๋๋จธ๋ค์ ๋ค๋ฅธ ๋ฐฉ์์ ๊ณ ์ํด๋๋ค. ๊ทธ ๊ฒฐ๊ณผ๋ก ํ๋ก๊ทธ๋๋ฐ ์ธ์ด(c, python, c++ ๋ฑ)๊ฐ ๋ฑ์ฅํ์๊ณ , ์ด์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๊ธฐ๊ณ์ด(0,1) ์ฌ์ด์ ๋ฒ์ญ๊ธฐ(Compiler)๊ฐ ๋ฑ์ฅํด์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๊ฒ ๋์๋ค.
์ปดํ์ผ๋ฌ์ ๋ฑ์ฅ์ผ๋ก ์ธ๊ฐ์ ์ธ์ด๋ก ์ปดํจํฐ์ ๋ช ๋ น์ ๋ด๋ฆด ์ ์๊ฒ ๋์๋ค. ํ์ง๋ง ์ฌ์ ํ ์ปดํจํฐ์๋ ๋ฐ์ดํฐ๊ฐ 0๊ณผ 1๋ก ์ ์ฅ๋๋ค.
๐ ๋ฐ์ดํฐ ํ์ (Data Type)
์ด์ง์์ ์ฐ๊ฒฐ์ ํน์ ํ ๊ธธ์ด๋ก ๋์ด์ ๋จ์๋ฅผ ๋ง๋ค์๋ค. ํ ์นธ์ 1๋นํธ(Bit)์ด๊ณ , 8๋นํธ๊ฐ ๋ชจ์ฌ์ 1๋ฐ์ดํธ(1Byte)๊ฐ ๋๋ค.
์์ ์ด์ง์๋ฅผ ๋ณํํด๋ณด๋ฉด ์ฒซ ๋ฒ์งธ๋ ๊ฐ์ด 79๋ก ๋์ค๊ณ , ๋ ๋ฒ์งธ๋ ๊ฐ์ด 65๋ก ๋์จ๋ค. ๊ทธ๋ฆฌ๊ณ ์ฒซ ๋ฒ์งธ ๊ฐ์ ์์คํค์ฝ๋์ ์ํด ์ํ๋ฒณ O, ๋ ๋ฒ์งธ ๊ฐ์ ์ํ๋ฒณ A๋ก ํํํ ์ ์๋ค.
ASCII : ์์คํค๋ ์๋ฌธ ์ํ๋ฒณ์ ์ฌ์ฉํ๋ ๋ํ์ ์ธ ๋ฌธ์ ์ธ์ฝ๋ฉ์ด๋ค.
๋ฐ์ดํฐ ํ์ ์ 0๊ณผ 1๋ก ์ ์ฅ๋์ด์๋ ์ปดํจํฐ์ ๋ฐ์ดํฐ๋ฅผ ์ธ๊ฐ์ด ์ดํดํ ์ ์๋๋ก ํด์ํ๊ธฐ ์ํ ์ฅ์น์ด๋ค. 79์ 65, O์ A ๋ชจ๋ ๋ฐ์ดํฐ ํ์ ์ด ๋๋ค.
๐ ์๋ฃ ๊ตฌ์กฐ (Data Structure)
๋ฐ์ดํฐ ํ์ ์ด ํ๋์ ๋ฐ์ดํฐ๋ฅผ ์ด๋ป๊ฒ ํด์ํ ์ง ์ ์ํ ๊ฒ์ด์๋ค๋ฉด, ์๋ฃ ๊ตฌ์กฐ๋ ์ฌ๋ฌ ๋ฐ์ดํฐ์ ๋ฌถ์์ ์ด๋ป๊ฒ ํด์ํ๊ณ ์ ์ฅํ ์ง ์ ์ํ ๊ฒ์ด๋ค.
์๋ฅผ ๋ค๋ฉด,
let array = [1,2,3,4,5] ๋ผ๋ ๋ฐฐ์ด์ด ์๋ค. ๋ฐฐ์ด์ ์ฌ๋ฌ ๋ฐ์ดํฐ๋ฅผ ๋์ดํ ์๋ฃ๊ตฌ์กฐ์ด๋ค.
๊ทธ๋ฆฌ๊ณ ๋ฐฐ์ด, ํธ๋ฆฌ, ์คํ, ํ ๋ฑ ์ฌ๋ฌ ๊ฐ์ง์ ์๋ฃ ๊ตฌ์กฐ๊ฐ ์กด์ฌํ๋ค.
๐ ์๋ฃ ๊ตฌ์กฐ (Data Structure)๋ฅผ ๊ณต๋ถํด์ผ ํ๋ ์ด์
๋ด๊ฐ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ๋ฐฐ์ ์ ๋ ๊ฐ์ฅ ์ข์๋ ์ ์ ๋ฐ์ดํฐ๋ฅผ ๊บผ๋ด์ฐ๊ธฐ ์ฝ๊ฒ ์ ์ ๋ฆฌ ์ ๋ํ ์ ์๋ค๋ ์ ์ด์๋ค. ๋ฐ์ดํฐ์์ฒด๋ ํ์ฉํ ์ ์์ด์ผ ์๋ฏธ๊ฐ ์๊ธฐ ๋๋ฌธ์ ์ ํ์ฉํ ์ ์์ด์ผํ๋ค. ๋๋ถ๋ถ์ ์๋ฃ ๊ตฌ์กฐ๋ค์ ํน์ ํ ์ํฉ์์ ๋ฌธ์ ํด๊ฒฐ์ ํ๋ค. ๊ทธ๋ฌ๋ฏ๋ก ๋ง์ ์๋ฃ ๊ตฌ์กฐ๋ค์ ์๋ฉด, ์ ํฉํ ์ํฉ์์ ๋์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๊ฒ ๋๋ค. 10000๋ฒ ํ์ ํ ์ฐพ์ ์๋ ์๊ณ , 26๋ฒ ํ์ ํ ์ฐพ์ ์๋ ์๋ค.
'data structure' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ