데이터 구조 란?
데이터 구조는 정보를 수집하고 구성하는 특정 방법을 나타내는 컴퓨터 과학의 개념입니다. 모든 데이터 구조는 해당 데이터에 액세스하고 다른 데이터에 연결하기 위해 컴퓨터의 메모리에서 특정 데이터가있는 위치에 대한 정보를 사용합니다. 데이터 구조는 개별 정보 조각 사이에 다양한 종류의 관계 중 하나를 설정합니다. 상이한 유형의 데이터 구조는 상이한 목적을 위해보다 효율적이며, 코딩의 어려움은 데이터 구조의 유형에 따라 크게 다르다.
배열은 가장 간단한 데이터 구조 중 하나이지만 정보를 구성하기위한 매우 강력한 도구입니다. 배열에서 요소에는 순차적 메모리 주소가 할당되므로 간단한 수학적 계산을 사용하여 배열의 모든 항목의 메모리 주소를 매우 빠르게 결정할 수 있습니다. 어레이는 임의의 수의 차원으로 존재하는 것으로 생각 될 수있다. 1 차원 배열은 목록으로 개념화되고, 2 차원 배열은 테이블로, 3 차원 배열은 개별 셀의 큐브로 개념화 될 수 있습니다. 3 차원 이상의 어레이가 존재할 수도있다.
연결리스트는 단순하지만 매우 중요한 데이터 구조 유형입니다. 링크 된 목록에서 각 노드는 실제 데이터와 목록의 다음 요소를 식별하는 정보를 모두 포함하는 변수로 구성됩니다. 따라서, 링크 된리스트는 제 1 노드의 어드레스가 알려진 한 스루 스루 될 수있다. 이 유형의 데이터 구조는 언제든지 새로운 노드를 쉽게 할당 할 수 있으므로 동적 성장에 적합하므로 다목적입니다. 목록에서 이전 노드의 위치를 포함하는 변수를 추가하면이 유형의 데이터 구조를 어느 방향으로나 이동할 수 있습니다.
트리는 루트 노드로 시작하여 모든 필요한 데이터가 구조 내에 수용 될 때까지 여러 계층의 노드를 통해 내림차순으로 노드를 정렬합니다. 일반적으로 트리 내의 요소는 어떤 방식으로 정렬됩니다. 트리는 정렬을 구현할 수 있으며 이로 인해 저장된 데이터에 훨씬 빠르게 액세스 할 수 있습니다. 각 분기는 연결된 목록에서 정렬해야 할 정보의 전체 내용을 제거하기 때문입니다.
해시 테이블은 해당 데이터를 메모리 주소로 변환하는 방정식을 사용하여 주어진 데이터가 저장 될 메모리 주소를 결정하는 데 사용됩니다. 배열에서 데이터를 저장하고 검색하는 데 매우 효율적인 구조 일 수 있습니다.
모든 데이터 구조는 특정 정보를 찾기 위해 컴퓨터가 실행해야하는 명령의 수를 줄 이도록 설계되었습니다. 다른 유형의 데이터는 다른 유형의 데이터 구조에 적합하지만 대부분의 최신 프로그래밍 언어는 다양한 데이터 구조를 지원하거나 프로그래머가 자체 데이터 구조를 코딩 할 수있는 도구를 제공합니다.