typora-copy-images-to |
---|
./img |
教材源码 Source Code
线性表 | 栈和队列 | 串、数组和广义表 | 树和二叉树 | 图 | 查找 | 排序 |
---|---|---|---|---|---|---|
顺序表 | 顺序栈 | BF算法 | 二叉树的操作 | 邻接矩阵 | 顺序查找 | 直接插入 |
单链表 | 链栈 | next函数值 | 线索二叉树 | 邻接表 | 折半查找 | 折半插入 |
双向链表 | 栈与递归 | KMP算法 | 数据压缩 | DFS遍历 | 二叉排序树 | 希尔排序 |
线性表的合并 | 循环队列 | nextval修正值 | 表达式树求值 | BFS遍历 | B-树 | 起泡排序 |
有序表的合并 | 链队 | 病毒感染检测 | 最小生成树 | 散列查找 | 快速排序 | |
一元多项式 | 数制转换 | 最短路径 | 简单选择 | |||
括号匹配 | 拓扑排序 | 堆排序 | ||||
表达式求值 | 关键路径 | 归并排序 | ||||
舞伴问题 | 六度空间 | 基数排序 |
补充算法
绪论 | 线性表 | 栈和队列 | 串、数组和广义表 | 树和二叉树 |
---|---|---|---|---|
三元组 | 静态链表 | 行编辑程序 | 顺序串 | 并查集 |
(A-B)∪(B-A) | 多维数组 | |||
循环链表 | 广义表 |
注:补充算法多源自紫皮严蔚敏版数据结构
编程题解 Solutions
线性表 | 栈和队列 | 串、数组和广义表 | 树和二叉树 | 图 | 查找 | 排序 |
---|---|---|---|---|---|---|
2.1 | 3.1 | 4.1 | 7.1 | |||
2.2 | 3.2 | 4.2 | ||||
2.3 | 3.3 | 4.3 | ||||
2.4 | 3.4 | 4.4 | ||||
2.5 | 3.5 | 4.5 | ||||
2.6 | 3.6 | 4.6 | 5.6 | |||
2.7 | 3.7 | |||||
2.8 | 3.8 | |||||
2.9 | 3.9 | |||||
2.10 | 3.10 |
如何使用 How to use
-
选用CLion(大学生可申请使用免费的教育版本)集成开发环境,配置好C++开发环境
-
点击该仓库的
Code
绿色按钮,然后点击Download ZIP
或者直接使用终端下载:
git clone https://github.com/ascendho/KY-DS.git
- 解压,然后选中要打开的文件夹,右键选中
Open Folder as CLion Project
常见问题 FAQ
Q1:源码后缀是cpp,所以需要学习完了c++才能看懂吗?
答:不,虽然后缀名是cpp,但是也主要是为了使用c++语言的传引用特性以及与严书的"类C语言"同步,教材源码中不会引入其他的c++语言特性,而在部分题解中,为了类型适配方便,会视情况使用标准库
stl
里面的数据结构,但不影响程序逻辑的理解(相反,事实上恰恰方便了程序的理解)。基于此,你只需要基本掌握c语言,就能看懂代码Q2:我可以不使用CLion,采用其他IDE吗?
答:当然可以,只不过你可能就需要先删除文件夹中CLion相关的配置文件(如CMakeLists.txt)或者直接在网页端复制你需要的代码即可
参考书目 Bibliography
教材 | 作者 | 图示 | 资源链接 |
---|---|---|---|
数据结构双色版 | 严蔚敏、李冬梅 | 人邮教育 | |
数据结构习题解析与实验指导 | 李冬梅 | 人邮教育 |
推荐资源 Recommended Resources
声明 Disclaimer
-
该项目仅用于学习交流,凡是可能涉及到的版权问题,归教材原作者所有
-
本人所贡献的部分,遵从
MIT
协议
最后,如果你认为这个项目帮助到了你,不妨给个star✨!