![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 74
期待_明天
南理工一名普通小硕,方向为数字图像质量评价算法,对编程图像感兴趣
展开
-
回溯法
如果上期的“百钱买百鸡”中鸡的种类数是变化的,用枚举法就无能为力了,这里介绍另一种算法——回溯法。 回溯法是一种既带有系统性又带有跳跃性的搜索法,它的基本思想是:在搜索过程中,当探索到某一步时,发现原先的选择达不到目标,就退回到上一步重新选择。它主要用来解决一些要经过许多步骤才能完成的,而每个步骤都有若干种可能的分支,为了完成这一过程,需要遵守某些规则,但这些规则又无法用数学公式来描转载 2014-02-23 21:40:12 · 368 阅读 · 0 评论 -
Robberies
RobberiesTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 4852 Accepted Submission(s): 1844Problem DescriptionThe aspiring转载 2014-02-25 19:55:18 · 413 阅读 · 0 评论 -
哈希表
最近我在做一个项目,其中要用到一个数据结构——Hash Table(哈希表),以前只有理论知识,现在实却发现很不简单,所以写下来和大家共分享。我们知道,哈希表是一个固定大小的数组,数组的每个元素是一个链表(单向或双向)的头指针。如果Key一样,则在一起,如果Key不一样,则不在一起。哈希表的查询是飞快的。因为它不需要从头搜索,它利用Key的“哈希算法”直接定位,查找非常快,各种数据库中的数转载 2014-02-28 15:44:37 · 384 阅读 · 0 评论 -
字符串匹配的KMP算法
来源 :http://www.ruanyifeng.com/blog/2013/05/Knuth%E2%80%93Morris%E2%80%93Pratt_algorithm.html作者: 阮一峰日期: 2013年5月 1日字符串匹配是计算机的基本任务之一。举例来说,有一个字符串"BBC ABCDAB ABCDABCDABDE",我想知道,转载 2014-03-05 11:07:09 · 481 阅读 · 0 评论 -
串的模式匹配算法---RK
这一节介绍一下由Rabin和Karp提出的RK算法。1,RK算法的基本思想 HASH! 如果两个字符串hash后的值不相同,则它们肯定不相同;如果它们hash后的值相同,它们不一定相同。 RK算法的基本思想就是:将模式串P的hash值跟主串S中的每一个长度为|P|的子串的hash值比较。如果不同,则它们肯定不相等;如果相同,则再诸位比较之。2,RK算法的转载 2014-03-04 20:04:28 · 508 阅读 · 0 评论 -
字符串匹配算法——利用有限自动机进行匹配
来源: http://www.cnblogs.com/jolin123/p/3443543.html本文内容与《算法导论》中字符串匹配章节相关并部分摘录。 常用的字符串匹配算法有朴素字符串匹配算法,Rabin-Karp算法,利用有限自动机进行字符串匹配和KMP算法等。前面两种比较简单,重点是后面两种。 利用有限自动机进行字符串匹配 假设要对文转载 2014-03-05 11:05:07 · 1542 阅读 · 0 评论 -
建堆的时间复杂度计算
现在常有两种建堆的方法,而这两种方法又有着不同的时间复杂度。下面分别陈述:(1)自顶向下的建堆方式这种建堆的方法具有O(n*log2n)的时间复杂度。从根结点开始,然后一个一个的把结点插入堆中。当把一个新的结点插入堆中时,需要对结点进行调整,以保证插入结点后的堆依然是大根堆。如下图所示,是采用自顶向下的方法建立的大根堆。其中h = log2(n+1)-1,第k层结点个数为2原创 2014-03-04 15:09:55 · 24698 阅读 · 3 评论 -
n个数字(0,1,…,n-1)形成一个圆圈,从数字0开始,每次从这个圆圈中删除第m个数字(第一个为当前数字本身,第二个为当前数字的下一个数字)。当一个数字删除后,从被删除数字的下一个继续删除第m个数字
来源:http://blog.csdn.net/lzj509649444/article/details/7056742题目:n个数字(0,1,…,n-1)形成一个圆圈,从数字0开始,每次从这个圆圈中删除第m个数字(第一个为当前数字本身,第二个为当前数字的下一个数字)。当一个数字删除后,从被删除数字的下一个继续删除第m个数字。求出在这个圆圈中剩下的最后一个数字。分析:我转载 2014-03-06 10:32:32 · 707 阅读 · 0 评论 -
二叉树递归与非递归遍历(附完整源码)
出处:http://blog.csdn.net/ns_code/article/details/12977901二叉树是一种非常重要的数据结构,很多其他数据机构都是基于二叉树的基础演变过来的。二叉树有前、中、后三种遍历方式,因为树的本身就是用递归定义的,因此采用递归的方法实现三种遍历,不仅代码简洁且容易理解,但其开销也比较大,而若采用非递归方法实现三种遍历,则要用栈来模拟实现(转载 2014-03-28 08:37:15 · 611 阅读 · 0 评论