자료구조(Algorithm)가 뭡니까!

jiaLEE·2022년 5월 22일
0

Algorithm

목록 보기
1/1

  1. 왜 자료구조를 공부해야 하나요?
  2. 자료구조의 종류
  3. 자료의 표현

👩🏻‍💻 왜 자료구조를 공부해야 하나요?

다양한 자료를 효율적으로 표현, 저장, 처리하여 사용할 수 있도록 하는 것이 '자료구조'이다.

컴퓨터는 알아서 움직이는 것이 아니라 알고리즘대로 움직인다. 그렇기에 그 알고리즘을 짜는 사람의 알고리즘 이해도에 따라 효율성이 달라진다.

ex) 입 닫고 빵이나 먹어 => error

1. 자료구조의 종류

1-1) 선형구조

1:1 관계의 구조로 linked list, stack, queue, deque등이 있다.

1-2) 비선형구조

1:n 혹은 n:n관계로 계층구조나 망 구조를 갖고 있으며 트리, 그래프가 있다.

1-3) 파일구조

레코드의 집합인 파일에 대한 자료구조, 데이터가 실제로 기록되는 자료구조이다.
순차파일, 색인 파일, 직접파일이 있다.

2. 자료의 표현

0과 1을 표현하는 최소 단위 = 1비트 = 2ⁿ
8비트 = 2니블(4비트) = 1바이트

2-1) 수치자료

  • 10진수 zone형식: 기본 8비트가 쓰이며 앞의 4비트에(zone) 1111이 표기되고 그 뒤의 4비트에 숫자를 표현한다. 마지막 zone에 부호를 표기한다.
  • 10진수 pack형식: 앞쪽에 숫자를 표현하고 마지막 4비트에 부호를 표시한다.
  • 2진수 정수 표현: 양수=0, 음수=1로 맨 앞에 부호표시, 절대값으로 2진수 수 표현
  • 1의 보수 형식: 11111111에서 표현하고자 하는 수의 보수를 빼서 나타낸다.
  • 2의 보수 형식: 1의 보수 형식에 +1을 한다.

2-2) 문자자료

문자자료도 0과 1로 이루어진 코드로 저장하며 아래와 같은 종류의 코드가 존재한다.

  • BCD 코드: 6비트, 상위 2비트로 문자열판단 후 하위코드로 무슨 글자인지 확인
  • EBCDIC 코드: 8비트, 상위 4비트의 존비트와 하위 4비트의 숫자비트
  • ASCII 코드: 7비트, 상위 3비트의 존비트와 하위 4비트의 숫자비트(표준코드)
  • 유니코드: 16비트, 모든 나라별 언어 표현가능

2-3) 논리자료

논리값인 True나 False를 표현하는 자료 형식이다.

2-4) 포인터(참조)자료

메모리의 주소를 표현하고 사용하기 위한 자료형식으로 주소를 저장하고 주소연산에 사용한다.

2-5) 문자열 자료

연속적으로 문자를 저장하게 되는데 이때 문자열의 크기를 구분자로 구분하거나 길이를 고정시키면 낭비가 생길 수 있으며 포인터를 사용하면 효율적이다.

[출처] 이지영, 『자바로 배우는 쉬운 자료구조』, 한빛아카데미(2018), p.1-48.

0개의 댓글