-
자료구조 (Data Structure) - 선형 데이터 구조CS (Computer Science)/Data Structure 2023. 12. 30. 02:41
자료구조의 정의
- 데이터 값의 모임 각 원소들이 규칙에 의해 나열되고, 데이터 값의 처리를 효율적으로 수행할 수 있도록 표현을 도와주는 것
즉, 개발자가 데이터를 효율적으로 사용할 수 있도록 정리하는 방법이다.
1. 배열(Array)
- 동일한 타입의 데이터들을 저장할 수 있고, 고정크기(Fixed Size)를 지닌다.
-> 배열, 리스트, 힙, 해시테이블, 벡터 및 행렬과 같은 기타 데이터 구조를 구축하기 위한 빌딩 블록으로 사용된다.
빌딩 블록 : 자료구조를 만들기 위한 핵심적인 구성 요소들을 지칭하는 말 (=자료구조의 기본 구성 요소를 통칭하는 말)2. 연결 리스트(Linked List)
- 각 노드가 데이터와 다음 노드를 가리키는 링크로 이루어진 자료구조다.
위 배열(Array)와 연결 리스트(Linked List)는 자료구조를 구현하기 위한 빌딩 블록으로 사용된다.
3. 스택(Stack)
- 가장 마지막 요소부터 처리하는 Last In First Out(LIFO) 방식
- 예시 : 쌓아둔 책 중 마지막에 쌓인 책을 먼저 가져가거나 쌓아둔 접시 중 마지막에 쌓인 접시를 먼저 가져가 사용하는 것과 같다.
4. 큐(Queue)
- 가장 먼저 입력된 요소를 처리하는 First In First Out(FIFO) 방식
- 예시 : 줄서기와 비슷하게 먼저온 사용자에게 서비스를 제공하는 것과 같다.
5. 해시 테이블(Hash Table)
- 해시함수를 사용하여(=해시함수를 거쳐) 변환한 값을 색인(index)으로 삼아 키(key)와 값(value)을 저장하는 자료구조
- 데이터의 크기에 관계없이 삽입 및 검색에 매우 효율적이다.
- 충돌이 자주 일어날 수 있어 해시테이블의 구조 개선인 Chaining, Open addressing등의 방법이 사용된다.
참고 사이트
https://bnzn2426.tistory.com/115
자료 구조(Data Structure) 개념 및 종류 정리
자료 구조란? 데이터 값의 모임, 각 원소들이 논리적으로 정의된 규칙에 의해 나열되며 자료에 대한 처리를 효율적으로 수행할 수 있도록 자료를 구분하여 표현한 것. 예를 들어 한정된 크기의
bnzn2426.tistory.com
https://m.hanbit.co.kr/media/channel/view.html?cms_code=CMS2832062046
[알고리즘 + 자료구조 = 프로그램] 자료구조의 개념과 종류
✅자료구조란? 자료구조(Data Structure)는 개발자가 데이터를 효율적으로 사용할 수 있도록 정리하는 방법을 말합니다. 각각의 자료구조에는 장단점이 있으므로 어떤 자료구조가 최선일지는 해결
m.hanbit.co.kr
Learn Data Structures and Algorithms
Why Learn DSA? Write optimized and scalable code - Once you have knowledge about different data structures and algorithms, you can determine which data structure and algorithm to choose in various conditions. Effective use of time and memory - Having knowl
www.programiz.com
'CS (Computer Science) > Data Structure' 카테고리의 다른 글
배열(Array) 과 리스트(List)의 차이 (2) 2023.12.29 - 데이터 값의 모임 각 원소들이 규칙에 의해 나열되고, 데이터 값의 처리를 효율적으로 수행할 수 있도록 표현을 도와주는 것