자료구조란?

코린이서현이·2024년 1월 25일
0

📌 자료구조란

자료구조란, 개발자가 데이터를 저장하는 방법을 말한다.

추상데이터 타입 vs 자료구조

추상데이터 타입
자료구조를 설명하는 데이터 타입이고 추상적인 개념이다.

자료구조
추상 데이터 타이을 실제로 구현한 결과를 말한다.

선형 자료구조 vs 비선형 자료구조

선형 자료구조
데이터 요소를 순서대로 정렬한다.
따라서, 순회에 재귀나, 백트래킹이 필요없다.

비선형 자료구조
데이터를 비연속적으로 연결한다. 예로는 그래프가 있다. 따라서 순회에 재귀나 백트래킹이 필요할 수 있다.
특정한 상황에서 선형 자료구조보다 비선형 자료구조가 더 적절할 수 있다.

💡 순회란

자료구조의 첫 번째 요소에서 출발해 마지막 요소로 이동하는 것이다.
선형 자료구조에서는 첫 번째 요소에서 마지막 요소까지 백트래킹없이 순회할 수 있지만, 비선형 구조에서는 원하는 요소에 접근하기 위해 백트래킹이나 재귀가 필요할 수 있다.

정적 자료구조 vs 동적 자료구조

정적 자료구조
크기가 고정되어있다.
(👎) 메모리 관리가 비효율적이다. 할당한 메모리보다 사용하는 메모리가 적은 경우 낭비되며, 요소 추가를 위해서 충분한 메모리를 할당한 새로운 구조에 기존구조와 추가할 구조를 추가해서 만들어야하는 비효율적인 방법이 쓰인다.

정적 자료구조가 적절한 상황
👉 저장할 요소의 개수를 미리 알고 변하지 않는 상황에서 적절하다.

동적 자료구조
크기가 변경이 가능하다.
(👍) 요소를 추가할 때 컴퓨터가 추가로 메모리를 할당하고, 요소를 제거할 때 메모리를 비워 효율적으로 메모리를 사용한다.
(👎) 요소에 접근하는 시간이 정적 자료구조보다 더 걸릴 수 있다. 정적 자료구조보다 더 많은 양의 메모리를 사용할 수 있다.

동적 자료구조가 적절한 상황
👉 저장해야 할 데이터의 양이 정해져있지 않고, 메모리 공간이 한정적일 때 적절하다.

🎯 이후의 목표

아래의 자료구조를 살펴보겠당..

📌 배열
📌 링크드 리스트
📌 스택
📌 큐
📌 해시 테이블
📌 이진트리
📌 이진 힙
📌 그래프
profile
24년도까지 프로젝트 두개를 마치고 25년에는 개발 팀장을 할 수 있는 실력이 되자!

0개의 댓글