IT&컴퓨터공학/자료구조&알고리즘
[01]자료구조&알고리즘에 대해서
yan_z
2019. 1. 31. 13:59
"프로그램이란 데이터를 표현하고, 그렇게 표현된 데이터를 처리하는 것이다."
- 자료구조란 ?
데이터를 표현하고 저장하는 역할은 자료구조가 한다.
ex) 정수를 저장하기 위해서 int 형 변수를 선언한다. / 배열을 선언해서 다양한 정보를 저장한다.
즉, 자료구조는 데이터를 저장하는 도구이다.
- 자료구조의 분류
선형구조 |
리스트, 스택, 큐 |
비선형구조 |
트리, 그래프 |
파일구조 |
순차파일, 색인파일, 직접파일 |
단순구조 |
정수, 실수, 문자, 문자열 |
☞ 선형구조(linear) vs 비선형구조
선형구조 : 데이터를 일렬로 저장. 상대적으로 쉽다.
비선형구조: 데이터를 나란히 저장하지 않음. 어렵다!
- 알고리즘이란 ?
데이터를 처리하는 역할은 알고리즘이 한다.
ex) int arr[5] = {1,10,5,3,4} 에서 최솟값을 찾아라.
min = arr[0];
for(int i=0;i<5;i++){
if(arr[i]<min) min=arr[i];
}
위의 반복문은 배열에 저장된 모든 값 중 인덱스 값을 사용하여 최솟값을 구하는 알고리즘이다.
위의 자료구조가 배열이였기 때문에 인덱스값을 사용하는 알고리즘을 사용할 수 있었다.
따라서 알고리즘은 자료구조에 의존적이다.