Do It Java Day27
컬렉션 프레임워크2
[자료구조]
1. 배열(Array)
- 같은 형의 데이터 타입을 메모리에 저장하는 선형 자료구조
- 논리적 구조와 물리적 구조가 동일하다
- 위치 값(index)가 존재한다
=> 빠르게 데이터를 찾을 수 있다
=> 중간에 데이터를 넣거나 빼려면 뒤의 모든 데이터의 index를 수정해야 하므로 연산이 많아진다
2. Linked List
- 데이터 + 링크 구조로 다음 데이터의 위치를 저장한다
=> 중간에 데이터를 넣거나 빼려면 앞뒤 데이터의 링크만 고쳐주면 된다
=> 데이터를 찾으려면 링크를 타고 타고 가야 하므로 느리다
- 논리적 구조와 물리적 구조가 다르다
3. 스택(Stack)
- 선형 자료구조
- LIFO(Last In First Out, 후입선출) 방식으로 데이터 사용
- push(), pop() 을 이용해 데이터 변경
- peek()을 이용해 제일 위의 데이터 확인
4. 큐(Queue)
- FIFO(First In First Out, 선입선출) 방식으로 데이터 사용
5. Tree
BST(Binary Search Tree)
- 유일한 키 값을 가진다
- 루트 노드의 키 값을 기준으로 왼쪽 서브트리에는 작은 값 오른쪽 서브트리에는 큰 값이 온다
6. 해싱
- 산술 연산을 이용한 검색 방식