728x90
728x90
자료 구조 (Data Structure)
- 프로그램에서 사용할 많은 데이터를 메모리 상에서 관리하는 여러 구현 방법
- 성능 좋은 알고리즘의 기반 : 효율적인 자료 구조
- 자료의 효율적인 관리는 프로그램의 수행 속도와 밀접한 관련이 있음
- 프로그램에 맞는 최적의 자료 구조를 활용해야 함
→ 여러 자료 구조에 대한 이해 중요
선형 자료 구조
- 한 줄로 자료를 관리하는 자료 구조
# 배열 (Array)
- 정해진 크기의 메모리를 먼저 할당받아 사용해야 함
: 값자료형[] 배열명 = new 값자료형[크기];
- 자료의 물리적 위치와 논리적 위치가 같음
# 연결 리스트 (LinkedList)
- 자료가 추가될 때마다 메모리를 할당받음
- 자료는 링크로 연결됨
- 배열과의 차이점
: 자료의 물리적 위치와 논리적 위치가 다를 수 있음
- 요소 추가하기
- 요소 삭제하기
# 스택 (Stack)
- 가장 나중에 입력된 자료가 가장 먼저 출력됨 (LIFO, Last In First Out)
- 요소 추가하기 (push)
- 요소 삭제하기 (pop)
# 큐 (Queue)
- 가장 먼저 입력된 자료가 가장 먼저 출력됨 (FIFO, First In First Out)
- 요소 추가하기 (enqueue)
- 요소 삭제하기 (dequeue)
비선형 자료 구조
# 트리
- 부모 노드와 자식 노드 간의 연결로 이루어진 자료 구조
① 이진 트리 (binary tree)
- 부모 노드에 자식 노드가 두 개 이하인 트리
② 이진 검색 트리 (binary search tree)
320x100
반응형
'Java > Base' 카테고리의 다른 글
[Java] Map - 전화번호부 프로그램 구현 (0) | 2023.02.22 |
---|---|
[Java] 컬렉션 프레임워크 (List, Set, Map) (0) | 2023.02.22 |
[Java] Thread - 은행 계좌 입출금에 대한 동기화 기능 구현 (0) | 2023.02.19 |
[Java] 쓰레드 (Thread) (0) | 2023.02.19 |
[Java] 제네릭 (Generic) (0) | 2023.02.17 |