data structure

๐Ÿ—‚๏ธ ์ž๋ฃŒ๊ตฌ์กฐ ๊ณต๋ถ€ํ•˜๊ธฐ 1 | ์ž๋ฃŒ๊ตฌ์กฐ์˜ ๊ฐœ๋…

grasinnong 2020. 12. 17. 10:02

 

 

์ž๋ฃŒ๊ตฌ์กฐ

 

๐Ÿ‘‰ ์ž๋ฃŒ(DATA)

์ž๋ฃŒ(่ณ‡ๆ–™, data, ๋ฐ์ดํ„ฐ, ๋ฌธํ™”์–ด: ๋ฐํƒ€)๋Š” ๋ฌธ์ž์ˆซ์ž, ์†Œ๋ฆฌ, ๊ทธ๋ฆผ, ์˜์ƒ๋‹จ์–ด ๋“ฑ์˜ ํ˜•ํƒœ๋กœ ๋œ ์˜๋ฏธ ๋‹จ์œ„์ด๋‹ค. ๋ณดํ†ต ์—ฐ๊ตฌ๋‚˜ ์กฐ์‚ฌ ๋“ฑ์˜ ๋ฐ”ํƒ•์ด ๋˜๋Š” ์žฌ๋ฃŒ๋ฅผ ๋งํ•˜๋ฉฐ, ์ž๋ฃŒ๋ฅผ ์˜๋ฏธ์žˆ๊ฒŒ ์ •๋ฆฌํ•˜๋ฉด ์ •๋ณด๊ฐ€ ๋œ๋‹ค.(์œ„ํ‚ค๋ฐฑ๊ณผ)

 

 

๐Ÿ‘‰ ์ปดํ“จํ„ฐ์˜ ์–ธ์–ด

์šฐ๋ฆฌ๊ฐ€ ์ด๋Ÿฌํ•œ ์ž๋ฃŒ๋“ค์„ ๊ฐ€์ง€๊ณ  ์ปดํ“จํ„ฐ์— ์ฒ˜๋ฆฌ๋ฅผ ๋งก๊ธธ ๋•Œ, ์ปดํ“จํ„ฐ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์„๊นŒ?

 

0๊ณผ 1. ์ปดํ“จํ„ฐ์˜ ์–ธ์–ด๋Š” 0๊ณผ 1์ด๊ธฐ ๋•Œ๋ฌธ์— ๋‘ ์ˆ˜๋ฅผ ๊ฐ€์ง€๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•ด์ฃผ์–ด์•ผ ์ปดํ“จํ„ฐ๊ฐ€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค. 

 

 

์˜ˆ์ „์—๋Š” ์œ„์™€ ๊ฐ™์€ ์ฒœ๊ณต ์นด๋“œ๋ผ๋Š” ๊ฒƒ์„ ์ด์šฉํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ํ‘œํ˜„ํ•˜์—ฌ ์ปดํ“จํ„ฐ์— ์ „๋‹ฌํ•˜์˜€๋‹ค. 

 

ํ•˜์ง€๋งŒ ์ฒœ๊ณต ์นด๋“œ๋กœ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ 0๊ณผ 1๋กœ ํ‘œํ˜„ํ•˜๊ธฐ์—๋Š” ํ•œ๊ณ„๊ฐ€ ์ƒ๊ฒผ๊ณ , ํ”„๋กœ๊ทธ๋ž˜๋จธ๋“ค์€ ๋‹ค๋ฅธ ๋ฐฉ์•ˆ์„ ๊ณ ์•ˆํ•ด๋ƒˆ๋‹ค. ๊ทธ ๊ฒฐ๊ณผ๋กœ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด(c, python, c++ ๋“ฑ)๊ฐ€ ๋“ฑ์žฅํ•˜์˜€๊ณ , ์ด์ œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์™€ ๊ธฐ๊ณ„์–ด(0,1) ์‚ฌ์ด์— ๋ฒˆ์—ญ๊ธฐ(Compiler)๊ฐ€ ๋“ฑ์žฅํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. 

 

์ปดํŒŒ์ผ๋Ÿฌ์˜ ๋“ฑ์žฅ์œผ๋กœ ์ธ๊ฐ„์˜ ์–ธ์–ด๋กœ ์ปดํ“จํ„ฐ์— ๋ช…๋ น์„ ๋‚ด๋ฆด ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๋‹ค. ํ•˜์ง€๋งŒ ์—ฌ์ „ํžˆ ์ปดํ“จํ„ฐ์—๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ 0๊ณผ 1๋กœ ์ €์žฅ๋œ๋‹ค.

 

 

๐Ÿ‘‰ ๋ฐ์ดํ„ฐ ํƒ€์ž…(Data Type)

 

 

8 bit = 1 byte

 

 

์ด์ง„์ˆ˜์˜ ์—ฐ๊ฒฐ์„ ํŠน์ •ํ•œ ๊ธธ์ด๋กœ ๋Š์–ด์„œ ๋‹จ์œ„๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค. ํ•œ ์นธ์€ 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๋ฒˆ ํƒ์ƒ‰ ํ›„ ์ฐพ์„ ์ˆ˜๋„ ์žˆ๋‹ค. 

 

 

 

 

 

 

 

2์ง„๋ฒ• ๊ณ„์‚ฐ๊ธฐ - ๊ณ„์‚ฐ๊ธฐ

์šฐ๋ฆฌ์˜ 2์ง„๋ฒ• ๊ณ„์‚ฐ๊ธฐ๋ฅผ ๊ฐ€์ง€๊ณ  10์ง„์ˆ˜๋ฅผ 2์ง„์ˆ˜๋กœ ๊ฐ„๋‹จํ•˜๊ฒŒ ๋ณ€ํ™˜ํ•ด๋ณด์„ธ์š”. ์ด ๊ณ„์‚ฐ๊ธฐ๋ฅผ ๋‹น์‹ ์˜ ์›น์‚ฌ์ดํŠธ์—์„œ ์‚ฌ์šฉํ•ด๋ณด์„ธ์š” [was-this-helpful] ์šฐ๋ฆฌ์˜ 2์ง„๋ฒ• ๊ณ„์‚ฐ๊ธฐ๋ฅผ ๊ฐ€์ง€๊ณ  10์ง„์ˆ˜๋ฅผ 2์ง„์ˆ˜๋กœ ๊ฐ„๋‹จํ•˜

ko.calcuworld.com