- 说明:本系列文章是学习数据结构过程的总结,文章中难免有错误与不足之处,希望大家遇到有疑问可以互相交流,共同进步。之所以写这一系列有三个原因:一是在学习过程中,感觉介绍的这些数据结构很好玩,亲身尝试一下才痛快,二是为了提升自己对知识的理解,自己动手实现总会有各种问题,解决问题的过程你已经在加深理解了,三是记录自己的学习过程。
- 关于博客中的程序。博客中使用大量的代码,在串,树,堆,集合,查找,排序的相关知识中基本给出了数据结构的实现,大家在学习数据结构时,看一下博客中各种结构的实现岂不是很美妙。线性结构比较简单,这里没有给出讲解,讲解图的知识时,由于比较复杂,只给出了思想,并没有具体的实现,阅读时不要纠结这个问题。
- 数据结构是个持续学习的过程,不要想着一口吃个胖子,由简入繁,逐渐完善自己。
章节 | 题目 |
---|---|
串 | 1、 模式匹配算法 |
树 | 2、二叉树的层序遍历 |
树 | 3、二叉排序树(BST)的创建,查找,插入,删除及最大最小结点 |
树 | 4、非递归实现二叉树遍历(附c++完整代码) |
树 | 5、遍历二叉树的应用:输出二叉树中的叶子结点、求二叉树的高度 |
树 | 6、树的同构 |
树 | 7、平衡二叉树(AVL树) |
树 | 8、小白专场—是否同一棵二叉搜索树 |
树 | 9、哈夫曼树与哈夫曼编码 |
堆 | 10、堆,堆的创建,插入,删除,建立 |
堆 | 11、小白专场:堆中的路径 |
集合 | 12、集合及运算 |
集合 | 13、小白专场: File Transfer–集合的简化表示,按秩归并与路径压缩 |
图 | 14、 【图(上)】什么是图,抽象数据类型,怎么表示一个图 |
图 | 15、 【图(上)】图的遍历,深度优先,广度优先 |
图 | 16、【图(上)】拯救007 |
图 | 17、 【图(上)】六度空间 |
图 | 18、 【图(上)】小白专场:如何建立图 |
图 | 19、【图(中)】最短路径问题 |
图 | 20、【图(中)】小白专场: 哈利·波特的考试 |
图 | 21、【图(下)】最小生成树问题 |
图 | 22、 【图(下)】拓扑排序 |
排序 | 23、 简单排序——冒泡排序,插入排序,逆序对 |
排序 | 24、 希尔排序(by Donald Shell) |
排序 | 25、 堆排序 |
排序 | 26、 归并排序 |
排序 | 27、 快速排序 |
排序 | 28、 表排序 |
排序 | 29、 基数排序 |
排序 | 30、 排序算法时间复杂度,额外空间复杂度比较 |
查找 | 31、 顺序查找 二分查找 插值查找 |
查找 | 32、斐波那契查找 |
散列查找 | 33、散列表 |
散列查找 | 34、散列函数的构造方法 |
散列查找 | 35、冲突处理方法----开放定址法 |
散列查找 | 36、冲突处理方法----分离链接法 |
散列查找 | 37、散列表的性能分析 |
散列查找 | 38、小白专场: 电话聊天狂人 |