不要因为现实的平凡,就否定了那华丽的梦想!
|
数据结构
课程《数据结构》面向计算机科学、软件工程及电气信息类专业的学习者,作为一门重要的专业基础课程,旨在帮助学生掌握高效解决问题所需的核心技术与方法。课程介绍了基本的数据组织方式、典型算法的实现,以及程序的时间和空间效率分析,培养学生选择合适的数据结构解决实际问题的能力。课程不仅涵盖了经典数据结构的定义和实现,还通过丰富的案例和练习巩固理论,特别设置了“小白专场”帮助初学者顺利入门,最终为学员参加编程能力测试(PAT)打下坚实基础。
⭐⭐⭐⭐
学过一门编程语言,具有一定编程
基础,即可理解主要内容,因为数
据结构本质上是不依赖编程语言的
,且编程练习平台可以接受二十余
种语言代码的提交。但由于算法
描述多用类似于C语言的伪码,
且小白系列仅讲解C语言的算法
实现,所以如果学过C语言会更
容易接受。
如果还对计算机处理离散结构的基
本理论和方法有较为系统的理解,
(即预修“离散数学”),则对更扎实
地掌握本课程内容有很大帮助,但
并不是必须的。
语音 | 字幕 | |
---|---|---|
中文 | ✅ | ✅ |
英文 | ❌ | ❌ |
无
1. 关于数据组织 - 例:图书摆放
2. 关于空间使用 - 例:PrintN函数实现
3. 关于算法效率 - 例:计算多项式值
4. 抽象数据类型
5. 算法的定义
6. 什么是好的算法
7. 各复杂度的渐进表示
8. 应用实例 - 算法1 & 2
9. 应用实例 - 算法3
10. 应用实例 - 算法4
11. 引子:多项式表示
12. 线性表及顺序存储
13. 顺序存储的插入和删除
14. 链式存储及查找
15. 链式存储的插入和删除
16. 广义表与多重链表
17. 什么是堆栈
18. 堆栈的顺序存储实现
19. 堆栈的链式存储实现
20. 堆栈应用:表达式求值
21. 队列及顺序存储实现
22. 队列的链式存储实现
23. 顶点的功能运算实现
24. 题意理解与多项式表示
25. 程序框架及读入多项式
26. 加法、乘法运算及多项式输出
27. 引子(顺序查找)
28. 引子(二分查找例子)
29. 引子(二分查找效率)
30. 树的定义和术语
31. 树的表示
32. 二叉树的定义及性质
33. 二叉树的存储结构
34. 先序中序后序遍历
35. 中序非递归遍历
36. 层序遍历
37. 遍历应用例子
38. 题意理解及二叉树表示
39. 程序框架、建树及同构判别
40. 二叉搜索树及查找
41. 二叉搜索树的插入
42. 二叉搜索树的删除
43. 什么是平衡二叉树
44. 平衡二叉树的建立
45. 题意理解及搜索树表示
46. 程序框架及建树
47. 搜索树表示三种样例
48. 线性结构习题1:什么是抽象的堆栈
49. 线性结构习题2:栈变迁转换表
50. 线性结构习题3:测试效益
51. 什么是堆
52. 堆的插入
53. 堆的删除
54. 堆的建立
55. 什么是哈夫曼树
56. 哈夫曼树的构造
57. 哈夫曼编码
58. 集合的表示及查找
59. 集合的并运算
60. 堆中的路径
61. 小白-FT.1 集合的简化表示
62. 小白-FT.2 题意理解与TSN的实现
63. 小白-FT.3 按树归并
64. 小白-FT.4 路径压缩
65. 什么是图 - 定义
66. 什么是图 - 邻接矩阵表示法
67. 什么是图 - 邻接表表示法
68. 图的遍历 - DFS
69. 图的遍历 - BFS
70. 图的遍历 - 为什么需要两种遍历
71. 图的遍历 - 图不连通怎么办
72. 用实例:超女007
73. 用实例:六度空间
74. 小白-BG.1 邻接矩阵表示与图结点结构
75. 小白-BG.2 邻接矩阵表示的图 - 初始化
76. 小白-BG.3 邻接矩阵表示的图 - 插入边
77. 小白-BG.4 邻接矩阵表示的图 - 建立图
78. 小白-BG.5 邻接矩阵表示的图 - 遍历图
79. 小白-BG.6 邻接矩阵的图 - 建立图
80. 树习题 - TTA.1 题意理解
81. 树习题 - TTA.2 核心算法
82. 树习题 - CBST.1 数据结构的选择
83. 树习题 - CBST.2 核心算法
84. 树习题 - CBST.3 计算左右子树的规律
85. 树习题 - HC.1 题意理解
86. 树习题 - HC.2 计算最优解概率
87. 树习题 - HC.3 检查编码
88. 概述
89. 无权图的单源最短路径
90. 无权图的单源最短路径示例
91. 有权图的单源最短路径
92. 有权图的单源最短路径示例
93. 多源最短路径算法
94. 小白-HP.1 题意理解
95. 小白-HP.2 程序框架搭建
96. 小白-HP.3 选择动物
97. 小白-HP.4 模块的引用与裁剪
98. Prim算法
99. Kruskal算法
100. 拓扑排序
101. 关键路径名
102. 图习题1 核心算法
103. 图习题2 其他推广
104. 概述
105. 冒泡排序
106. 插入排序
107. 时间复杂度下界
108. 希尔排序
109. 选择排序
110. 堆排序
111. 有序子列的归并排序
112. 递归算法
113. 非递归算法
114. 算法概述
115. 选主元
116. 子集划分
117. 算法实现
118. 算法概述
119. 物理排序
120. 精排序
121. 基数排序
122. 多关键字的排序
123. 排序算法的比较
124. 引子散列的基本思路
125. 什么是散列表
126. 数学关系建的散列函数构造
127. 字符串关系建的散列函数构造
128. 开放定址法
129. 线性探测
130. 线性探测 - 字符串的例子
131. 平方探测法
132. 平方探测法的实现
133. 分离链接法
134. 散列表的性能分析
135. 文件中单词词频统计
136. 小白-PM.1 题意理解与解决方法
137. 小白-PM.2 程序框架搭建
138. 小白-PM.3 输出主人
139. 小白-PM.4 模块的引用与裁剪
140. 习题-IOM.1 插入排序的排序
141. 习题-IOM.2 插库函数的判断
142. 习题-SWS.1 环的分类
143. 习题-SWS.2 算法示例
144. 习题-HHV 解决思路概述
145. KMP-1. 问题及简单解决方案
146. KMP-2. KMP 算法思路
147. KMP-3. KMP 算法实现
148. KMP-4. BuildMatch的实现原理
149. KMP-5. BuildMatch的编程实现