λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
Computer Science

[자료ꡬ쑰] μžλ£Œκ΅¬μ‘°λž€ 무엇인가? - 정리 및 μ—°μŠ΅λ¬Έμ œ

by Leica 2019. 11. 18.
λ°˜μ‘ν˜•

1. μžλ£Œμ™€ μ •λ³΄μ˜ 관계

자료(data) : ν˜„μ‹€ μ„Έκ³„μ—μ„œ κ΄€μ°°μ΄λ‚˜ 츑정을 톡해 μˆ˜μ§‘λœ κ°’(value)μ΄λ‚˜ 사싀(fact)
정보(information) :
- μ–΄λ–€ 상황에 λŒ€ν•΄ μ μ ˆν•œ μ˜μ‚¬κ²°μ •(decision)을 ν•  수 있게 ν•˜λŠ” 지식(knowledge)μœΌλ‘œμ„œ 자료의 μœ νš¨ν•œ ν•΄μ„€(interpretation)μ΄λ‚˜ 자료 μƒν˜Έκ°„μ˜ 관계(relationship)을 ν‘œν˜„ν•˜λŠ” λ‚΄μš©
- 자료의 2차 처리 결과물

μžλ£Œμ™€ μ •λ³΄μ˜ κ΄€κ³„λŠ” μˆ˜μ‹ I = P(D)둜 ν‘œν˜„ν•  수 μžˆλ‹€. (I : Information, P : Process, D : Data)

 

2. μΆ”μƒν™”μ˜ κ°œλ…

좔상화 : 곡톡적인 κ°œλ…μ„ μ΄μš©ν•˜μ—¬ 같은 μ’…λ₯˜μ˜ λ‹€μ–‘ν•œ 객체λ₯Ό μ •μ˜ν•˜λŠ” 것

  자료의 μΆ”μƒν™”λŠ” λ‹€μ–‘ν•œ 객체λ₯Ό μ»΄ν“¨ν„°μ—μ„œ ν‘œν˜„ν•˜κ³  ν™œμš©ν•˜κΈ° μœ„ν•΄ ν•„μš”ν•œ 자료의 ꡬ쑰에 λŒ€ν•΄μ„œ κ³΅ν†΅μ˜ νŠΉμ§•λ§Œμ„ 뽑아 μ •μ˜ν•œ 것이닀. 자료 μ‚¬μ΄μ˜ 논리적 관계λ₯Ό μ»΄ν“¨ν„°λ‚˜ ν”„λ‘œκ·Έλž¨μ— μ μš©ν•˜κΈ° μœ„ν•΄μ„œλŠ” 자료의 좔상화가 ν•„μš”ν•˜λ‹€.

 

3. 자료ꡬ쑰의 κ°œλ…

자료ꡬ쑰(Data Structure) : 좔상화λ₯Ό 톡해 자료의 논리적 관계λ₯Ό κ΅¬μ‘°ν™”ν•œ 것

 

3-1. 좔상 μžλ£Œν˜•(ADT)

좔상 μžλ£Œν˜•(ADT) :
- 자료의 λ³΅μž‘ν•œ 논리적 성격을 μ •μ˜ν•˜λŠ” ν˜•μ‹
- 자료 집합과 μ—°μ‚° μ§‘ν•©μ˜ μ •μ˜/λͺ…μ„Έ

 

3-2. 자료ꡬ쑰의 ν˜•νƒœ

Cμ–Έμ–΄λ₯Ό 기반으둜 μ •μ˜λœ κΈ°λ³Έ 자료ꡬ쑰의 μ’…λ₯˜μ™€ 관계 (좜처: ν•œκ΅­λ°©μ†‘ν†΅μ‹ λŒ€ν•™κ΅)

 

미리 μ •μ˜λœ 자료ꡬ쑰 :
- ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄μ—μ„œ μ œκ³΅λ˜λŠ” 자료ꡬ쑰

기본 자료ꡬ쑰 :
- μƒν™œ μ†μ—μ„œ μˆ«μžλ‚˜ 문자 λ“±μ˜ ν˜•νƒœλ‘œ μ‘΄μž¬ν•˜λŠ” 자료λ₯Ό μΆ”μƒν™”ν•œ 자료ꡬ쑰

νŒŒμƒ 자료ꡬ쑰 :
- ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄μ—μ„œ 제곡되면 μœ μš©ν•œ 자료ꡬ쑰라고 νŒλ‹¨ν•˜μ—¬ νŒŒμƒλœ 자료ꡬ쑰

μ‚¬μš©μž μ •μ˜ 자료ꡬ쑰 :
- κ°œλ°œμžκ°€ μ •μ˜ν•˜μ—¬ μ‚¬μš©ν•˜λŠ” 자료ꡬ쑰
- νŠΉμ • λͺ©μ μ— 맞좰 μ •μ˜λœλ‹€.

  미리 μ •μ˜λœ 자료ꡬ쑰λ₯Ό μ΄μš©ν•˜μ—¬ ν”„λ‘œκ·Έλž¨ μ½”λ“œμ—μ„œ μ„ μ–Έν•˜λ©΄ 컴파일러 λ“±μ˜ 도ꡬ가 ꡬ체적인 μ €μž₯ μš©λŸ‰κ³Ό 방법을 κ²°μ •ν•œλ‹€. μ‚¬μš©μž μ •μ˜ μžλ£Œκ΅¬μ‘°λŠ” κ°œλ°œμžκ°€ μ •μ˜, μΆ”μƒν™”ν•˜μ—¬ ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄λ‘œ κ΅¬ν˜„ν•œλ‹€.

 

4. μžλ£Œκ΅¬μ‘°μ™€ μ•Œκ³ λ¦¬μ¦˜

μ•Œκ³ λ¦¬μ¦˜
- 컴퓨터가 일을 ν•˜λŠ” 데 ν•„μš”ν•œ λͺ…λ Ήμ–΄λ“€μ˜ μœ ν•œμ§‘ν•©
- μΆ”μƒν™”λœ ν˜•νƒœ
- μ•Œκ³ λ¦¬μ¦˜ ─ ꡬ체화 → ν”„λ‘œκ·Έλž¨

- μžλ£Œκ΅¬μ‘°λŠ” μ•Œκ³ λ¦¬μ¦˜μ˜ κΈ°μ΄ˆκ°€ 되며 μ•Œκ³ λ¦¬μ¦˜μ˜ μ„±λŠ₯에 영ν–₯을 쀄 수 μžˆλ‹€.

- μžλ£Œκ΅¬μ‘°κ°€ μž…λ ₯값이 μΆ”μƒν™”λœ μƒνƒœλΌλ©΄ μ•Œκ³ λ¦¬μ¦˜μ€ μˆ˜ν–‰ν•  λͺ…령이 좔상화이닀.

- κ°œλ°œμžλŠ” μž…λ ₯값을 μΆ”μƒν™”λœ ν˜•νƒœ(자료ꡬ쑰)둜 κ΅¬μ‘°ν™”ν•˜κ³  λͺ…λ Ήμ–΄λ₯Ό μΆ”μƒν™”λœ ν˜•νƒœ(μ•Œκ³ λ¦¬μ¦˜)둜 μ²΄κ³„ν™”ν•œ λ’€ ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄λ‘œ μžλ£Œκ΅¬μ‘°μ™€ μ•Œκ³ λ¦¬μ¦˜μ„ κ΅¬μ²΄ν™”ν•œλ‹€.

 

4-1. μ•Œκ³ λ¦¬μ¦˜μ˜ 쑰건

β‘  좜λ ₯ μ•Œκ³ λ¦¬μ¦˜ μˆ˜ν–‰ ν›„ 적어도 ν•œ 가지 κ²°κ³Όλ₯Ό 생성해야 ν•œλ‹€.
β‘‘ μœ νš¨μ„± μ•Œκ³ λ¦¬μ¦˜μ€ μ‹€ν–‰ κ°€λŠ₯ν•΄μ•Ό ν•˜λ©° λ™μΌν•œ κ²°κ³Όλ₯Ό 생성해야 ν•œλ‹€.
β‘’ μž…λ ₯ μ•Œκ³ λ¦¬μ¦˜μ˜ μž…λ ₯은 ν˜•νƒœκ°€ μ •μ˜λ  수 μžˆλŠ” μœ ν•œν•œ μž…λ ₯이어야 ν•œλ‹€.
β‘£ λͺ…ν™•μ„± μ•Œκ³ λ¦¬μ¦˜μ˜ λͺ…령은 λͺ…ν™•ν•΄μ•Ό ν•œλ‹€.
β‘€ μœ ν•œμ„± μ•Œκ³ λ¦¬μ¦˜μ€ μ–Έμ  κ°€ μ’…λ£Œλ˜μ–΄μ•Ό ν•œλ‹€.

 

5. μ•Œκ³ λ¦¬μ¦˜ μ„±λŠ₯의 뢄석과 μΈ‘μ •

μ•Œκ³ λ¦¬μ¦˜ μ„±λŠ₯ 뢄석 : μ•Œκ³ λ¦¬μ¦˜μ„ μ‹€ν–‰ν•˜λŠ”λ° ν•„μš”ν•œ μ‹œκ°„κ³Ό 곡간을 μΆ”μ •
μ•Œκ³ λ¦¬μ¦˜ μ„±λŠ₯ μΈ‘μ • : μ‹€μ œλ‘œ ν”„λ‘œκ·Έλž¨μ„ μ‹€ν–‰ν•˜λŠ”λ° κ±Έλ¦¬λŠ” μ‹œκ°„μ„ μΈ‘μ •

 

5-1. μ•Œκ³ λ¦¬μ¦˜ μ‹€ν–‰ μ‹œκ°„μ˜ 예츑

μ‹œκ°„ λ³΅μž‘λ„(Time Complexity) : μ•Œκ³ λ¦¬μ¦˜μ—μ„œ μž…λ ₯κ°’κ³Ό μˆ˜ν–‰ μ‹œκ°„μ˜ 상관관계λ₯Ό λ‚˜νƒ€λ‚΄λŠ” 척도

  μ•Œκ³ λ¦¬μ¦˜μ˜ μ‹€ν–‰ μ‹œκ°„μ€ μ‹œκ°„ λ³΅μž‘λ„λΌλŠ” κ°œλ…μ„ 톡해 μ˜ˆμΈ‘ν•  수 μžˆλ‹€. μ–΄λ–€ μ•Œκ³ λ¦¬μ¦˜μ΄ μ‹€ν–‰ νšŸμˆ˜μ— λŒ€ν•΄ O(n)의 ν•¨μˆ˜λ₯Ό κ°–κ³  μžˆλ‹€λŠ” 것은 μ‹€ν–‰ νšŸμˆ˜κ°€ κ·ΈλŸ¬ν•œ κ²½ν–₯을 κ°–κ³  μžˆλ‹€λŠ” 것을 μ˜λ―Έν•œλ‹€. λ‹€μˆ˜μ˜ μ•Œκ³ λ¦¬μ¦˜μ΄ μ‹€ν–‰ 횟수 ν•¨μˆ˜ O(n)을 κ°€μ§€λŠ” 것은 μœ μ‚¬ν•œ μž…λ ₯ 개수의 증가에 λŒ€ν•΄ λΉ„μŠ·ν•œ μ‹€ν–‰ μ‹œκ°„μ˜ 증가λ₯Ό λ³΄μΈλ‹€λŠ” 것을 μ˜λ―Έν•œλ‹€. 같은 O(n)을 가진닀고 ν•΄μ„œ 같은 μ‹€ν–‰ μ‹œκ°„μ„ κ°–λŠ” 것이 μ•„λ‹ˆλΌ μ‹€ν–‰ μ‹œκ°„μ˜ μœ μ‚¬ν•œ 증가 κ²½ν–₯을 보인닀. λ”°λΌμ„œ 같은 일을 ν•˜λŠ” μ—¬λŸ¬ μ•Œκ³ λ¦¬μ¦˜μ˜ μ‹€ν–‰ μ‹œκ°„μ„ μ˜ˆμΈ‘ν•΄μ„œ νŠΉμ • μž…λ ₯ κ²½ν–₯에 λŒ€ν•΄ μ ν•©ν•œ μ•Œκ³ λ¦¬μ¦˜μ„ 선택할 수 μžˆλ‹€.

 

5-2. μ•Œκ³ λ¦¬μ¦˜ μ‹€ν–‰ λ©”λͺ¨λ¦¬μ˜ 예츑

곡간 λ³΅μž‘λ„(Space Complexity) : ν”„λ‘œκ·Έλž¨μ„ μ‹€ν–‰μ‹œμΌœ μ™„λ£Œν•˜λŠ”λ° ν•„μš”ν•œ λ©”λͺ¨λ¦¬ μ΄λŸ‰
κ³ μ • 곡간 : ν”„λ‘œκ·Έλž¨μ΄ μ’…λ£Œλ  λ•Œ κΉŒμ§€ κ³ μ •μ μœΌλ‘œ ν•„μš”ν•œ λ©”λͺ¨λ¦¬ 곡간
κ°€λ³€ 곡간 : ν”„λ‘œκ·Έλž¨ μ‹€ν–‰ κ³Όμ •μ—μ„œ λ™μ μœΌλ‘œ ν• λ‹Ήλ˜μ–΄μ•Ό ν•˜λŠ” μžλ£Œκ΅¬μ‘°μ™€ λ³€μˆ˜λ₯Ό μœ„ν•΄ ν•„μš”ν•œ λ©”λͺ¨λ¦¬ 곡간

Sp = Sc + Se

ν”„λ‘œκ·Έλž¨ P의 총 λ©”λͺ¨λ¦¬ 곡간 = κ³ μ • 곡간 + κ°€λ³€ 곡간

 

  ν”„λ‘œκ·Έλž¨ P의 총 λ©”λͺ¨λ¦¬ 곡간(space for program)은 κ³ μ • 곡간(space for compile)κ³Ό κ°€λ³€ 곡간(space for execution)의 ν•©μœΌλ‘œ κ΅¬ν•œλ‹€.

 

5-3. μ•Œκ³ λ¦¬μ¦˜ μ‹€ν–‰ μ‹œκ°„μ˜ μΈ‘μ •

  ν”„λ‘œκ·Έλž¨μ˜ μ‹€μ œ μ‹€ν–‰ μ‹œκ°„μ„ μΈ‘μ •ν•˜λŠ” λ°©λ²•μœΌλ‘œ μ‹œμŠ€ν…œ μ‹œκ³„(System Clock)을 μ΄μš©ν•˜μ—¬ ν”„λ‘œκ·Έλž¨μ˜ 첫 λΌμΈμ—μ„œμ˜ μ‹œμŠ€ν…œ μ‹œκ°„, 끝 λΌμΈμ—μ„œμ˜ μ‹œμŠ€ν…œ μ‹œκ°„μ„ κΈ°λ‘ν•˜μ—¬ ꡬ할 수 μžˆλ‹€. μ‹€μ œ ν”„λ‘œκ·Έλž¨ 및 데이터가 μžˆμ–΄μ•Ό 츑정이 κ°€λŠ₯ν•˜λ‹€.

 

μ—°μŠ΅λ¬Έμ œ

1. 곡톡적인 κ°œλ…μ„ μ΄μš©ν•˜μ—¬ 같은 μ’…λ₯˜μ˜ λ‹€μ–‘ν•œ 객체λ₯Ό μ •μ˜ν•˜λŠ” 것은?
β‘  자료ꡬ쑰
β‘‘ 정보화
β‘’ 좔상화
β‘£ μ•Œκ³ λ¦¬μ¦˜

2. λ‹€μŒ λ¬Έμž₯의 옳고 그름을 κ²°μ •ν•˜μ‹œμ˜€. (O, X)
μ •λ³΄λŠ” ν˜„μ‹€ μ„Έκ³„μ—μ„œ κ΄€μ°°μ΄λ‚˜ 츑정을 ν†΅ν•΄μ„œ μˆ˜μ§‘λœ κ°’μ΄λ‚˜ 사싀이닀.

3. λ‹€μŒ λ¬Έμž₯의 옳고 그름을 κ²°μ •ν•˜μ‹œμ˜€. (O, X)
자료의 μΆ”μƒν™”λž€ 컴퓨터에 μ˜ν•΄ μˆ˜ν–‰λ˜κΈ° μœ„ν•΄ ν•„μš”ν•œ λͺ…λ Ήμ–΄λ“€μ˜ μœ ν•œ 집합이 μ‚¬λžŒμ˜ 머릿속에 μΆ”μƒν™”λ˜μ–΄ μ‘΄μž¬ν•˜λŠ” 것이닀.

4. 자료의 λ³΅μž‘ν•œ 논리적 성격을 μ •μ˜ν•˜λŠ” ν˜•μ‹μœΌλ‘œ 자료 κ°’μ˜ 집합과 μ—°μ‚° 집합에 λŒ€ν•œ λͺ…μ„Έμ˜ 집합을 무엇이라고 ν•˜λŠ”κ°€?(2016년도 기말고사 기좜문제)
β‘  좔상화 집합
β‘‘ μ•Œκ³ λ¦¬μ¦˜
β‘’ μžλ£Œν˜•
β‘£ 좔상 μžλ£Œν˜•

5. λ‹€μŒ λ¬Έμž₯을 μˆ˜μ‹μœΌλ‘œ ν‘œν˜„ν•œ κ²ƒμœΌλ‘œ μ•Œλ§žμ€ 것은?
정보(Information)은 자료(Data)λ₯Ό 처리(Process)ν•΄μ„œ 얻어진 κ²°κ³Ό(Result)이닀.
β‘  R = P(D)
β‘‘ I = P(R)
β‘’ P = R(D)
β‘£ I = P(D)

6. ν˜„μ‹€ μ„Έκ³„μ—μ„œ κ΄€μ°°μ΄λ‚˜ 츑정을 ν†΅ν•΄μ„œ μˆ˜μ§‘λœ κ°’μ΄λ‚˜ 사싀을 무엇이라 ν•˜λŠ”κ°€?
β‘  자료
β‘‘ 정보
β‘’ 자료ꡬ쑰
β‘£ 좔상화

7. I = P(D)의 ν•΄μ„μœΌλ‘œ μ˜³μ€ 것은?
β‘  정보(Information)은 자료(Data)λ₯Ό 처리(Process)ν•΄μ„œ 얻어진 κ²°κ³Ό(Result)이닀.
β‘‘ 정보(Information)은 κ²°κ³Ό(Result)λ₯Ό 처리(Process)ν•΄μ„œ 얻어진 자료(Data)이닀.
β‘’ 자료(Data)λŠ” κ²°κ³Ό(Result)λ₯Ό 처리(Process)ν•΄μ„œ 얻어진 정보(Information)이닀.
β‘£ 자료(Data)λŠ” 정보(Information)λ₯Ό 처리(Process)ν•΄μ„œ 얻어진 κ²°κ³Ό(Result)이닀.

8. λ‹€μŒ 쀑 미리 μ •μ˜λœ μžλ£Œκ΅¬μ‘°λŠ” 무엇인가?
β‘  λ°°μ—΄
β‘‘ μŠ€νƒ
β‘’ 큐
β‘£ 트리

9. μ•Œκ³ λ¦¬μ¦˜μ˜ 쑰건에 ν¬ν•¨λ˜μ§€ μ•ŠλŠ” 것은?
β‘  좜λ ₯
β‘‘ μž…λ ₯
β‘’ μ ˆλŒ€μ„±
β‘£ μœ ν•œμ„±

10. λ‹€μŒ ν‘œμ—μ„œ (κ°€), (λ‚˜)의 μˆœμ„œλŒ€λ‘œ κ°€μž₯ μ ν•©ν•œ λ‚΄μš©μ€ 무엇인가?
β‘  ν”„λ‘œκ·Έλž¨, μ•Œκ³ λ¦¬μ¦˜
β‘‘ 자료ꡬ쑰, μ•Œκ³ λ¦¬μ¦˜
β‘’ μŠˆλ„ μ½”λ“œ, ν”„λ‘œκ·Έλž¨
β‘£ μ•Œκ³ λ¦¬μ¦˜, ν”„λ‘œκ·Έλž¨
  자료 μ—°μ‚°
좔상화 좔상 μžλ£Œν˜• (κ°€)
ꡬ체화 μžλ£Œν˜• (λ‚˜)

 

μ •λ‹΅ β–Ό

더보기

1 : β‘’
2 : X
3 : X
4 : β‘£
5 : β‘£
6 : β‘ 
7 : β‘ 
8 : β‘ 
9 : β‘’
10 : β‘£

 

λ°˜μ‘ν˜•

λŒ“κΈ€