嗨!
在这个专栏中,我们将会向您介绍数据结构。该系列的专栏将会分为以下几个模块:
1. 链表
1.1 单链表
1.2 双向链表
1.3 循环链表
1.4 链表的游标实现
1.5 链表的应用:多项式的合并
2. 栈
2.1 栈的链表实现
2.2 栈的数组实现
2.3 栈的应用:四则运算计算器
3. 递归
3.1 运用栈解释递归的基本原理
3.2 递归的应用一:斐波那契数列
3.3 递归的应用二:汉诺塔问题
4. 队列
4.1 队列:链表实现
4.2 队列:循环队列实现
5. 树
5.1 树的基本术语介绍
5.2 二叉树的几种遍历方式(先序、中序、后序)
5.3 二叉树的几个函数
5.4 树的几种存储方式
5.4.1 双亲表示法
5.4.2 孩子表示法
5.4.3 双亲孩子表示法
5.4.4 兄弟表示法
5.5 哈夫曼树
5.5.1 哈夫曼树的基本介绍
5.5.2 哈夫曼树的构建
5.5.3 哈夫曼树的应用
5.5.3.1 哈夫曼编码的构建
5.5.3.2 哈夫曼编码的解码
6. 图(未完待续)
在该系列专栏中,所有的代码将以C语言实现。在您阅读这篇专栏之前,我们假定您:
1. 掌握了C/C++ 语言
2. 对指针、结构体、动态内存分配有一个较深的理解
3. 不怕秃头(划掉)
本系列专栏的面向对象是计算机专业或相近专业的大学生。这就是为什么笔者坚持使用C语言这个高级汇编(划掉)来介绍数据结构。用JAVA或者C++确实可以使我们学习数据结构时容易不少,但也只有像C语言这样的语言,可以使我们更加深入的了解数据结构运行的本质。
总的来说,数据结构是一门极具挑战的课程。但计科的路,从来都没那么好走。
祝你好运!