데이터 구조가 필요한 이유..
기본 데이터 구조는 프로그래밍 언어가 기본 값을 나타내는 간단한 방법입니다. 여기에는 정수, char(문자), 부울, 포인터 등과 같은 데이터 유형이 포함됩니다.
기본이 아닌 데이터 구조는 단일 변수에 여러 값을 저장하는 방법을 제공합니다. 여기에는 배열, 연결 목록, 스택, 그래프, 트리 등이 포함됩니다.
각각의 경우에 데이터가 "구조화된"방식으로 검색하거나 조작하기 쉽습니다.
- They should be efficient.
Data structures make programs more productive with regards to time. ...
- They should be reusable.
Once a data structure is implemented, it needs to demonstrate
an ability to be used for other, similar data needs. ...
- They should remain hidden.
데이터 구조의 유형
기본적으로 데이터 구조는 두 가지 범주로 나뉩니다.
선형 데이터 구조
선형 데이터 구조에서 요소는 차례로 순서대로 배열됩니다. 요소는 특정 순서로 배열되기 때문에 구현하기 쉽습니다.
널리 사용되는 선형 데이터 구조는 다음과 같습니다.
1. 배열 데이터 구조
배열은 요소 그룹을 포함하는 데이터 구조입니다. 일반적으로 이러한 요소는 모두 정수 또는 문자열과 같은 동일한 데이터 유형입니다. 배열은 관련된 값 집합을 쉽게 정렬하거나 검색할 수 있도록 데이터를 구성하기 위해 컴퓨터 프로그램에서 일반적으로 사용됩니다.
2. 스택 데이터 구조
스택은 작업이 수행되는 특정 순서를 따르는 선형 데이터 구조입니다. 순서는 LIFO(Last In First Out) 또는 FILO(First In Last Out)일 수 있습니다. 더미에 보관된 마지막 접시가 먼저 제거되는 접시 더미처럼 작동합니다.
3. 큐 데이터 구조
큐는 선형 목록을 나타내는 데 사용되는 선형 데이터 구조입니다. 한쪽 끝에서 요소 삽입을 수행하고 다른 쪽 끝에서 요소 삭제를 수행할 수 있습니다.
스택과 달리 큐 데이터 구조는 큐에 저장된 첫 번째 요소가 먼저 제거되는 FIFO 원칙에서 작동합니다.
4. 연결 리스트 데이터 구조
연결된 목록은 동적 데이터 요소를 처리할 때 가장 많이 찾는 데이터 구조입니다. 연결된 목록은 노드로 알려진 데이터 요소로 구성됩니다. 그리고 각 노드는 두 개의 필드로 구성됩니다. 하나의 필드에는 데이터가 있고 두 번째 필드에는 다음 노드에 대한 참조를 유지하는 주소가 있습니다. 각 노드에는 다음 노드에 대한 데이터 항목과 주소가 포함됩니다.
비선형 데이터 구조
선형 데이터 구조와 달리 비선형 데이터 구조의 요소는 순서가 없습니다. 대신 하나의 요소가 하나 이상의 요소에 연결되는 계층적 방식으로 배열됩니다.
1. 그래프 데이터 구조
데이터 구조의 그래프는 문제 영역을 전화 네트워크, 회선 네트워크 및 소셜 네트워크와 같은 네트워크로 나타내는 실제 문제를 해결하는 데 사용됩니다. 예를 들어 전화 네트워크에서 단일 사용자를 노드 또는 정점으로 나타낼 수 있으며 전화를 통한 이들 간의 링크는 에지를 나타냅니다.
그래프 데이터 구조에서 각 노드를 꼭지점이라고 하며 각 꼭지점은 간선을 통해 다른 꼭지점과 연결됩니다.
2. 트리 데이터 구조
다양한 실제 응용 프로그램 중에서 트리 데이터 구조는 부모-자식 계층 구조가 있는 서로 다른 노드 간의 관계를 설명하는 데 사용됩니다. 이 때문에 계층 데이터 구조라고도 합니다. 검색 및 정렬을 단순화하고 가속화하는 데 가장 많이 사용됩니다.
그래프와 마찬가지로 트리도 꼭지점과 가장자리의 모음입니다. 그러나 트리 데이터 구조에서는 두 꼭지점 사이에 하나의 간선만 있을 수 있습니다.
Reference
이 문제에 관하여(데이터 구조가 필요한 이유..), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/abhiram55545309/why-data-structures-5bl4텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)