2011-10-26 22:09 by Clingingboy, 113 visits, 网摘, 收藏, 编辑
摘要:数的乘方 2的8次方 4的4次方 8的2此方 利用以上思路来减少乘法次数,3次乘法就可以完成运算 注意点:用模来判断乘方的奇偶性,如果是奇数则再乘以x pu...
阅读全文
2011-09-22 20:47 by Clingingboy, 255 visits, 网摘, 收藏, 编辑
摘要:非递归实现二叉树的前序/后序/中序遍历 中序遍历 // arr[1] // arr[2] ...
阅读全文
2011-09-15 23:01 by Clingingboy, 251 visits, 网摘, 收藏, 编辑
摘要:即abc输出abc,acb,bac,bca,cab,cba 思路:先以非递归方式,完成部分 public static void Rotate(char[] str){ var len...
阅读全文
2011-09-12 17:16 by Clingingboy, 748 visits, 网摘, 收藏, 编辑
摘要:直接插入排序 折半插入排序 二路插入排序 插入排序有许多的变种,所以讨论一下 以此贴为基础 http://www.cnblogs.com/Clingingboy/...
阅读全文
2011-09-12 11:37 by Clingingboy, 93 visits, 网摘, 收藏, 编辑
摘要:设计一个算法将顺序表L中所有小于0的整数放前半部分,大于等于0的整数放在后半部分 二叉树的删除 设计一个算法将顺序表L中所有小于0的整数放前半部分,大于等于0的整数放在后半部分 ...
阅读全文
2011-09-06 19:58 by Clingingboy, 357 visits, 网摘, 收藏, 编辑
摘要:排队规则:进入队列的人永远都在队尾,出队的人永远都在队首. 1.队列初始化 用rear和front表示队尾和队首. 在数组表示队列,如下有5个大小的数组A, 1,2,3,4,5 那么如...
阅读全文
2011-03-14 21:42 by Clingingboy, 158 visits, 网摘, 收藏, 编辑
摘要:重点记忆,只对我个人而言 已知二叉树前序和中序,求完整二叉树及后序 见数据结构154页 示例: 前序:ABCDEFG 中序: CBEDAFG 由于前序知道A肯定是根 由前序中得知A为跟的情况,再看中...
阅读全文
2011-02-16 22:09 by Clingingboy, 154 visits, 网摘, 收藏, 编辑
摘要:http://www.cnblogs.com/clingingboy/archive/2010/07/02/1770057.html 一.计数排序 思想:前提待排序元素是位于0到k之间的正整数 用一个额外的数组(数组大小为k+1)记录计数数组元素 如果元素x的位置为m,那么比元素x小的个数为m-1,按照以上思想先算出元素的计数索引,然后根据索引值从原待排序的数组中取元素,每次取元素,则计数...
阅读全文
2011-01-29 17:14 by Clingingboy, 146 visits, 网摘, 收藏, 编辑
摘要: 一.Catalan数 中学的有序数列就是一个递归式 如F(n+1) =F(n)+1 条件是n>=1,已知f(1)=1; Catalan式也是一个递归式数列,如下http://baike.baidu.com/view/1163998.htm不管其出处,只管应用
阅读全文
2011-01-27 14:11 by Clingingboy, 141 visits, 网摘, 收藏, 编辑
摘要: 朴素串匹配 如下匹配abc过程,每趟匹配都是从对应的索引值开始,如1-1,2-2,3-3,一旦匹配不成功就回溯原索引值加1 减少不必要的回溯 如下 情况1 cde不匹配cdd,若采用朴素匹配,则下次匹配从2个字符d开始 但由于d!=c,就可以得知主串的第二个字符d也不等于匹配串的第一个字符c,那么下次匹配就没必要从第2个字符开始,直接从比较s3开始 情况2 子串有相邻字符重复
阅读全文
2011-01-22 15:16 by Clingingboy, 183 visits, 网摘, 收藏, 编辑
摘要: 计算广义表原子结点个数 替换相同原子 删除相同原子 广义表逆置 判断两个广义表是否完全相等
阅读全文
2011-01-22 15:12 by Clingingboy, 251 visits, 网摘, 收藏, 编辑
摘要: 参考:http://blog.csdn.net/fan158/archive/2010/05/21/5613821.aspx 感谢这位作者 概念 即表中的元素可以为单个元素,同时也可以是一...
阅读全文
2011-01-20 23:13 by Clingingboy, 155 visits, 网摘, 收藏, 编辑
摘要: 问题: 在内存中用数组存储50000个单词,用数组下标去找单词很快,但我们在单词软件中不知道单词在数组中的下标. 如a的下标为0,z最后单词的下标为49999,如果以这种方式来找的话,那么查找z开头的单词速度就会相当的慢。 方案: 想一个方法快速的找到单词相对应的下标,哈希函数的定义 将数据元素的关键字K作为自变量,通过一定的函数关系(称为哈希函数),计算出的值,即为该元素的存储地...
阅读全文
2011-01-20 16:29 by Clingingboy, 106 visits, 网摘, 收藏, 编辑
摘要: 一.顺序查找 就从头到尾或者从尾到头 结果二.折半查找(二分查找)首先必须是有序的此图更详细分块查找(索引顺序查找)即将数据分块,比如将1-100,分成10块,分别存储1-10,2-20…9...
阅读全文
2011-01-03 13:19 by Clingingboy, 267 visits, 网摘, 收藏, 编辑
摘要: 双端链表 双端栈 双端队列 从实用角度,感受不出双端队列的好处,但其可以充当栈和队列的角色. 参考资料:http://baike.baidu.com/view/1627726.htm Test 当AddFirst和AddLast同时使用时则变成2个栈了简单实现优先级队列PriorityQueue两个主要的方法,我想的与源码不同,结果是相同...
阅读全文
2011-01-02 14:50 by Clingingboy, 187 visits, 网摘, 收藏, 编辑
摘要: 基本的栈 逆波兰表达式优点:不会发生内存溢出的问题链栈通过链表操作头结点就可以了Queue需要一个头和尾,两者相当于入队时,rear++,出队时front++,当front等于rear时,则表示为空.基本的队列环形队列(1)为了防止队满的情况如1,2,3,4,5,MaxSize=5,当插入元素6,则溢出,当用了环形队列,那么就变成了6,2,3,4,5(6替换了1)(2)在出对时判...
阅读全文
2010-12-28 21:54 by Clingingboy, 167 visits, 网摘, 收藏, 编辑
摘要: 把其当成数组操作,只不过操作都是返回一个新的数组,而不在数组中做move操作. 基础数据结构 1.连接2.插入3.删除4.求字串5.匹配(1)compare (2)startwith(3)e...
阅读全文
2010-12-22 22:32 by Clingingboy, 247 visits, 网摘, 收藏, 编辑
摘要:一.单链表 基本数据结构预留 1.删除值为n的节点的直接前驱节点p=>r=>n变为p=>r思路:由于是单链表没有前驱,所以要提前记录,并且在寻找后继的过程也要做记录,若找到则将更改节点的前驱的前驱...
阅读全文
2010-12-19 23:02 by Clingingboy, 155 visits, 网摘, 收藏, 编辑
摘要:1.Reverse 解法1 for循环 首位和末尾交换解法2 while语句 两者效果相同解法3直接将以a.length/2为基础,三种思想相同都是首末互换2.删除指定重复元素的集合即Rem...
阅读全文
2010-10-17 13:35 by Clingingboy, 1086 visits, 网摘, 收藏, 编辑
摘要: http://learn.gxtc.edu.cn/NCourse/jxcamcad/cadcam/Mains/main16-2.htm 2.3.6 三维变换 ...
阅读全文
2010-10-17 13:26 by Clingingboy, 1623 visits, 网摘, 收藏, 编辑
摘要: 转http://learn.gxtc.edu.cn/NCourse/jxcamcad/cadcam/Mains/main11-2.htm 2.3.3 基本二维变换 ...
阅读全文
2010-10-11 15:49 by Clingingboy, 150 visits, 网摘, 收藏, 编辑
摘要: 为了简单起见,内部将不采用数组,而采用.net的List列表,此部分与用到的算法无关,所以可以忽略 Node的数据项操作 在没有数组的影子下是如此的easyNode的节点查找以下图...
阅读全文
2010-10-11 11:08 by Clingingboy, 328 visits, 网摘, 收藏, 编辑
摘要: 2-3-4树概念 The 2, 3, and 4 in the name 2-3-4 tree refer to how many links to child nodes can ...
阅读全文
2010-10-09 20:41 by Clingingboy, 157 visits, 网摘, 收藏, 编辑
摘要:m路查找树 若满足一下条件的数,则成为m路查找树 如下面一棵3路查找树的示例 m=3 k1=20,k2=40 A0{10,15},A1{25,30},A2{45,50} 规则判断 K1<A1<K2,当0<i<n,即n>1时 A1>K1 A0<K1 C也符合条件 B-树 B-树的目标 尽可能让节点的数据项填满,这样才可以让取数据时取到数据项的最大化. 与2-3-5所不同的是当遇到节点满时并不裂,而是当遇到插入节点的数据项满时才分裂,这就有可能导致满节点的父节点也是满节点的,需要二次分类. B-树的插入 取中间值,然后分裂(经过2-3-4的分裂过程,这里就很容易理解了) 在这种结构下,查找
阅读全文
2010-10-09 20:41 by Clingingboy, 726 visits, 网摘, 收藏, 编辑
摘要:AVL树节点的删除规则 三种现象 现象1 注意:q是30,而不是20,因为删除了25,节点会移动,以下现象均遵循此规律 现象2 现象3 现象1和现象2比较简单,不需要平衡化处理,现象3则比较复杂.先讨论现象1和2 现象1删除步骤 先找到节点,然后删除节点 其删除节点的子节点<2个,即只有左节点或者右节点或者没节点三种可能 如果删除的是右节点,那么该删除节点的子节点(如果有的话)将会代替该节点,反之也则替换左节点 代替的节点不是左节点就是右节点(只会是其中一个,若是两个子节点的情况则另外考虑)现象2删除步骤即该节点的平衡因子为0,说明其左子树和右子树的高度是相同的删除该节点后,其左节
阅读全文
2010-10-08 23:31 by Clingingboy, 519 visits, 网摘, 收藏, 编辑
摘要: 继续讨论旋转 为了方便讨论是做点记号 X为插入的节点 P为X的父节点 R为P的父节点 看下面四种情况 LL旋转 当三个节点处于一条直线,并均是左节点时,需要以中间的...
阅读全文
2010-10-08 17:06 by Clingingboy, 283 visits, 网摘, 收藏, 编辑
摘要:http://www.cnblogs.com/abatei/archive/2008/11/17/1335031.html 修改自陈广老师 1.Node 2.操作,对外开放的只有添加和删除操作,并...
阅读全文
2010-10-08 11:51 by Clingingboy, 214 visits, 网摘, 收藏, 编辑
摘要:红黑树规则 每一个节点不是红色就是黑色的 根总是黑色的 如果节点是红色的,则它的子节点必须是黑色的(节点是黑色,子节点也可以为红色/黑色) 从根到叶节点或空子节点的每条路径,必须包含相同数目的黑色节点...
阅读全文
2010-10-06 23:59 by Clingingboy, 104 visits, 网摘, 收藏, 编辑
摘要:一.随机变量的概念 看一个例子 盒子中有5个球,其中3个红球,随机取2个,注意问的问题? 取到1个红球的概率 至少取到一个红球的概率 无法取到红球的概率 取到2个红球的概率 取到红球的个数 1-4...
阅读全文
2010-10-06 20:27 by Clingingboy, 181 visits, 网摘, 收藏, 编辑
摘要: 好久没技术,但手痒,写数学也行吧...试试... 市场上有很多好的教材,这里只为自己...
阅读全文
2010-08-15 23:03 by Clingingboy, 453 visits, 网摘, 收藏, 编辑
摘要:一.最小生成树 永远遵循取最小权值的原则如一个顶点到多个顶点,取最小权值1.添加边结构2.添加优先级队列3.1 标记当前项3.2将符合条件的权值放入队列中如遇到起点相同的,则比较distance,放弃...
阅读全文
2010-08-15 13:57 by Clingingboy, 464 visits, 网摘, 收藏, 编辑
摘要:好久没js 1.顶点2.图3.添加顶点和边4.深度优先遍历规则:1.访问一个领接点未访问的顶点并标记为访问,然后放入栈中2.如果1无法执行且栈不为空,则弹出一个顶点然后继续执行13.无法1,2均无法执...
阅读全文
2010-07-02 16:20 by Clingingboy, 553 visits, 网摘, 收藏, 编辑
摘要: 一.冒泡排序(左右两两比较) 排序过程(比较次数恒定不变) 将第一个记录的关键字与第二个记录的关键字进行比较,若为逆序r[1].key>r[2].key,则交换...
阅读全文
2010-03-31 13:00 by Clingingboy, 218 visits, 网摘, 收藏, 编辑
摘要:参考:http://www.cnblogs.com/yuchen198112/archive/2007/01/02/610058.html 理解下面两句话 (1)若上次访问到的结点的右指针为空,则将当...
阅读全文