데이터 구조의 유형

논리 데이터 구조 :

이 (실제 독립) 요소들 사이의 논리적 관계의 논리 구조를 의미한다.

카테고리 I는 : 선형 및 비선형 구조의 구성

  선형 구조 :이 단지 시작 노드와 단말 노드이며, 모든 노드에서 가장에만 직접 전구체와 직접 후계자가 있습니다.

선형 목록은 네 가지 기본 기능을 가지고, 전형적인 선형 구조입니다 :

  1. 단지 "첫 번째 요소"가 설정해야합니다;

  2. 단지 "최종 요소"가 설정해야합니다;

  3. 최종 요소에 더하여, 다른 데이터 요소 만 "즉각적인 후속"이고;

  4. 제 소자 외에 다른 데이터 요소 만 "전임자"이다.

 

 

 인생에서 케이스 : 설탕 코팅 haws, 지하철 라인까지

비선형 구조 :

  그것은 논리 구조는 비선형 소자는 복수의 노드와 직접적인 전구체 즉각적인 후속 복수에 해당 할 수있다 상기 선형 구조에 대응한다.

일반적인 비선형 구조 :

  나무 (이진 트리 등), 이미지 (순).

  트리 : 노드가 직접 후속 복수에 해당 할 수 있지만, 각 노드는 직접 전구체에 대응할 수있다 (많은)

  도 (넷). 노드가 직접 직접 선행 및 후속의 복수에 대응할 수있다 (많은)

 

  나무 : 생명 이야기

      단위 조직 구조, 족보

 

 

 기술 사례 : 파일 시스템

 

 

 그림 : 삶의 이야기

  교통 노선도, 지하철 노선도

 

 

카테고리 2 : 수집 구조, 선형 구조, 트리 구조, 네트워크 구조

   컬렉션 구조, 선형 구조, 트리 구조와 네트워크 구조 : 논리적 구조의 네 가지 기본 유형이있다.

  나무 테이블과 두 개의 가장 일반적으로 효율적인 데이터 구조는 많은 효율적인 알고리즘이 구현이 두 데이터 구조를 설계하는 데 사용할 수 있습니다.

수집 1. 구조 :

  배운 수학의 모음입니다, 컬렉션의 요소 세 가지 특성이있다 :

  1). 불확실성 (요소의 세트)를 결정해야

  2) 예를 들어, 특이 (서로 다른 요소 세트 A는 {1, A}, 그 다음 1 같지 않은 = 세트)

  3) 장애 (집합의 요소, 예를 들어, 특정 순서 : 집합 {3,4,5} 및 {3,5,4} 동일한 세트의 수)

 인 구조의 데이터 요소들 간의 관계는 추가로, 다른 관계를 "동일한 세트에 속하지 않는다."

 관계 컬렉션의 약한 요소, 데이터 구조의 구조없이 조사하기 때문이다.

2. 선형 구조 :

  데이터 구조는 데이터의 선형 구조 요소 사이의 "일대일"선형 관계의 데이터 구조를 존재한다는 것을 의미한다.

3.树状结构:

  除了一个数据元素(元素01)以外每个数据元素有且仅有一个直接前驱元素,但是可以有多个直接后继元素。

  特点是数据元素之间是1对多的联系

4.网络结构:

  每个数据元素可以有多个直接前驱元素,也可以有多个直接后继元素。特点是数据元素之间是多对多的联系

 

 

举例说明:

  一个班的学生是什么逻辑结构?

答:一个班的学生是一个集合

  排队做某项事情时就是线性结构

  学生会成员上下级关系就是树状结构

  同学之间的座位关系就是网状结构

数据的存储结构

数据的存储结构主要包括数据元素本身的存储以及数据元素之间关系表示,是数据的逻辑结构在计算机中的表示

常见的存储结构有顺序存储,链式存储,索引存储,以及散列存储

1.顺序存储结构:

  把逻辑上相邻的节点存储在物理位置上相邻的存储单元中,结点之间的逻辑关系由存储单元的邻接关系来体现

  由此得到的存储结构为顺序存储结构,通常顺序存储结构是借助于计算机程序设计语言(例如C/C++)的数组来描述的。

数据元素的存储对应于一块连续的存储空间,数据元素之间的前驱和后继关系通过数据元素在存储器中的相对位置来反映。

 

 

 优点:

  1.节省存储空间,因为分配给数据的存储单元全用来存放结点的数据(不考虑C/C++语言中数组需要指定大小的情况),结点之间的逻辑没有占用额外的存储空间。

  2.采用这种方法时,可以实现对节点的随机存取,即每一个节点对应一个序号,由该序号直接计算出来节点的存储地址。

 缺点:

  1.插入和删除操作需要移动元素,效率较低。

  2.必须提前分配固定数量的空间,如果存储元素少,可能导致空间的浪费。

2.链式存储结构:

数据元素的存储对应的是不连续的存储空间,每个存储节点对应一个需要存储的数据元素

  1.每个结点是由数据域和指针域组成。元素之间的逻辑关系通过存储结点之间的链接关系反映出来。

  (每个结点中需要存储本结点的数据和下一个结点数据的指针/地址)

  2.逻辑上相邻的结点物理上不必相邻

 

 

 缺点:

  1.比顺序存储结构的存储密度小(每个结点都由数据域和指针域组成,所以相同空间内假设全存满的话顺序比链式存储更多)。

  2.查找结点时链式存储要比顺序存储慢。

 优点:

  1.插入、删除灵活(不必移动结点、只要改变结点中的指针)。

  2.有元素才会分配结点空间,不会有闲置的结点。

3.索引存储结构:

  除建立存储结点信息外,还建立附加的索引表来标识结点的地址。

比如图书、字典的目录。

 

 

4. 散列存储结构:

  根据每个结点的关键字直接计算出该结点的存储地址HashSet、HashMap

  一种神奇的结构,添加、查询速度快。就像数组中按索引查找。

 

 

 

注意:

  同一种逻辑结构可以对应多种存储结构

  同样的运算,在不同的存储结构中,其实现过程是不同的(运算依赖于存储结构)

 

추천

출처www.cnblogs.com/zang1998/p/11560379.html