728x90
반응형
추상 자료형(abstract data type, ADT)
추상자료형: 자료들과 그 자료들에 대한 연산들을 명기한 것이다.
- 저장된 데이터
- 데이터에 대한 작업들
- 작업 중 발생 가능한 에러 상황들
추상적 자료형은 구현 방법을 명시하고 있지 않다는 점에서 자료 구조와 다르다.
추상적 자료 구조 | 각 연산의 시간 복잡도를 명기함 |
추상적 자료형 | 각 연산의 시간 복잡도를 명기하지 않음 |
추상적 자료형은 인터페이스와 구현을 분리하여 추상화 계층을 둔 것이다.
잘 알려진 추상 자료형에는 복소수, 리스트, 스택, 큐, 맵, 우선순위 큐, 집합 등이 있다.
리스트 ADT: 연속적인 임의 개체 모델링원소에 대한 접근 도구
직접 응용 | - 스택, 큐, 집합 등을 표현하기 위한 도구 - 소규모 데이터베이스 |
간접응용 | 더 복잡한 데이터 구조를 구축하기 위한 재료로 사용 |
예외
예외: 어떤 ADT 작업을 실행하고자 할 때 발생할 수 있는 오류 상황.
리스트 ADT에서 발령 가능한 예외들
- invalidRankException()
- fullListException()
- emptyListException()
단일연결리스트
단일연결리스트: 연속 노드로 구성된 구체적인 데이터구조
각 노드의 저장 내용
- 원소
- 다음 노드를 가리키는 링크
이중연결리스트
이중연결리스트: 리스트 ADT를 자연스럽게 구현가능
각 노드의 필드
- 원소
- 이전 노드를 가리키는 링크
- 다음 노드를 가리키는 링크
728x90
반응형
'Datastructure' 카테고리의 다른 글
[집합과 검색] #1. 집합과 연결리스트 (0) | 2022.01.24 |
---|---|
[연결리스트] #4. 연결리스트의 순회 (0) | 2022.01.16 |
[연결리스트] #3. 연결리스트의 삭제와 삽입 (2) | 2022.01.16 |
[연결리스트] #3. 연결리스트의 생성 (0) | 2022.01.16 |
[연결리스트] #1. 연결리스트의미와 종류 (0) | 2022.01.10 |