
c/c++
文章平均质量分 71
Lieacui
目前还在读研究生
展开
-
动态规划、记忆化搜索、Dijkstra算法的总结
动态规划 动态规划算法通常用于求解具有某种最优性质的问题。在这类问题中,可能会有许多可行解。每一个解都对应于一个值,我们希望找到具有最优值的解。动态规划算法与分治法类似,其基本思想也是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。与分治法不同的是,适合于用动态规划求解的问题,经分解得到子问题往往不是互相独立的。若用分治法来解这类问题,则分解得到的原创 2016-06-24 10:34:48 · 5000 阅读 · 0 评论 -
Prim算法(普里姆算法)
普里姆算法(Prim算法),图论中的一种算法,可在加权连通图里搜索最小生成树。意即由此算法搜索到的边子集所构成的树中,不但包括了连通图里的所有顶点,且其所有边的权值之和亦为最小。算法描述1).输入:一个加权连通图,其中顶点集合为V,边集合为E;2).初始化:Vnew = {x},其中x为集合V中的任一节点(起始点),Enew = {},为空;3).重原创 2016-06-24 11:02:18 · 5338 阅读 · 0 评论 -
牛客网编程题:数组中缺失的最小正整数
参考博客: http://blog.youkuaiyun.com/zhangzhengyi03539/article/details/50732347题目描述: 对一个未排序的数组,找出缺失的最小正整数。 例如,对于数组[1,2,0]返回3;对于数组[3,4,-1,1]返回2。 算法时间复杂度应该为O(n)和常数的空间复杂度。解析: 一、如果数组重元素没有重复 借助于快转载 2016-06-24 20:22:22 · 704 阅读 · 0 评论 -
已知有两个链表,判断它们是否相交,若相交求其第一个公共节点
两个链表相交以及第一个公共节点的问题 判读两个链表是否相交以及如果相交它们的第一个公共节点的问题,主要分这么几种情况: 1)两个链表均不含有环 2)两个链表均含有环 对于一个有环一个没有,那么它们即不相交也没有公共节点 首先定义节点的结构12345str原创 2016-07-27 16:03:13 · 794 阅读 · 0 评论 -
两条相交的单向链表,如何求他们的第一个公共节点
问题:两个单向链表,可能存在公共节点。如何判断是否存在公共节点,并找出它们的第一个公共结点。思想:1. 如果两个链表相交,则从相交点开始,后面的节点都相同,即最后一个节点肯定相同;2. 从头到尾遍历两个链表,并记录链表长度,当二者的尾节点不同,则二者肯定不相交;3. 尾节点相同,如果A长为LA,B为LB,如果LA>LB,则A前LA-LB个先跳过, 然原创 2016-07-27 16:11:20 · 3523 阅读 · 0 评论 -
牛客网--最小操作数问题--编辑距离及编辑距离算法
编辑距离概念描述:编辑距离,又称Levenshtein距离,是指两个字串之间,由一个转成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。例如将kitten一字转成sitting:sitten (k→s)sittin (e→i)sitting (→g)俄罗斯科学家Vladimir Levenshtein在1965年提原创 2016-08-06 16:08:04 · 746 阅读 · 0 评论 -
蚂蚁爬行问题及其改编
问题描述:n只蚂蚁以每秒1cm的速度在长为Lcm的竹竿上爬行。当蚂蚁看到竿子的端点时就会落下来。由于竿子太细,两只蚂蚁相遇时,它们不能交错通过,只能各自反方向爬行。对于每只蚂蚁,我们只知道它离竿子最左端的距离为xi,但不知道它当前的朝向。请计算所有蚂蚁落下竿子的最短时间和最长时间。 限制条件:16160i样例:输入原创 2016-08-06 18:29:19 · 1855 阅读 · 0 评论 -
vs的debug和release版本的区别
Debug版本通常称为调试版本,通过编译选项的配合,编译的结果通常包含调试信息,可以设置断点、单步调试、使用TRACE/ASSERT等调试输出语句并且编译器不会对代码进行任何优化,可以使开发人员提供强大的应用程序调试能力。Release版本通常称为发布版本,是为了用户的使用,一般发布版本上不允许进行调试,所以Release版本通常不包含调试信息,同时,它往往进行了各种优化,以期达到代码转载 2017-08-16 11:33:41 · 474 阅读 · 0 评论