一、红黑树的介绍先来看下算法导论对R-B Tree的介绍: 红黑树,一种二叉查找树,但在每个结点上增加一个存储位表示结点的颜色,可以是Red或Black。通过对任何一条从根到叶子的路径上各个结点着色方式的限制,红黑树确保没有一条路径会比其他路径长出俩倍,因而是接近平衡的。 前面说了,红黑树,是一.....
分类:
其他好文 时间:
2015-09-12 00:44:48
阅读次数:
264
1. 从一个股价的问题说起 假如你获得了一种可以预测未来某公司股价的能力。下图是你预测的股价情况,那么你会在哪一天买入,哪一天卖出呢? 你可能认为可以在这17天当中的股价最低的那天(第7天)买入,然后在之后的股价最高的那天(第11天)卖出;或者反过来在整段时间内股价最高的那天卖出,然后在之前的股价最...
分类:
编程语言 时间:
2015-09-11 15:57:52
阅读次数:
186
1 编译原理及技术从本质上来讲就是一个算法问题而已,当然由于这个问题十分复杂,其解决算法也相对复杂。 我们学的数据结构与算法分析也是讲算法的,不过讲的基础算法,换句话说讲的是算法导论,而编译原理这门课程讲的就是比较专注解决一种的算法了2因为在人们尝试编写编译器的同时,诞生了许多跟编译相关的理论和技术...
分类:
其他好文 时间:
2015-09-10 20:48:48
阅读次数:
140
1.编译原理学什么? 这门课程关注的是编译器方面的产生原理和技术问题,编译原理及技术从本质上来讲就是一个算法问题而已,当然由于这个问题十分复杂,其解决算法也相对复杂。我们学的数据结构与算法分析也是讲算法的,不过讲的基础算法,换句话说讲的是算法导论,而编译原理这门课程讲的就是比较专注解决一种的算法了....
分类:
其他好文 时间:
2015-09-10 19:11:28
阅读次数:
133
华电北风吹
天津大学认知计算与应用重点实验室
日期:2015/9/9B树也是一种支持动态集合操作的搜索树,相比于红黑树B树允许多个孩子。...
分类:
编程语言 时间:
2015-09-09 13:34:10
阅读次数:
192
华电北风吹
天津大学认知计算与应用重点实验室
日期:2015/9/9
与散列表一样,搜索树数据结构也支持动态集合操作,包含插入,查询,删除,最小值,最大值,前驱,后继等。一、二叉搜索树:
二叉搜索树节点:关键字key,卫星数据,左孩子指针,右孩子指针,父节点指针,其他特殊类型(红黑树的节点颜色,AVL树的树高等)。
二叉搜索树性质:x是二叉搜索树中的任意一个节点。若y是x左子树中任意一个节点有...
分类:
编程语言 时间:
2015-09-09 13:33:54
阅读次数:
231
华电北风吹
天津大学认知计算与应用重点实验室
日期:2015/9/9
红黑树是对二叉树的一种平衡扩展。红黑树采用开放的数据扩张策略,并且对于诸如插入、查询,删除有Θ(\Theta(lg n) n)的时间复杂度,因此也是一种应用比较广泛的数据结构。一、红黑树的节点
节点属性:关键字key,节点颜色,左孩子指针,右孩子指针,父节点指针,卫星数据。
虚拟节点—NIL:对于红黑树中所有节点如果没有...
分类:
编程语言 时间:
2015-09-09 13:32:45
阅读次数:
258
今天看了算法导论,对FFT感受颇深。感觉我就在抄算法导论。回归正题。多项式的表示系数表示法系数表示法其实非常常见,其实就是:$$A(x)=\sum\limits_{j=0}^{n-1}a_jx^j$$这是一个n次多项式,每个项的次数为0,1,...,n-1如果用系数表示法来做多项式加法,那么时间复杂...
分类:
其他好文 时间:
2015-09-08 21:51:37
阅读次数:
310
1.为什么我们要学习函数的增长? 因为在计算机编程的学习中,我们需要掌握一个类似于“需求量”的东西,怎么去理解需求量呢,举个最简单的例子,你有一个双层循环,这个双层循环所需要的时间,就是一个增长量。具体一点可以这么去解释这个问题,如果你在一个循环里面的每一个步骤所需要的时间都不同的话,那么:你的需....
分类:
编程语言 时间:
2015-09-03 15:15:07
阅读次数:
142
字符串的匹配的算法一直都是比较基础的算法,我们本科数据结构就学过了严蔚敏的KMP算法。KMP算法应该是最高效的一种算法,但是确实稍微有点难理解。所以打算,开这个博客,一步步的介绍4种匹配的算法。也是《算法导论》上提到的。我会把提到的四种算法全部用c/c++语言实现。提供参考学习。下图的表格,介绍.....
分类:
编程语言 时间:
2015-09-03 00:43:13
阅读次数:
261