자료구조

^_^·2022년 3월 20일
0

자료구조는 이미 클래스로 만들어져 있는 것들이 많은데 이를 컬렉션(Collections)이라 한다.

여러 종류의 자료구조를 사용하는 이유
-자료구조를 이용하면 보다 편리하게 원하는 데이터를 찾을 수 있다.
-적절한 자료구조를 선택하면 더 빠르게 검색할 수 있다.

자료구조의 종류

-리스트 형태의 자료구조 클래스
-큐, 스택 기능의 클래스
-맵 기능의 클래스
-트리 구조의 클래스

자료구조 공부법

-자료구조의 특징과 장/단점: 앞서 언급했듯이 각 자료구조는 자신만의 개성이 있다. 따라서 그개성을 정확히 파악하고, 적재적소에 정확한 자료구조를 이용하는 것이 핵심
-사용법과 예외 처리: 사용을 하다가 발생하는 예외 처리를 어떻게 하는 것이 효과적일지 생각해 보아야 한다.
-비슷한 자료구조: 아주 유사한데 미묘한 성능이나 기능에서 차이를 보이는 클래스들이 있다.

데이터의 저장 형태에 따른 자료구조 용어
-리스트(List): 순서를 가지고 있으며, 중복을 허용하는 보관 구조(인덱스 번호가 중요한 역할을 한다.)
-세트(Set): 순서를 가지지 않고, 데이터의 중복을 허용하지 않는 구조
-맵(Map): 키와 값을 가지며, 키를 가지고 원하는 데이터를 검색하는 구조

자료구조에서 공통으로 사용되는 용어: Element
-Element라는 용어는 자료구조 안에 들어가는 데이터를 의미한다.
-Java에서는 모든 자료구조가 객체 자료형을 처리하기 때문에 Element라고 하면 실제 객체의 레퍼런스(리모컨)라고 할 수 있다.

ArrayList, LinkedList, Vector
-ArrayList: 단방향 포인터 구조로, 순차적인 접근에 빠른 성능을 보인다.
-LinkedList: 양방향 포인터 구조로 빈번한 데이터의 삽입, 삭제에 빠른 성능을 보인다.
-Vector: ArrayList와 동작 방식은 같지만 속도가 느리고 멀티스레드에 대해서 좀 더 안전하다.

Map

-Map 인터페이스를 구현해둔 Hashtable과 HashMap이라는 클래스를 이용

-키(Key)와 값(Value)으로 이루어짐

-순서가 없다

Set

-데이터의 중복을 허용하지 않는다, Set 계열에 들어가는 객체들은 같아서는 안됨

-순서가 없다

트리(Tree)

-Tree로 시작하는 클래스는 데이터를 넣을 때 위치를 찾아간다고 생각하자

0개의 댓글