오늘은 리스트 ADT를 다룰 예정이다.
리스트 ADT
리스트 ADT는 데이터 구조의 한 유형으로, 연속적인 임의의 개체들을 모델링하는 데 사용됩니다.
이는 리스트가 순서가 있는 데이터 항목들의 집합을 나타낸다는 것을 의미합니다.
리스트 ADT는 다음과 같은 특징을 가집니다:
연속적인 임의의 개체들:
- 리스트는 여러 개의 요소(element)를 일렬로 나열한 구조입니다. 각 요소는 고유한 위치(인덱스 또는 순위)로 접근할 수 있습니다.
원소에 대한 접근 도구:
- 리스트 ADT는 각 원소에 쉽게 접근할 수 있도록 다양한 연산을 제공합니다. 예를 들어, 리스트에서 특정 위치(순위)에 있는 원소를 가져오거나, 새로운 원소를 특정 위치에 삽입하거나, 기존 원소를 삭제할 수 있습니다.
순위(rank):
- 리스트의 각 원소는 순위를 가지고 있으며, 이 순위는 원소의 위치를 나타냅니다. 일반적으로 순위는 0부터 시작하는 정수입니다. 이를 통해 리스트의 각 원소는 고유한 위치로 식별됩니다.
리스트 ADT의 메소드
리스트 ADT는 다양한 메소드를 통해 데이터를 조작하고 접근할 수 있습니다. 주요 메소드는 다음과 같습니다:
일반 메소드:
- boolean isEmpty(): 리스트가 비어 있는지 확인
- integer size(): 리스트의 크기 반환
- iterator elements(): 리스트의 모든 요소를 순회하는 반복자 반환
접근 메소드:
- element get(r): 주어진 순위 r에 있는 요소 반환
갱신 메소드:
- element set(r, e): 주어진 순위 r에 있는 요소를 e로 갱신
- add(r, e): 주어진 순위 r에 요소 e 추가
- addFirst(e): 리스트의 첫 번째 위치에 요소 e 추가
- addLast(e): 리스트의 마지막 위치에 요소 e 추가
- remove(r): 주어진 순위 r에 있는 요소 제거
리스트 ADT에서의 예외처리
리스트 ADT를 사용할 때 발생할 수 있는 오류 상황에 대해 예외 처리가 필요합니다.
예외 상황은 프로그램의 안정성과 오류 복구를 위해 중요합니다:
- invalidRankException(): 유효하지 않은 순위를 참조하려고 할 때 발생
- fullListException(): 리스트가 가득 찼을 때 요소를 추가하려고 할 때 발생
- emptyListException(): 빈 리스트에서 요소를 제거하려고 할 때 발생
스택, 큐, 집합등은 연결리스트 혹은 배열을 사용해서 구현할 수 있고 각각 상황에따라 효율적인 것이 다르다고 한다!!!
'학교 공부 > 자료구조' 카테고리의 다른 글
[자료구조] 연결 이진트리 구현 (1) | 2024.09.06 |
---|---|
[자료구조] 영문자 리스트 ADT (0) | 2024.09.04 |
[자료구조] 추상자료형 ADT (0) | 2024.09.04 |