본문 바로가기
코딩/자료구조

[자료구조] 1-1. 자료구조(Data Structure)에 대한 기본적인 이해

by yenua 2021. 4. 17.
반응형

자료구조 공부를 위해서는 다음 파트에 대한 지식이 있어야 한다.

기본적으로 C를 제대로 공부했다면 다 알고 있는 내용일 것이다.

-구조체, typedef

-malloc 함수, free 함수(동적할당)

-포인터 변수, 포인터 연산(자유롭게 할 수 있어야 함)

-헤더파일(정의, #ifndef ~ #endif 매크로)

-둘 이상의 소스파일과 헤더파일을 이용하여 프로그램 만들기

-재귀함수

+기초 문법

 

프로그램: 데이터를 표현하고 그렇게 표현된 데이터를 처리하는 것

자료구조: 데이터의 표현 및 저장방법

 

선형 자료구조: 데이터를 선의 형태로 나란히, 일렬로 저장하는 방식

비선형 자료구조: 데이터를 나란히 저장하지 않는 구조(선형 자료구조에 비해 상대적으로 공부하기 수월하지 않음)

 

알고리즘: (표현 및 저장된 데이터를 대상으로 하는) 문제의 해결 방법

 

자료구조와 알고리즘은 밀접한 관계를 가진다. 자료구조가 결정되어야 그에 따른 효율적인 알고리즘을 결정할 수 있기 때문이다. 아래는 그 예(?)이다.

int arr[10] = {1, 2, 3, 4, 5, 6, 7 ,8, 9, 10}; //자료구조적 측면의 코드
for(idx=0; idx<10; idx++) //알고리즘적 측면의 코드
	sum += arr[idx];

 

본 글은 윤성우의 열혈 자료구조를 읽으며 개인 공부 용으로 작성되었음을 밝힙니다.

book.naver.com/bookdb/book_detail.nhn?bid=6809127

 

윤성우의 열혈 자료구조

윤성우의『열혈 자료구조』는 자료구조에 대한 기본을 배울 수 있는 개론서이다. 400여 개의 그림을 곁들여 친절하게 설명하였으며, 완성된 예제를 제공하여 학습의 편의를 도모하였다. 더불어

book.naver.com

반응형