
数据结构
Preke
这个作者很懒,什么都没留下…
展开
-
关于BFS和DFS
复习(预习)人工的时候看到对BFS和DFS这样的理解,一目了然,很清晰,比我以前理解的高明多了,所以想记录下来:BFS:(1) 令N为一个由初始状态构成的表。(2) 若N为空退出,标志失败(3) 令n为N中第一个节点,将n从N中删除。(4) 若n是目标,则退出,标志成功。(5) 若n不是目标,将n的后继节点加入到N的末端,转(2)。DFS:(1) 令N为一个由初始状原创 2016-01-05 19:57:04 · 545 阅读 · 0 评论 -
自己关于KMP算法的理解
数据结构学到KMP,原创 2014-11-10 08:07:18 · 628 阅读 · 0 评论 -
散列表
当实际存储的关键字数目比全部的可能关键字总数要小时,采用散列表就能成为直接数组寻址的一种有效替代,因为散列表使用一个长度与实际存储的关键字数目成比例的数组来存储。解决冲突:链接(chaining)在有冲突的槽里用一条链表存储数据,槽内存链表的头指针; 无论成功与否,查找一个元素的复杂度为O(1+a)O(1+a), 其中a为每个槽内存储元素的个数的期望 (找不到的标志:槽为空,或者槽指向的链表遍历原创 2016-08-19 19:38:25 · 443 阅读 · 0 评论 -
重写数据结构--二叉搜索树
性质:根节点左边的节点关键字都比根节点的关键字小;根节点右边的节点关键字都比根节点的关键字大;结构体:typedef struct BinarySearchTreeNode { int value; BinarySearchTreeNode* parent; BinarySearchTreeNode* left; BinarySearchTreeNode* right原创 2016-08-19 18:34:39 · 425 阅读 · 0 评论 -
红黑树
性质:红黑树是一棵二叉搜索树,他在每个结点上增加了一个存储位为来标识结点的颜色,可以是RED或者BLACK。通过对任何一条从根到叶子的简单路径上各个结点的颜色进行约束,保证没有一条路径比其他路径长出2倍,所以是近似平衡的。 每个节点是红色或者黑色 根节点是黑色 每个叶节点(NULL)是黑色的 如果一个节点是红色的,则它的两个子节点都是黑色的 对于每个结点,从该结点到其所有后原创 2016-08-24 02:28:07 · 1850 阅读 · 2 评论