文档章节

数据结构概览

孤曲感人伤
 孤曲感人伤
发布于 2017/02/18 11:23
字数 555
阅读 36
收藏 1

数据结构是计算机存储,组织数据的方式。

数据结构主要分为逻辑结构和物理结构两部分。

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
博文 74
码字总数 7784
作品 0
成都
私信 提问
CityPickerViewV2.0重磅来袭

详细介绍说明请移步 https://github.com/crazyandcoder/citypicker 强烈建议升级使用V2.0版本的CityPickerView控件!!! 本次更新内容 更丰富的数据结构、包含选择地区的百度、高德经纬度、...

ostracod
2017/08/22
0
0
yutiansut/QUANTAXIS

QUANTAXIS 量化金融策略框架 [点击右上角Star和Watch来跟踪项目进展! 点击Fork来创建属于你的QUANTAXIS!] 欢迎加群讨论: 群链接 QUANTAXIS量化金融策略框架,是一个面向中小型策略团队的量化分...

yutiansut
2017/03/04
0
0
CityPickerViewV2.0重磅来袭

详细介绍说明请移步 github.com/crazyandcod… 强烈建议升级使用V2.0版本的CityPickerView控件!!! 本次更新内容 更丰富的数据结构、包含选择地区的百度、高德经纬度、城市code等; 更全面...

ostracod
2017/08/22
0
0
MyEclipse Web开发教程:XML & XML架构(二)

MyEclipse 在线订购年终抄底促销!火爆开抢>> MyEclipse最新版下载 1.MyEclipse中的XSD编辑 本文档介绍MyEclipse XML Schema(XSD)编辑器中的一些可用函数。XML Schema(XSD)编辑器包括高级X...

电池盒
2018/12/27
7
0
.Net Core 3.0开源可视化设计CMS内容管理系统建站系统

简介 ZKEACMS,又名纸壳CMS,是可视化编辑设计的内容管理系统。基于.Net Core开发可跨平台运行,并拥有卓越的性能。 纸壳CMS基于插件式设计,功能丰富,易于扩展,可快速创建网站。 布局设计...

ZKEASOFT
08/07
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Mybatis Plus删除

/** @author beth @data 2019-10-17 00:30 */ @RunWith(SpringRunner.class) @SpringBootTest public class DeleteTest { @Autowired private UserInfoMapper userInfoMapper; /** 根据id删除......

一个yuanbeth
今天
4
0
总结

一、设计模式 简单工厂:一个简单而且比较杂的工厂,可以创建任何对象给你 复杂工厂:先创建一种基础类型的工厂接口,然后各自集成实现这个接口,但是每个工厂都是这个基础类的扩展分类,spr...

BobwithB
今天
5
0
java内存模型

前言 Java作为一种面向对象的,跨平台语言,其对象、内存等一直是比较难的知识点。而且很多概念的名称看起来又那么相似,很多人会傻傻分不清楚。比如本文我们要讨论的JVM内存结构、Java内存模...

ls_cherish
今天
4
0
友元函数强制转换

友元函数强制转换 p522

天王盖地虎626
昨天
5
0
js中实现页面跳转(返回前一页、后一页)

本文转载于:专业的前端网站➸js中实现页面跳转(返回前一页、后一页) 一:JS 重载页面,本地刷新,返回上一页 复制代码代码如下: <a href="javascript:history.go(-1)">返回上一页</a> <a h...

前端老手
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部