자료구조란?

프로그래밍에서 여러 데이터들의 묶음을 저장하고 사용하는 방법을 정의한 것으로 데이터를 구조적으로 표현하는 방식과 이를 구현하는 데 필요한 알고리즘에 대해 논하는 기초이론이다.

잘 짜인 자료구조는 메모리 용량을 최소한으로 하고, 실행시간도 단축시킴으로써 보다 효율적인 알고리즘을 실행할 수 있게 한다.

Untitled

배열 (Array)

Untitled

연결리스트 (Linked List)

Untitled

이중 연결리스트 (Double Linked List)

Untitled

스택 (Stack)

Untitled

큐 (Queue)

Untitled

트리 (Tree)

Untitled

이진트리 (Binary Tree)

이진 탐색 트리(Binary Search Tree)

균형 트리

완전 이진 트리(Complete Binary Tree)

Untitled

전 이진 트리(Full Binary Tree / Strictly Binary Tree)

Untitled

포화 이진 트리(Perfect Binary Tree)

Untitled

힙 (Heap)

Untitled

그래프 (Graph)

Untitled

방향 그래프(Direct Graph) & 무방향 그래프(Undirected Graph)

가중치 그래프(Weighted Graph)

연결 그래프(Connected Graph) & 비연결 그래프(Unconnected Graph)

사이클(Cycle) & 비순환 그래프(Acyclic Graph)

그래프와 트리의 차이점

출처 - https://gmlwjd9405.github.io/2018/08/12/data-structure-tree.html

출처 - https://gmlwjd9405.github.io/2018/08/12/data-structure-tree.html

해시 테이블 (Hash Table)

Untitled