반응형
자료구조와 알고리즘의 관계
- 프로그램 = 자료구조 + 알고리즘 (+ 프로그래밍 언어)
- 자료구조 vs 알고리즘
- 처리할 대상 vs 처리하는 방법
- 예) 음식 : 요리 재료와 요리법
- 자료구조 : 자료를 어떻게 분류,보관, 사용할 것인가?
- 알고리즘 : 자료를 어떻게 처리하여 원하는 결과를 얻을 것인가?
기본적인 자료구조
- 배열(array)
- 동일 종류의 원소들로 구성
- (논리적으로) 연속된 기억장소에 저장
- 배열명과 인자(index)로 표현
- 차원 : 1차원/2차원 (e.g. A[], B[5],C[3][4] 등)
- 연결리스트(linked list)
- 주로 노드(node)와 연결 링크(link)로 구성
- 배열의 단점 제거 : 삽입/삭제가 용이
- 단일 연결 리스트, 이중 연결 리스트 등
- 스택(stack), 큐(queue)
- 관련 함수 (예) push, pop, insert, delete 등
- 트리(tree), 그래프(graph)
- 용어 정리 : 노드(루트/부모/자식), 가지 등
반응형
'공부 > 자료구조 | 알고리즘' 카테고리의 다른 글
[알고리즘] 정렬 / 정렬 프로그램 완성 (0) | 2019.09.15 |
---|---|
[알고리즘] 순환 알고리즘 Recursion / 하노이 탑 (0) | 2019.09.15 |
[자료구조] 원형 큐 Circular Queue (0) | 2019.09.14 |
[자료구조] 큐 Queue / 연결리스트를 이용한 큐의 구현 (0) | 2019.09.13 |
[자료구조] 큐 Queue / 배열을 이용한 큐의 구현 (0) | 2019.09.12 |