数据结构概览
2017-02-18 00:00
176 查看
摘要: 概述数据结构的层次关系基本概念。
数据结构是计算机存储,组织数据的方式。
数据结构主要分为逻辑结构和物理结构两部分。
1,物理结构
即存储结构,是数据在计算机物理介质上的组织方式,比如内存就像一个平面的格子,分为一个一个的存储单元,每个单元都可以存储一定量的数据。
如图,内存芯片的组织方式:
如上图所示,存储控制器只需要一条指令就可以从芯片中读写数据,内存的寻址方式被设计为一个二维矩阵,原因是考虑到芯片的设计,减少芯片的脚针。
从上图可以看出,数据结构的物理结构只有两种:顺序结构和链式结构。
2,逻辑结构
逻辑结构通常分为四类基本结构:
1)集合。结构中的数据元素除了同属于一种类型之外,别无其他关系。
2)线性结构 。结构中的数据元素之间存在一对一的关系。
3)树型结构。结构中的数据元素之间存在一对多的关系。
4)图状或网状结构。结构中的数据元素存在多对多的关系。
如何用代码来表示数据的逻辑结构呢?
每一种编程语言都有自己的数据结构表示,以java语言为例。
数据结构的逻辑结构在代码中的具体表达,被称为 抽象数据类型(Abstract Data Type 简称ADT)。
抽象数据类型一般由语言定义,并提供标准实现的API,供程序员调用。
对照上述的几种逻辑结构,我们可以罗列出JAVA语言中已有的ADT。
1)线性结构
主要父接口:List 表 , 和 Deque 双端队列
顺序实现:ArrayList
链式实现:LinkedList
栈:一种操作受限的线性结构 LIFO (last-in-first-out),Stack
队列:一种操作受限的线性结构 FIFO (first-in-first-out) , Queue
2)树型结构
主要父接口:TreeMap,TreeSet
3)非线性结构
Map
4 ) 图
API中暂无。
数据结构是计算机存储,组织数据的方式。
数据结构主要分为逻辑结构和物理结构两部分。
1,物理结构
即存储结构,是数据在计算机物理介质上的组织方式,比如内存就像一个平面的格子,分为一个一个的存储单元,每个单元都可以存储一定量的数据。
如图,内存芯片的组织方式:
如上图所示,存储控制器只需要一条指令就可以从芯片中读写数据,内存的寻址方式被设计为一个二维矩阵,原因是考虑到芯片的设计,减少芯片的脚针。
从上图可以看出,数据结构的物理结构只有两种:顺序结构和链式结构。
2,逻辑结构
逻辑结构通常分为四类基本结构:
1)集合。结构中的数据元素除了同属于一种类型之外,别无其他关系。
2)线性结构 。结构中的数据元素之间存在一对一的关系。
3)树型结构。结构中的数据元素之间存在一对多的关系。
4)图状或网状结构。结构中的数据元素存在多对多的关系。
如何用代码来表示数据的逻辑结构呢?
每一种编程语言都有自己的数据结构表示,以java语言为例。
数据结构的逻辑结构在代码中的具体表达,被称为 抽象数据类型(Abstract Data Type 简称ADT)。
抽象数据类型一般由语言定义,并提供标准实现的API,供程序员调用。
对照上述的几种逻辑结构,我们可以罗列出JAVA语言中已有的ADT。
1)线性结构
主要父接口:List 表 , 和 Deque 双端队列
顺序实现:ArrayList
链式实现:LinkedList
栈:一种操作受限的线性结构 LIFO (last-in-first-out),Stack
队列:一种操作受限的线性结构 FIFO (first-in-first-out) , Queue
2)树型结构
主要父接口:TreeMap,TreeSet
3)非线性结构
Map
4 ) 图
API中暂无。
相关文章推荐
- Java常见基本数据结构概览
- 数据结构 算法 笔记1 概览
- 数据结构和算法概览(一)
- 数据结构和算法概览(一)
- 【数据结构】数据结构概览
- stl源码剖析学习笔记(一)重点数据结构概览
- 数据结构概览
- Python之架构 语法 数据结构 内置模块 标准库等概览
- 循环队列(数据结构)
- 数据结构2学习笔记
- 浅谈算法和数据结构: 六 符号表及其基本实现
- 数据结构应用(图书借阅系统)
- 定义栈的数据结构,要求添加一个min函数,能够得到栈的最小元素。o(1)空间的代码实现
- 《数据结构》实验三: 栈和队列实验
- Java数据结构之简单的链表的实现
- 数据结构-线性表的顺序存储
- WPF,Silverlight与XAML读书笔记第十九 - 控件之一 – 控件概览
- 《数据结构(C++版)》之第二章线性表
- 数据结构和算法 – 11.高级排序算法(上)
- 「数据结构」二叉树的遍历以及Python实现