자료구조 기본 개념📚 Data Architect/Data Structure2023. 4. 13. 20:29
Table of Contents
💡 자료 구조
여러 데이터들의 묶음을 저장하고 사용하는 방법을 정의한 것
자료의 집합, 각 원소들 사이의 관계가 논리적 정의된 일정한 규칙에 의하여 나열되며,
자료처리의 효율성을 위해 조직&체계적으로 구분하여 표현한 것
(알고리즘 테스트 시 자주 등장하는 Stack,Queue,Tree,Graph 등)
자료구조의 경계 조건
- 자료 구조가 비어있는 경우
- 자료 구조에 단 하나의 요소가 들어있을 때
- 자료 구조의 첫 번째 요소를 제거하거나 추가할 때
- 자료 구조의 마지막 요소를 제거하거나 추가할 때
- 자료 구조의 중간 부분을 처리할 때
학습 포인트
- 각 자료구조가 가진 특징
- 각 자료구조를 사용하기 적합한 상황 판단
- 다른 구조와의 차이점을 이해하기 위해 자료구조 내부 직접구현
- 구현 시, 동작원리 이해하기
자료구조를 배워야 하는 이유
- 상황에 맞는 가장 적합한 자료구조를 이용하여 문제를 빠르고 정확하게 해결
- 자료구조의 내부를 이해하면 엉뚱한 라이브러리를 선택하는 일을 피할수 있다
- 알고리즘이 데이터를 효율적으로 사용할 수 있게 도와주는 핵심 부품 역할
구조
- 단순 자료구조
- 프로그래밍 언어에서 통상적으로 제공하는 기본 데이터 형식
- 복합 자료구조
- 선형 자료구조
- 데이터 요소를 순차적으로 연결, 구현 & 사용이 쉽다
- Array, LinkedList, Stack, Queue 등이 해당됨
- 비선형 자료구조
- 데이터 요스를 비순차적으로 연결
- 한 요소에서 여러 요소로 연결되기도 하고, 여러 요소가 하나의 요소로 연결되기도 함
- Tree, Gragh가 해당됨
- 선형 자료구조
ADT란? (Abstract Data Types)
- 자료구조의 동작방법을 표현하는 데이터 형식, 즉 자료구조가 갖춰야할 일련의 연산이다.
- ADT는 개념을 제시하고 자료구조는 구현을 포함함
자료구조의 형태
'📚 Data Architect > Data Structure' 카테고리의 다른 글
Stack (0) | 2023.04.13 |
---|---|
Doubly Linked List & Circular Linked List (0) | 2023.04.13 |
Singly Linked List (단순 연결 리스트) (0) | 2023.04.13 |
Iterator (0) | 2023.04.13 |
Time Complexity (시간 복잡도 - Big O Notation) (0) | 2023.04.13 |
@신건우 :: 우주먼지
열심히 살고 싶은 사람의 메모장
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!