《大话数据结构》----第三章---线性表链式存储结构
目录
一、为啥要单独说线性表的链式存储结构?
二、这些链式存储结构分别是什么样的?
2.1 单链结构是怎么样的?
2.2 静态链表又是怎么定义的呢?
2.3循环链表是如何定义的?
2.4双向链表是为什么产生的?
一、为啥要单独说线性表的链式存储结构?
由顺序存储结构的插入和删除操作不方便,引出了链式存储结构。它具有小受固定的存储空间限制,可以比较快捷的插入和删除操作的特点。作者就链式存储结构的不同形式。如单链表、循环链表和双向链表做了讲解,另外还讲了若不使用指针如何处理链表结构的静态链表方法。
线性表的链式存储结构的特点是用一纵任意的存储单元存储线性表的数据元素,这组存储单元可以是连续的,也可以是不连续的。这就意味着,这些数据元素可以存在内存未被占用的任意位置。
链式存储结构存在类型:(单链表;静态链表;循环链表;双向链表)
二、这些链式存储结构分别是什么样的?
2.1 单链结构是怎么样的?
单链表正是通过每个结点的指针域将线rt:表的数据元素按其逻辑次序链接在一起,如图3-6-2所示。
把链表中第一个节点的存储位置叫做头指针,那么整个链表的存取就必须是从头指针开始进行。 最后一个,当然就意味着直接后继不存在了,所以我们规定,线性链表的最后一个结点指针为“空”(通常用NULL或“砂符号表不,如图3-6-所示)。
有时,我们为了更加方便地对链表进行操作,会在单链表的第一个结点前附设一个结点、称为头结点。头结点的指针域存储指向第一个结点的指针。如图3-6-4
2.2 静态链表又是怎么定义的呢?
对于如Basic. Fortran等旱期的编程高级语言,由于没有指针,链表结构按照前面我们的讲法,它就没法实现了。怎么办呢? 有人就想出来用数组来代替指针,来描述单链表。
静态列表实现:
总的来说,静态链表其实是为了给没有指针的高级语言设计的一种实现单链表能力的方法。尽管大家不一定会用得上,但这样的思考方式是非常巧妙的,应该理解其思想,以备不时之需。
2.3循环链表是如何定义的?
2.4双向链表是为什么产生的?
《大话数据结构》----第三章---线性表链式存储结构相关推荐
- 数据结构(一)线性表链式存储实现
(一)前提 在前面的线性表顺序存储结构,最大的缺点是插入和删除需要移动大量的元素,需要耗费较多的时间.原因:在相邻两个元素的存储位置也具有邻居关系,他们在内存中的位置是紧挨着的,中间没有间隙,当然无法 ...
- 数据结构——线性表链式存储结构
目录 1.链式存储结构定义 2.单链表 3.头指针与头结点 4.单链表存储结构 5.单链表的读取 6.单链表的插入 7.单链表的删除 1.链式存储结构定义 线性表的链式存储结构是用一组任意的存储单元存 ...
- python 单链表节点怎么快速定义_线性表链式存储结构之单链表
线性表的链式存储结构的特点就是用一组任意的存储单元存储线性表的数据元素,这组存储单元可以在内存中未被占用的任意位置.比起顺序存储结构每个元素只需要存储一个位置就可以了.现在链式存储结构中,除了要存储数 ...
- Linux从入门到精通系列之线性表链式存储结构-单链表原理解析
前言 线性表的链式存储结构的特点就是用一组任意的存储单元存储线性表的数据元素,这组存储单元可以在内存中未被占用的任意位置. 比起顺序存储结构每个元素只需要存储一个位置就可以了.现在链式存储结构中,除了 ...
- [一] 详细讲解: 线性表链式存储结构 中的 单链表; (数据结构和算法)
一.定义 二.单链表
- 数据结构与算法——栈的链式存储结构及实现
目录 前言 一.栈的链式储存结构 二.栈的链式储存结构的操作 2.1 进栈操作 2.2 出栈操作 总结 前言 讲完了栈的顺序储存结构,我们现在来看看栈的链式存储结构,简称为链栈. 由于单链表中 ...
- 数据结构--线性表链式存储
系列文章目录 第二话 数据结构之线性表 文章目录 一.线性表的基本操作步骤 1.存储结构 2.基本操作 3.实现运用 二.线性表的插入 三.线性表的删除 四.总结 前言 为了克服顺序表的缺点,可以采用 ...
- c语言线性表链路存储结构运用,哈尔滨工业大学2020年考研854计算机基础考试大纲...
考研大纲是2020考研学生复习的重要参考资料,它指出了所考科目的大致考试范围,也是考研命题的重要参考依据.2020考研大纲已经陆续公布,包括公共课考试大纲和专业课统考科目考试大纲,而自命题科目考试大纲 ...
- 大话数据结构02 :线性表链式存储 C++
1.链表插入和删除等操作 关键是要找到插入元素的前一个元素 Status ListInsert(LinkList L, int i, ElemType e) {LinkList N = new Nod ...
最新文章
- Gym - 101972B Arabella Collegiate Programming Contest (2018) B. Updating the Tree 树DFS
- 如何为SAP Cloud for Customer Lead页面配置自定义的Source字段
- 网页标题设置,为什么在SERP中,显示结果不一致?
- jQuery上传插件Uploadify使用Demo、本地上传(ssm框架下)
- 一位资深程序员大牛给Java初学者的学习建议
- html jq 控制显示密码,js、jquery分别实现点击密码输入框密码显示和隐藏
- 嘉年华回顾丨杜小勇教授带你解密One Size Does not Fit All?
- tableView编辑
- Oracle触发器3-DDL触发器
- 如何将composer设置为全局变量?
- 嵌入式linux/鸿蒙开发板(IMX6ULL)开发(九)第一个程序背后的C语言知识
- contiki学习笔记(二)CTK图形界面
- rrpp协议如何修改_《技术进阶:理解RRPP协议.ppt
- JavaScript检测原始值、引用值、属性
- 测试-嵌入式图床外链
- halcon学习和实践(第一个范例threshold.hdev)
- 干货 | 蒙特卡洛方法(Monte Carlo)
- 常用的Python的编辑器以及环境
- matlab自带的traffic,Matlab Traffic ToolBox
- python代码大全心形盒子简单_python心形代码
热门文章
- C1见习工程师任务01-进制与信息编码
- google map v3 地图搜索功能
- 独占锁(写锁)/共享锁(读锁)/互斥锁
- 计算机网络 - 初识网络
- redis实战第九篇 集群扩容自动迁移槽(redis-cli)
- android手机上传不了照片,已解决~ wx.saveImageToPhotosAlbum 方法在部分安卓手机上出现图片保存失败的bug。...
- 模版有什么作用计算机考试,2017年职称计算机考试Word2003模拟题及答案(5)
- 16个细节看透一个男人的性格
- 简析Instagram的搜索架构
- 马化腾: 会 ''抄'' 才能赢