자료구조란? |
자료를 효율적으로 사용하기 위해서 자료의 특성에 따라서 분류하여 구성하고 저장 및 처리하는 모든작업
왜 자료구조를 배워야 하는가 |
문제 도출 단계 에서 문제 정의를 하고 문제 변환단계에서 프로그램을 작성할수 있도록 자료정의와 알고리즘 작성을 해야한다.
따라서 자료구조와 알고리즘은 프로그래머에게 필수적이다.
자료구조의 분류 - 자료의 형태에 따른 분류 |
- 단순구조: int, float, char, char* 등의 기본 자료형 => C언어
- 선형구조: 리스트, 연결 리스트, 스택, 큐, 덱 등
-> 1차원- 한직선상에 놓을수 있음, 순서가 있음
- 비선형 구조: 트리, 그래프 등
->2차원 - 한직선상에 놓을수 없음, 순서를 구분할수 없음, 평면에 놓을수 있음
=> 자료구조(메인메모리에 적재)
- 파일구조: 순차파일, 색인 파일, 직접파일 등 => 파일구조(하드디스크에 저장)
자료의 표현 |
트랜지스터에는 1 or 0 만 저장할수 있다. 따라서 컴퓨터는 2진수를 이용한다.
- 1bit: 1 or 0 저장 가능
- 1byte(= 8bits) :2^8가지의 다른 수를 표현할수 있다. 알파벳과 기호를 256가지로 나타낼수 있으므로 1byte라는 단위를 사용한다. 즉 100bytes는 문자가 100개 있다는 뜻일 수 있다.
- 1nibble(= 4bits) : 10진수의 표현(0~9)을 위해서는 10가지의 다른수를 나타낼수 있는 bit수가 필요하다 3bits는 2^3 즉 8가지를 표현할수 있으므로 3bits로는 10진수 표현을 할수 없다. 4bits로는 2^4 즉 16가지로 10진수 표현이 가능하다. 하지만 6가지가 남는다. 그래서 16진수를 쓴다.(0 1 2 3 4 5 6 7 8 9 A B C D E F)
'FALL in > G.MA' s 자료구조' 카테고리의 다른 글
2.소프트웨어와 자료구조 - 소프트웨어 생명주기 (0) | 2016.04.10 |
---|---|
1.자료구조의 개요(2) - 자료의 표현 (0) | 2016.03.16 |