전체 글
-
[자료구조]CH3. 순차 자료구조와 선형리스트(행렬~) - CH4. 연결 자료구조와 연결리스트(~연결 자료구조와 연결 리스트의 이해)자료구조 공부 2021. 1. 26. 20:48
참조 : C로 배우는 쉬운 자료구조(이지영 저) 공부 날짜 : 2021.01.24 2. 행렬의 선형 리스트 표현 행렬은 행과 열로 이루어진 자료구조이다. 행렬에서 행의 개수와 열의 개수가 같은 행렬을 정방행렬이라고 하며, 행렬의 행과 열을 서로 바꿔 구상한 행렬을 전치행렬이라고 한다. m*n 행렬 A를 2차원 배열 A[m][n]으로 표현할 수 있다. 하지만 대부분의 원소 값이 0인 희소행렬의 경우에는 기억 공간의 활용도가 떨어진다. 그러므로 0이 아닌 원소들에 대한 의 쌍을 구해 2차원 배열에 저장한다. 이때 이 2차원 배열의 첫번째 행은 이다. CH4. 연결 자료구조와 연결 리스트 연결 자료구조와 연결 리스트의 이해 1. 연결 자료구조의 개념 순차 자료구조의 연산 시간과 저장 공간에 대한 문제를 개선한..
-
[자료구조]CH3. 순차 자료구조와 선형 리스트(~다항식의 선형 리스트 표현)자료구조 공부 2021. 1. 23. 23:04
참조 : C로 배우는 쉬운 자료구조(이지영 저) 공부날짜 : 2021.01.23 순차 자료구조와 선형 리스트의 이해 1. 순차 자료구조의 개념 순차 자료구조는 구현할 자료들을 논리적인 순서대로 메모리에 연속하여 저장하는 구현 방식이다. 따라서 논리적 순서와 물리적 순서가 항상 일치한다. 이러한 방식의 프로그램 기법은 배열을 이용하여 구현한다. 2. 선형 리스트의 표현과 연산 2.1 선형 리스트의 표현 자료를 구조화하는 가장 기본적인 방법은 나열이다. 이런 나열한 목록을 리스트라고 한다. 이때 원소들을 순서대로 나열한 리스트를 선형 리스트 또는 순서 리스트라고 한다. 나열된 순서가 원소의 순서이며, 원소가 하나도 없는 리스트는 공백 리스트라고 한다. 선형 리스트(선형 순차 리스트)는 논리적 순서와 물리적 ..
-
[자료구조]CH2. 자료구조 구현을 위한 C프로그래밍 기법(구조체,재귀호출)자료구조 공부 2021. 1. 19. 14:50
참조 : C로 배우는 쉬운 자료구조(이지영 저) 공부날짜 : 2021.01.17 구조체 1. 구조체 개념 배열은 자료형이 같을 때만 그룹으로 묶을 수 있지만, 구조체는 서로 다른 자료형도 그룹으로 묶을 수 있어 복잡한 자료 형태를 정의할 때 사용할 수 있다. 자료의 단위 형식을 레코드(행), 레코드를 구성하는 하위항목을 필드, 레코드가 여러 개 모이면 파일이 된다. 2. 구조체 선언 구조체의 데이터 항목은 자료형은 서로 다를 수 있으므로 항목별로 자료형과 항목 이름(변수 이름)을 선언한다. 구조체형의 선언은 구조체의 모양을 선언한 것이므로, 사용할 때는 구조체 변수를 선언해주어야 한다. *구조체형의 선언 struct 구조체형이름 { 자료형 항목1; 자료형 항목2; ... 자료형 항목n; }; *구조체 변..
-
[자료구조]CH2. 자료구조 구현을 위한 C프로그래밍 기법(포인터)자료구조 공부 2021. 1. 17. 17:03
참조 : C로 배우는 쉬운 자료구조(이지영 저) 공부날짜 : 2021.01.16 포인터 1. 포인터 개념 변수는 메모리의 특정 위치에 저장되는데 그 위치를 나타내는 메모리 주소를 포인터라고 한다. 포인터 변수는 메모리의 주소값을 저장하는 특별한 변수이다. 즉 포인터 변수가 메모리의 위치를 가리키고 있다는 의미이다. 자료형에 상관없이 메모리 주소 한 개를 저장하는 변수이므로 4바이트를 사용한다. 2. 포인터 선언 자료형 *포인터이름; (포인터 자체의 자료형이 아닌 포인터에 저장할 주소에 있는 일반 변수의 자료형이다.) 3. 포인터 연산 3.1 주소연산자(&) 변수의 주소를 얻는데 사용한다. 변수와 포인터은 같은 자료형으로 선언되어 있어야 한다. 포인터 = &변수; 3.2 참조연산자(*) 어떠한 변수의 주소..
-
[자료구조]CH2. 자료구조 구현을 위한 C프로그래밍 기법(배열)자료구조 공부 2021. 1. 15. 15:34
참조 : C로 배우는 쉬운 자료구조 (이지영 저) 공부날짜 : 2021.01.13 배열 1. 배열의 개념 배열(Array)은 자료형이 겉은 자료를 나열하여 메모리에 연속으로 저장하여 만든 자료 그룹이다. 배열 요소를 구별하기 위해서 사용하는 번호는 인덱스라고 하고 인덱스는 항상 0부터 시작한다. 특정 배열 요수를 사용할 경우는 '배열이름[배열 요소의 인덱스]'로 지정하여 변수처럼 사용한다. 2. 1차원 배열 2.1 1차원 배열의 선언 자료형 배열이름 [배열요수의 개수]; 2.2 1차원 배열의 초기화 자료형 배열이름[배열크기] = {초깃값 리스트}; 배열에 초깃값을 주어도 되고 배열요소 각각에 초깃값을 주는 방법도 있다. 만약 배열 크기보다 초깃값을 적게 지정하면, 배열 요소에 차례대로 초깃값이 할당되고 ..
-
[자료구조]CH1. 자료구조 소개자료구조 공부 2021. 1. 13. 14:43
참조 책 : C로 배우는 쉬운 자료구조(이지영 저) 자료구조의 이해 1. 자료구조의 개념 사회의 정보화와 다양화로 인해 그 정보를 얼마나 효율적으로 사용하는냐가 중요한 사항이 되었다. 자료를 효율적으로 표현하고 저장하고 처리할 수 있도록 정리하는 것이 '자료구조' 이다. 컴퓨터는 자료를 효과적으로 표현하고 효율적으로 저장 및 처리하기 위해서 논리적인 구조로 설계하고 분석하여 프로그램에 사용한다. 자료구조는 이론적 측면에서 알고리즘을 분석하여 검색, 정렬 방법 등을 결정하고, 효울 분석을 통해 최적의 상태를 결정한다. 결정한 내용에 따라서 자료를 여러 구조로 실제적으로 표현하고 알고리즘을 구현하며, 프로그래밍과 파일 작성 및 메모리 관리와 운영체제 등에 사용한다. 2. 자료구조의 분류 *단순구조 : 정수,..