반응형
오늘은 자료구조에 대해서 공부했다.
자료구조(data structure)는 컴퓨터 과학에서 효율적인 접근 및 수정을 가능케 하는 자료의 조직, 관리, 저장을 의미한다. 더 정확히 말해, 자료 구조는 데이터 값의 모임, 또 데이터 간의 관계, 그리고 데이터에 적용할 수 있는 함수나 명령을 의미한다. 신중히 선택한 자료구조는 보다 효율적인 알고리즘을 사용할 수 있게 한다. 이러한 자료구조의 선택 문제는 대개 추상 자료형의 선택으로부터 시작하는 경우가 많다. 효과적으로 설계된 자료구조는 실행시간 혹은 메모리 용량과 같은 자원을 최소한으로 사용하면서 연산을 수행하도록 해준다. (위키백과)
이 자료구조에는 선형 구조와 비선형 구조로 나뉘는데 선형 구조는 데이터들이 순차적으로 나열된 형태(하나의 데이터 뒤에는 하나의 데이터만 올 수 있다.)를 띄는 자료구조이고
비선형 구조는 선형 구조와 다르게 하나의 데이터의 뒤에 여러 개의 데이터가 올 수 있는 형태의 자료구조를 뜻한다.
선형 구조에는 앞서 구현했던 배열, 스택, 큐 , 연결 리스트 가 포함이 되고 비선형 구조에는 트리, (이진 탐색 트리), 그래프 등이 포함된다. (이외에도 존재하지만 내가 구현해본 것 들 중에서 나눠보자면 이렇다.)
비선형 구조 | 선형 구조 |
트리 | 배열 |
그래프 | 스택 |
큐 | |
연결리스트 |
필요에 따라 선형 구조와 비선형 구조를 적절히 활용하면 좋을 것 같다.
반응형
'자료구조 공부' 카테고리의 다른 글
[Data-Structure] Tree (트리)와 Binary Search Tree (이진 탐색 트리) (2)Binary Search Tree (이진 탐색 트리) 란 (0) | 2020.10.26 |
---|---|
[Data-Structure] Tree (트리)와 Binary Search Tree (이진 탐색 트리) (1)Tree 구조란 (0) | 2020.10.26 |
[Data-Structure] HashTable (해시 테이블) (0) | 2020.10.23 |
[Data-Structure] Linked List (링크드 리스트) (0) | 2020.10.23 |
[Data-Structure] Stack과 Queue (0) | 2020.10.22 |
댓글