数据结构
文章平均质量分 93
on_the_road344
这个作者很懒,什么都没留下…
展开
-
红黑树
const bool RED = true; const bool BLACK = false;struct Node { int num; Node* left; Node* right; bool color; int N; Node(int v) { num = v; left = right = NULL转载 2015-09-15 12:24:00 · 284 阅读 · 0 评论 -
线性表的链式实现
再简单的数据结构都有实现的意义线性表是最最基础的数据结构,因此我们需要高效地实现它,并用它为我们以后构建高效的数据结构提供帮助。实现过程中的疑惑 有人建议笔者在表头处放置一个空的头结点,说是这样可以方便我们在最开始插入元素,但整个程序写下来,也没觉得方便了多少,因此下次准备不加试试。 类的封装性让我无法处理链表的归并。一开始,我的想法是类中的归并函数,接受一个List的对象,把两个对象归并,并把接受原创 2015-10-06 09:52:15 · 420 阅读 · 0 评论 -
并查集
再简单的数据结构也有实现的必要并查集并查集(Union-Find)还是一个很值得我们学习的数据结构,它代码简单,但带来的性能改善却是非常明显的,而且是一个动态的数据结构。原创 2015-10-06 14:36:23 · 529 阅读 · 0 评论 -
二叉树的非递归遍历
前几天数据结构课的时候,讲到二叉树的非递归遍历,老师照着严蔚敏书上的代码讲解,什么先找到最左的节点,再如何如何。。。我听得很是乱,但是我只记得之前好像在哪里看到过,其实并没有必要这么麻烦。 我首先是写出了先序的代码,个人认为思路比严的代码要清晰。 //先序遍历 S.push (m_root); while(!S.empty()) { p = S.top();原创 2015-10-30 16:28:12 · 397 阅读 · 0 评论