八种数据结构简介

目录

1.1 数据结构概述

1.2 数据结构的分类

1.2.1 逻辑结构

1)集合

2)线性结构

3)树形结构

4)图形结构

1.2.2 物理结构

1)顺序存储

2)链式存储

3)散列存储

4)索引存储

1.3 数据结构的实现

1.2.1 数组

1.2.2 链表

1.2.3 栈

1.2.4 队列

1.2.5 树

1.2.6 堆

1.2.7 散列表

1.2.8 图


1.1 数据结构概述


数据结构是计算机存储、组织数据的方式;通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率,这也是判断数据结构优良的两个维度。数据结构的优良将直接影响着我们程序的性能;

通常情况下,这两个维度是相悖的,即:更高的运行效率往往存储效率较低,更高的存储效率往往运行效率较低。

1.2 数据结构的分类


数据结构的世界非常丰富多彩,在学习之前我们必须先给它归类。数据结构一般分为逻辑结构和物理结构这两大总类,在两大总类下还可以细分出其他分类。

逻辑结构:数据元素之间的逻辑联系(关注数据间的关系)
物理结构:数据元素的存放形式(关注数据的存储方式)


1.2.1 逻辑结构


逻辑结构是指数据对象中数据元素之间相互关系(逻辑关系),即从逻辑关系上描述数据。它与数据的存储无关,是独立于计算机存储器的。根据数据元素之间关系的不同特征,通常有下列4类基本结构,复杂程度依次递进。

1)集合

集合:数据结构中的元素之间除了“同属一个集合” 的相互关系外,别无其他关系;

2)线性结构

线性结构:数据结构中的元素存在一对一的相互关系;

3)树形结构

树形结构:数据结构中的元素存在一对多的相互关系;

4)图形结构

图形结构:数据结构中的元素存在多对多的相互关系;

1.2.2 物理结构


数据的物理结构是指数据的逻辑结构在计算机中的存储方式(就是数据存储在磁盘中的方式)。是数据结构在计算机中的实现方法,包括数据元素的表示和元素之间的关系。

物理结构一般有四种:顺序存储,链式存储,散列,索引。

1)顺序存储


顺序存储结构是把数据元素放在地址连续的存储单元中,程序设计中使用数组类型来实现。(逻辑相邻物理相邻)

2)链式存储

把数据元素存储在任意的存储单元里,这组存储单元可以是连续的也可以是不连续的,程序设计中使用指针类型来实现。(逻辑相邻物理不一定相邻),程序设计中使用链表来实现。

3)散列存储

散列存储结构通过计算元素的散列值直接确定数据元素的物理位置,设计时需处理哈希冲突(如链地址法、开放寻定法)。

数据元素在存储空间中呈分散分布,物理相邻性与逻辑顺序无直接关联,程序设计常通过哈希表结构实现。(逻辑无相邻性,物理位置由哈希函数决定)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值