IT女神节(致敬中国IT界永远的女神严蔚敏-数据结构)
创始人
2024-05-30 00:44:04
0

          我们都知道程序=数据结构+算法。相信很多人都学过严蔚敏的数据结构的课程。作为一个码农,在这不管是3.7女神节,还是3.8妇女节。我觉得都有必要向这些教育界的老前辈致敬。今天我就梳理梳理,最经典的数据结构教材。

严蔚敏介绍(来自百度百科)

严蔚敏(1938.04—),女,汉族。清华大学计算机系教授,长期从事数据结构教学和教材建设,和吴伟民合作编著的《数据结构》曾获“第二届普通高等学校优秀教材全国特等奖”和“1996年度国家科学技术进步奖三等奖”。成为我国大中专院校学习“数据结构”使用最多的教材版本。 

数据结构书籍封面:

我们来看看书籍目录:(大家看看自己还有多少还给老师了?)其实我们在面试中经常问的比较基础的东西就是这些东西。

第1章 结论
1.1 什么是数据结构
1.2 基本概念和术语
1.3 抽象数据类型的表示与实现
1.4 算法和算法分析
1.4.1 算法
1.4.2 算法设计的要求
1.4.3 算法效率的度量
1.4.4 算法的存储空间需求
第2章 线性表
2.1 线性表的类型定义
2.2 线性表的顺序表示和实现
2.3 线性表的链式表示和实现
2.3.1 线性链表
2.3.2 循环链表
2.3.3 双向链表
2.4 一元多项式的表示及相加
第3章 栈和队列
3.1 栈
3.1.1 抽象数据类型栈的定义
3.1.2 栈的表示和实现
3.2 栈的应用举例
3.2.1 数制转换
3.2.2 括号匹配的检验
3.2.3 行编辑程序
3.2.4 迷宫求解
3.2.5 表达式求值
3.3 栈与递归的实现
3.4 队列
3.4.1 抽象数据类型队列的定义
3.4.2 链队列--队列的链式表示和实现
3.4.3 循环队列--队列的顺序表示和实现
3.5 离散事件模拟
第4章 串
4.1 串类型的定义
4.2 串的表示和实现
4.2.1 定长顺序存储表示
4.2.2 堆分配存储表示
4.2.3 串的块链存储表示
4.3 串的模式匹配算法
4.3.1 求子串位置的定位函数Index(S,T,pos)
4.3.2 模式匹配的一种改进算法
4.4 串操作应用举例
4.4.1 文本编辑
4.4.2 建立词索引表
第5章 数组和广义表
5.1 数组的定义
5.2 数组的顺序表示和实现
5.3 矩阵的压缩存储
5.3.1 特殊矩阵
5.3.2 稀疏矩阵
5.4 广义表的定义
5.5 广义表的存储结构
5.6 m元多项式的表示
5.7 广义表的递归算法
5.7.1 求广义表的深度
5.7.2 复制广义表
5.7.3 建立广义表的存储结构
第6章 树和二叉树
6.1 树的定义和基本术语
6.2 二叉树
6.2.1 二叉树的定义
6.2.2 二叉树的性质
6.2.3 二叉树的存储结构
6.3 遍历二叉树和线索二叉树
6.3.1 遍历二叉树
6.3.2 线索二叉树
6.4 树和森林
6.4.1 树的存储结构
6.4.2 森林与二叉树的转换
6.4.3 树和森林的遍历
6.5 树与等价问题
6.6 赫夫曼树及其应用
6.6.1 最优二叉树(赫夫曼树)
6.6.2 赫夫曼编码
6.7 回溯法与树的遍历
6.8 树的计数
第7章 图
7.1 图的定义和术语
7.2 图的存储结构
7.2.1 数组表示法 [2] 
7.2.2 邻接表
7.2.3 十字链表
7.2.4 邻接多重表
7.3 图的遍历
7.3.1 深度优先搜索
7.3.2 广度优先搜索
7.4 图的连通性问题
7.4.1 天向图的连通分量和生成树
7.4.2 有向图的强连通分量
7.4.3 最小生成树
7.4.4 关节点和重连通分量
7.5 有向无环图及其应用
7.5.1 拓扑排序
7.5.2 关键路径
7.6 最短路径
7.6.1 从某个源点到其余各项点的最短路径
7.6.2 每一对顶点之间的最短路径
第8章 动态存储管理
8.1 概述
8.2 可利用空间表及分配方法
8.3 边界标识法
8.3.1 可利用空间表的结构
8.3.2 分配算法
8.3.3 回收算法
8.4 伙伴系统
8.4.1 可利用空间表的结构
8.4.2 分配算法
8.4.3 回收算法
8.5 无用单元收集
8.6 存储紧缩
第9章 查找
9.1 静态查找表
9.1.1 顺序表的查找
9.1.2 有序表的查找
9.1.3 静态树表的查找
9.1.4 索引顺序表的查找
9.2 动态查找表
9.2.1 二叉排序树和平衡二叉树
9.2.2 B_树和B+树
9.2.3 键树
9.3 哈希表
9.3.1 什么是哈希表
9.3.2 哈希函数的构造方法
9.3.3 处理冲突的方法
9.3.4 哈希表的查找及其分析
第10章 内部排序
10.1 概述
10.2 插入排序
10.2.1 直接插入排序
10.2.2 其他插入排序
10.2.3 希尔排序
10.3 快速排序
10.4 选择排序
10.4.1 简单选择排序
10.4.2 树形选择排序
10.4.3 堆排序
10.5 归并排序
10.6 基数排序
10.6.1 多关键字的排序
10.6.2 链式基数排序
10.7 各种内部排序方法的比较讨论
第11章 外部排序
11.1 外存信息的存取
11.2 外部排序的方法
11.3 多路平衡归并的实现
11.4 置换-选择排序
11.5 最佳归并树
第12章 文件
12.1 有关文件的基本概念
12.2 顺序文件
12.3 索引文件
12.4 ISAM文件和VSAM文件
12.4.1 ISAM文件
12.4.2 VSAM文件
12.5 直接存取文件(散列文件)
12.6 多关键字文件
12.6.1 多重表文件
12.6.2 倒排文件 [2] 

 重点学习数据结构:

一、线性表

线性表又称线性存储结构,是最简单的一种存储结构,专门用来存储逻辑关系为“一对一”的数据。

在一个数据集中,如果每个数据的左侧都有且仅有一个数据和它有关系,数据的右侧也有且仅有一个数据和它有关系,那么这些数据之间就是“一对一“的逻辑关系。

示例图:

 线性表的存储:

在具有“一对一“逻辑关系的数据集中,每个个体习惯称为数据元素(简称元素)

二、 栈和队列

栈:

对于逻辑关系为“一对一”的数据,除了用顺序表链表存储外,还可以用栈结构存储。
栈是一种“特殊”的线性存储结构,它的特殊之处体现在以下两个地方:
1、元素进栈和出栈的操作只能从一端完成,另一端是封闭的。

2、栈中无论存数据还是取数据,都必须遵循“先进后出”的原则,即最先入栈的元素最先出栈。

 队列:

队列用来存储逻辑关系为“一对一”的数据,是一种“特殊”的线性存储结构。

顺序表链表相比,队列的特殊性体现在以下两个方面:
1、元素只能从队列的一端进入,从另一端出去。

2、队列中各个元素的进出必须遵循“先进先出”的原则,即最先入队的元素必须最先出队。

 三、串

对于由多个字符(≥ 0)组成的字符串(例如 "maoheyeren"),数据结构单独提供了一种存储结构,称为串结构。

字符串中的字符之间具有“一对一”的逻辑关系,所以严格意义上讲,串存储结构也属于线性存储结构。和顺序表链表队列这些线性存储结构不同的是,串存储结构专门用来存储字符串。

空串指的是未存储任何字符的串,整个串的长度为 0。

String s = "";

空格串指的是由多个(>0)空格字符组成的串结构,整个串的长度为包含空格字符的个数。

String s = "    ";

子串和主串

maoheyerenmao

四、数组和广义表

数组是对线性表的扩展,是一种“特殊”的线性存储结构,用来存储具有多种“一对一”逻辑关系的数据。

实际场景中,存储具有 N 种“一对一”逻辑关系的数据,通常会建立 N 维数组

一维数组和其它线性存储结构很类似,用来存储只有一种“一对一”逻辑关系的数据

一维数组:

 二维数组用来存储包含两种“一对一”逻辑关系的数据。二维数组可以看作是存储一维数组的一维数组

二维数组:

 五、树和二叉树

树结构通常用来存储逻辑关系为 "一对多" 的数据。

 和链表类似,树存储结构中也将存储的各个元素称为 "结点"。

通常,我们将一棵树中几个结点构成的“小树”称为这棵树的“子树”。
一个结点拥有子树的个数,就称为该结点的度(Degree)。

从一棵树的树根开始,树根所在层为第一层,根的孩子结点所在的层为第二层,依次类推。

如果一棵树中,各个结点左子树和右子树的位置不能交换,那么这棵树就称为有序树。反之,如果树中结点的左、右子树可以互换,那么这棵树就是一棵无序树。

由 m(m >= 0)个互不相交的树组成的集合就称为森林。

空树指的是没有任何结点的树,连根结点都没有。

二叉树:

简单地理解,满足以下两个条件的树就是二叉树:

  1. 本身是有序树;
  2. 树中包含的各个节点的度不能超过 2,即只能是 0、1 或者 2;

 

 

六、图 

图结构常用来存储逻辑关系为“多对多”的数据。比如说,一个学生可以同时选择多门课程,而一门课程可以同时被多名学生选择,学生和课程之间的逻辑关系就是“多对多”。

 

相关内容

热门资讯

s24evmonexe-S24... 嘿,你有没有试过那种感觉,就像电脑里的一个小程序,突然成了你心跳的加速器?S24EVMON.EXE,...
android基本组件-探索 ... 哎呀,说到Android的小家伙们,真是让人又爱又恨!每次打开手机,这些小家伙就在背后默默地工作,让...
克罗恩病护理诊断及护理措施-克... 哎呀,说到克罗恩病,这可是个让人头疼的小妖精。我得这病已经好几年了,每天都在和它斗智斗勇。今天,我得...
身份证号码大全及名字-身份证号... 哇塞,今天我要和大家爆一个大料,关于那些身份证号码和名字的秘密,简直是让人目瞪口呆!你以为身份证号码...
彩生活协同oa系统2.0-彩生... 大家好!今天我要来聊聊我们生活中的小帮手——彩生活协同OA系统2.0。这个系统真是太棒了,它不仅仅是...
twrp recovery怎么... 哎呀,说到TWRPRecovery,这可不是一般的玩意儿!如果你是个爱折腾手机的小能手,那你肯定得知...
急性阑尾炎术后的心理护理-急性... 哎呀,说到这急性阑尾炎手术后的日子,真是让人心疼又心累啊!手术刀一划,不仅切开了肚子,连带着把心情也...
gps相片转谷歌地球-首次将 ... 哎呀,你们知道吗?当我第一次尝试把我的GPS相片转到谷歌地球上时,我的心情简直不能更激动了!就像是小...
rallycross-拉力越野... 嗨,各位赛车迷们!今天咱们聊聊那个让人心跳加速、热血沸腾的赛事——拉力越野赛(Rallycross)...
朝阳市中心医院电话:救命稻草还... 哎呀,说到这个朝阳市中心医院电话,我可是有说不完的故事啊!每次一想到要拨打那个号码,心里就五味杂陈。...
免费图书管理系统百度云-免费图... 哎呀,说到这个免费图书管理系统在百度云上,我真的是激动得不行!你知道吗,作为一个书虫,家里的书多得跟...
ecshop模板家-ECSHO... 大家好,我是一个热爱网上购物的小店主,今天我要和大家聊聊我的“ECSHOP模板家”的奇妙冒险。ECS...
硬盘坏了,d盘消失了-电脑 D... 哎呀,真是气死我了!今天一打开电脑,准备追个剧呢,结果发现我的D盘不见了!那个装满了我多年珍藏的D盘...
2024r2联网激活-2024... 哎呀,说到这个2024R2的联网激活,我简直要激动得跳起来!这可不是一般的激活过程,简直就像是一场刺...
警惕!牛犇病毒肆虐网络,如何防... 哎呀,说到这个“牛犇病毒”,真是让人头疼啊!这玩意儿最近在网络上疯传,简直像是打开了潘多拉的盒子,搞...
戴尔台式机系统重装-戴尔台式机... 哎,最近我的戴尔台式机简直成了电影里的慢动作大师,点个图标能等我喝完一杯咖啡!这速度,简直比乌龟还慢...
达思数据恢复软件如何使用-达思... 大家好,我是一名普通的数据维护爱好者,今天我要跟大家聊聊一个超级神奇的工具——达思数据恢复软件!这东...
急性肺炎怎么治疗-急性肺炎不用... 哎呀,急性肺炎这事儿,真是让人心急火燎的!但别慌,我来给你支支招。首先啊,得了急性肺炎,最重要的是去...
道路绿化设计方案-城市道路绿化... 在这个快节奏的城市生活中,我们常常忽略了那些默默陪伴我们的绿色伙伴——道路两旁的绿化带。今天,我想和...
数组全部初始化为0-电脑数组一... 哎呀,天哪!今天早上打开电脑,发现我的数组全变成0了!这是怎么回事啊?昨天还好好的,怎么一觉醒来就全...