您的位置:首页 > 理论基础 > 数据结构算法

数据结构概览

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中暂无。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  数据结构