자료구조란 다수의 자로(data)를 효율적으로 담기 위한 구조다.
하나의 데이터 뒤에 다른 데이터가 하나 존재하는 자료구조다.
데이터가 일렬로 연속적으로(순차적으로) 연결되어 있다.
저장된 자료의 전후 관계가 1:1이다.
가장 일반적인 구조이며, 메모리 상에 같은 타입의 자료가 연속적으로 저장된다. 자료값을 나타내는 가장 작은 단위가 자료를 다루는 단위이다.
연결 리스트는 동적 데이터 구조이다. 1) value 와 2) pointer가 한 쌍인 노드가 모여있는 자료구조형을 의미한다. 아래 푸른색 부분이 data를 저장하고 있고, 초록색 부분은 다음 오느들 가리키는 pointer 역할을 하는 address 부분이다.
스택은 마지막으로 삽입된 element가 가장 먼저 제거되는 방식(LIFO, Last In First Out)의 자료구조다.
큐는 흔히 먼저 온 사람이 먼저 들어가는 대기줄과 비교한다. 가장 먼저 삽입된 element가 가장 먼저 제거되는 방식(FIFO, First In First Out)의 자료구조다.
하나의 데이터 뒤에 다른 데이터가 여러 개 올 수 있는 자료구조다.
데이터가 일직선상으로 연결되어 있지 않아도 된다
데이터 항목 사이의 관계가 1:n이다.
트리는 부모 노드 밑에 여러 자식 노드가 연결되고, 자식 노드가 다시 부모 노드가 되어 각각의 자식 노드에게 연결되는 재귀적인 형식의 자료구조다.
그래프는 각 노드들이 서로 연결되어 있는 자료구조다. 그래프는 노드(Node)와 간선(Edge)로 표현되며 이때 노드를 정점(Vertex)이라고도 한다. 그래프는 두 가지 방식으로 구현할 수 있다.
대부분의 자료구조는 특정한 상황에 놓인 문제를 해결하는 데에 특화되어 있기 때문에 적절한 상황에 적절한 자료구조를 선택하면 효율적인 프로그램을 작성할 수 있다.
잘 봤습니다. 좋은 글 감사합니다.