본문 바로가기

자료구조

[C프로그래밍] - 배열 배열(Array) 배열은 같은 자료형(data type)을 가진 변수들의 나열이라고 생각하면된다. 배열은 나누어서 할당 될 수 없고 메모리에 연속적으로 저장된다. (메모리에 연속된 공간이 필요하다 ) 인덱스(index) : 배열의 요소를 구별하기위해 사용하는 번호이다. C에서 인덱스는 항상 0부터 시작한다. 1차원 배열 1차원 배열의 선언 형식은 아래와 같다. 데이터타입 배열이름[배열요소(변수)개수]; 예들들어, 정수변수가 10개 들어갈 수 있는 배열 arr라는 배열을 선언하려 하면 아래와 같이 선언하면 된다.int arr[10];int형 배열요소 10개로 구성된 배열 arr이라는 뜻이다.배열요소는 arr[0]부터 arr[9]까지이고 메모리 할당크기는 int가 4byte이므로 4byte X 10 = 40.. 더보기
1.자료구조의 개요(2) - 자료의 표현 컴퓨더 내부에서 자료를 표현하는 방법 수치자료의 표현 - 10진수의 표현 * 존(Zone) 형식의 표현 10진수 한자리를 표현하기 위해 1byte(8bits)를 사용한다. 존영역과 수치영역으로 구분되는데, 존영역에는 부호(음수,양수)와 관련된 정보가 들어가고, 수치영역에는 10진수한자리가 들어간다.수치영역이 4bits인 이유는 10진수 한자리 즉, 0~9를 표현하기위해 적어도 10개를 구분할수있는 자리가 있어야 하기 때문이다.3bits는 2^3=8개로 부족하므로 4bits 2^4=16 을 쓴다. 최하위 존영역(S:sign비트-부호비트)빼고 다른 존영역에는 모두 1111(16진수F)가 들어간다. S에는 1100(16진수C)- 양수일때 / 1101(16진수D) - 음수일때가 들어간다. 존영역에서 16진수의 .. 더보기
1.자료구조의 개요(1) 자료구조란? 자료를 효율적으로 사용하기 위해서 자료의 특성에 따라서 분류하여 구성하고 저장 및 처리하는 모든작업 왜 자료구조를 배워야 하는가 문제 도출 단계 에서 문제 정의를 하고 문제 변환단계에서 프로그램을 작성할수 있도록 자료정의와 알고리즘 작성을 해야한다.따라서 자료구조와 알고리즘은 프로그래머에게 필수적이다. 자료구조의 분류 - 자료의 형태에 따른 분류 - 단순구조: int, float, char, char* 등의 기본 자료형 => C언어 - 선형구조: 리스트, 연결 리스트, 스택, 큐, 덱 등-> 1차원- 한직선상에 놓을수 있음, 순서가 있음- 비선형 구조: 트리, 그래프 등 ->2차원 - 한직선상에 놓을수 없음, 순서를 구분할수 없음, 평면에 놓을수 있음=> 자료구조(메인메모리에 적재) - 파일.. 더보기