上一页 1 ··· 4 5 6 7 8 9 10 11 下一页

2013年11月14日

摘要: BFS(广搜):广搜就是广度优先搜索,根据名字可以知道,是通过广度来遍历图,也就是层次遍历吧。在这里以及下面的DFS(深搜),都用到了颜色WHITE,GRAY,BLACK,不过作用不同,具体分别再分析。在BFS中,WHITE,GRAY,BLACK这三色是用来记录一个点是否被搜到,以及是否它的邻接点都是灰色。(具体见P324倒数第2段)。P326 的图22-3是个经典的图,看了此图基本就知道BFS是干嘛的了。在图22-3中,因为他是用字母表示的,我把各点定义为顺时针从标号1开始,于是r点是1号,源点s是2号。这是我写的具体实现(C/C++):/* * Introduction to Algori 阅读全文
posted @ 2013-11-14 22:20 虚若怀谷 阅读(256) 评论(0) 推荐(0) 编辑

2013年11月13日

摘要: 最近在做CTR,刚好Google在KDD发了一篇文章,讲了他们的一些尝试,总结一下:先是一些公式的符号说明:一、优化算法CTR中经常用Logistic regression进行训练,一个常用的Loss Function为Online gradient descent(OGD)是一个常用的优化方法,但是在加上L1正则化后,这种方法不能产生有效的稀疏模型。相比之下 Regularized Dual Averaging (RDA)拥有更好的稀疏性,但是精度不如OGD好。FTRL-Proximal 方法可以同时得到稀疏性与精确性,不同于OGD的迭代步骤:其是一个非增的学习率FTRL-Proximal通 阅读全文
posted @ 2013-11-13 11:31 虚若怀谷 阅读(604) 评论(0) 推荐(0) 编辑

2013年11月11日

摘要: 1. 二项堆数据结构简介2. 存储模型3. 实现代码分析4. 参考资料及代码下载. 二项堆数据结构简介一颗二项堆是由一组二项树组成,在给出二项堆的定义之前,首先我们来定义什么是二项树。二项树是一种递归的定义:1. 二项树B[0]仅仅包含一个节点2. B[k]是由两棵B[k-1]二项树组成,其中一颗树是另外一颗树的子树。下面是B0 - B4二项树:显然二项树具有如下的性质:1. 对于树B[k]该树含有2^k个节点;2. 树的高度是k;3. 在深度为i中含有Cik节点,其中i = 0, 1,2 ... , k;定义完二项树之后,下面来定义二项堆H,二项堆是由一组满足下面的二项树组成:1. H中的每 阅读全文
posted @ 2013-11-11 22:15 虚若怀谷 阅读(290) 评论(0) 推荐(0) 编辑
摘要: 二叉搜索树即二叉搜索树: 1.所有非叶子结点至多拥有两个儿子(Left和Right); 2.所有结点存储一个关键字; 3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树;如: 二叉搜索树的搜索,从根结点开始,如果查询的关键字与结点的关键字相等,那么就命中;否则,如果查询关键字比结点关键字小,就进入左儿子;如果比结点关键字大,就进入右儿子;如果左儿子或右儿子的指针为空,则报告找不到相应的关键字;如果二叉搜索树的所有非叶子结点的左右子树的结点数目均保持差不多(平衡),那么二叉搜索树的搜索性能逼近二分查找;但它比连续内存空间的二分查找的优点是,改变B树结构(插入与删除结点)不 阅读全文
posted @ 2013-11-11 22:08 虚若怀谷 阅读(237) 评论(0) 推荐(0) 编辑

2013年10月23日

摘要: 1、说明:创建数据库CREATEDATABASEdatabase-name2、说明:删除数据库dropdatabasedbname3、说明:备份sql server--- 创建 备份数据的 deviceUSE masterEXECsp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'--- 开始 备份BACKUP DATABASEpubs TOtestBack4、说明:创建新表createtabletabname(col1 type1 [notnull] [prima 阅读全文
posted @ 2013-10-23 10:32 虚若怀谷 阅读(163) 评论(0) 推荐(0) 编辑

2013年10月12日

摘要: 红黑树是AVL树的变种,具体定义如下:红黑树也是一棵二叉查找树,要满足一下性质(1)每个节点或者是黑色,或者是红色。(2)根节点是黑色。(3)每个叶子节点(NIL)是黑色。(4)如果一个节点是红色的,则它的子节点必须是黑色的。(5)从一个节点到该节点的子孙节点的所有路径上包含相同数目的黑节点。定义:从某个节点x出发(不包括该节点)到达一个叶节点的任意一条路径上,黑色节点的个数称为该节点的黑高度,记为bh(x)红黑树的黑高度定义为bh(root).定理:一棵含有n个节点的红黑树的高度至多为2log(n+1).反着证明这个结论:对于高度为h的红黑树,它的包含的内节点个数至少为 2^{h/2}-1个 阅读全文
posted @ 2013-10-12 18:36 虚若怀谷 阅读(393) 评论(0) 推荐(1) 编辑

2013年10月11日

摘要: 插入结点用到了上一次BST的插入函数(做了一点添加),并且在此基础上增加了保持红黑性质的调整函数。还是先看看插入函数:void RBTreeInsert(RBTree &T, int k){ //T->parent->color = BLACK; Node *y = NULL; Node *x = T; Node *z = new Node; z->key = k; z->lchild = z->parent = z->rchild = NULL; while(x != NULL) { y = x; if(k key) x = x->lchil 阅读全文
posted @ 2013-10-11 22:02 虚若怀谷 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 上一章总结过BST(http://www.wutianqi.com/?p=2430),BST在高度较小时,可以获得很好的性能(因为BST的操作的平均时间为O(lgn)),但是在高度较大时,则性能就一般。而红黑树“近似平衡”,于是降低了平均时间,再者,红黑树并不追求“完全平衡”——它只要求部分地达到平衡要求,降低了对旋转的要求,从而提高了性能。谈到红黑树的用途,最广为人知的应该就是红黑树在C++ STL中的应用了,在set, multiset, map, multimap等中,都应用了红黑树(具体大家可以去网上搜搜)。下面给出红黑树和黑高度的定义:满足下面几个条件(红黑性质)的二叉搜索树,称为红 阅读全文
posted @ 2013-10-11 21:28 虚若怀谷 阅读(165) 评论(0) 推荐(0) 编辑

2013年10月10日

摘要: 推荐在看算法导论的这一章之前先看看严蔚敏老师在《数据结构》上的二叉查找树。整体来说二叉查找树不难,就是插入和删除节点时让人纠结,我就是在删除节点时各种纠结了。二叉树执行基本操作的时间与树的高度成正比。首先说下二叉查找树的性质:设x为二叉查找树中的一个结点。如果y是x的左子树中的一个结点,则key[y]=key[x]。注意这个性质,和堆对比下,还是有区别的,并且这个性质表示二叉查找树的根节点的左子树中所有结点都小于根结点,所有右子树的结点都大于根结点。所以根据这个性质,可以用中序访问二叉查找数来实现从小大到排列。首先看看这个二叉查找树(P151图12-1(a)):图1按中序遍历结果为:2-> 阅读全文
posted @ 2013-10-10 21:10 虚若怀谷 阅读(202) 评论(0) 推荐(0) 编辑

2013年10月8日

摘要: 这一章的内容很简单,基本都是一些概念。 第i个顺序统计量:在一个由n个元素组成的集合中,第i个顺序统计量(order statistic)是该集合中第i小的元素。 最小值是第1个顺序统计量(i=1) 最大值是第n个顺序统计量(i=n) 中位数:一个中位数(median)是它所在集合的“中点元素”,当n为奇数时,i=(n+1)/2,当n为偶数是,中位数总是出现在 (下中位数)和 (上中位数)。 找最 阅读全文
posted @ 2013-10-08 21:33 虚若怀谷 阅读(235) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 11 下一页

导航