Computer >> 컴퓨터 >  >> 프로그램 작성 >> 프로그램 작성

선형 및 비선형 데이터 구조의 차이점 설명

<시간/>

이번 포스트에서는 선형 데이터 구조와 비선형 데이터 구조의 차이점에 대해 알아보겠습니다.

선형 데이터 구조

  • 이러한 구조의 요소는 순차적으로 배열됩니다.

  • 모든 요소는 선형 구조를 통과하여 액세스할 수 있습니다.

  • 선형 구조의 모든 요소는 단일 수준에 있습니다. 즉 계층 구조가 없습니다.

  • 구현 및 사용이 간편합니다.

  • 더 많은 메모리를 사용하므로 메모리 친화적이지 않습니다.

  • 선형 데이터 구조의 시간 복잡도는 일반적으로 구조의 크기가 커질수록 증가합니다.

  • 예에는 목록, 배열, 스택이 포함됩니다.

아래는 Python에서 목록의 예를 보여줍니다.

my_list = [45, 42, 12, 34, 56, 7]
print(my_list)

출력

[45, 42, 12, 34, 56, 7]

비선형 데이터 구조

  • 요소는 계층적 방식으로 저장됩니다.

  • '노드'를 사용하여 서로 연결됩니다.

  • 이 구조의 요소는 단일 수준이 아니라 다른 수준에 있습니다.

  • 구현이 쉽지 않습니다.

  • 쉽게 탐색할 수 없습니다. 비선형 데이터 구조를 완전히 탐색하려면 여러 번 반복해야 합니다.

  • 메모리 친화적입니다. 즉, 메모리를 효율적으로 사용합니다.

  • 비선형 데이터 구조의 시간 복잡도는 데이터의 크기가 커도 동일합니다.

  • 예:지도, 트리, 그래프

아래의 예는 그래프가 어떻게 정의되는지 보여줍니다. 이것은 노드 상호 연결도 정의되어야 함을 나타냅니다.

예시

graph = {'A': ['B', 'C'],
         'B': ['C'],
         'C': ['D', 'E'],
         'D': ['C'],
         'E': ['F', 'G'],
         'F': ['C']}