题意: 分析: 其实刚看到这题的时候觉得很难, 以至于结束了第七章然后去做了一遍第六章树的部分。现在再做这题觉得思路并不是太难,因为总共就只有六个结点,那么只要枚举二叉树然后算出天平然后再从叶子往上推就能得出这棵树的宽度。这题我觉得主要难点是如何去枚举二叉树,其实这就是回溯法的核心。先去dfs选这个 ...
分类:
其他好文 时间:
2017-09-03 16:06:46
阅读次数:
298
简单路径(不包括环) DFS遍历以及回溯得到结果 ...
分类:
其他好文 时间:
2017-09-01 20:32:30
阅读次数:
449
python异常 python用异常对象(exception object)来表示异常情况。遇到错误后,会引发异常。如果异常对象并未被处理或捕捉,程序就会用所谓的 回溯(Traceback, 一种错误信息)终止执行: raise 语句 为了引发异常,可以使用一个类(Exception的子类)或者实例 ...
分类:
编程语言 时间:
2017-09-01 19:43:25
阅读次数:
196
引言 上帝说,要有光,于是就有了光。 有点玄。 如果将时光回溯无数岁月,到几百万年的蛮荒时代,人类史上第一次发生信息交换,会是什么样子?是转一下脑袋,还是眨一下眼? 但不管是什么形式,于是有了信息,有了通信。而后几百万年的时代变迁物种生灭,以及后来古文明时代、封建社会、再到如今的互联网时代,不管是峰 ...
分类:
其他好文 时间:
2017-09-01 13:40:06
阅读次数:
280
网传常用五大算法:贪婪算法,动态规划算法,分治算法,回溯算法以及分支限界算法 贪心算法 贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。 贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选 ...
分类:
编程语言 时间:
2017-09-01 11:21:18
阅读次数:
223
类似于八皇后问题,区别是这里棋数不等于行数,而且不用考虑对角线 ...
分类:
其他好文 时间:
2017-08-30 20:46:03
阅读次数:
202
最近刷面试题经常刷到递归方面的算法,一直以为都是递归,后来发现竟然都有具体的叫法,所以写了这篇博客来牢记以下 1. 五大常用算法 (1) 分治算法 把一个复杂的问题分成两个或多个相同或者相似的子问题,然后不断地细分,直到最后的子问题可以很简单地求解出来,原问题的解就是自问题的合并。比如常见的快速排序 ...
分类:
编程语言 时间:
2017-08-30 11:57:44
阅读次数:
244
7.3.1增量构造法 思路:一次选出一个元素放到集合中。自己对于递归的理解还是不够,这里虽然没有明确给出递归停止条件,但是如果无法继续添加元素,就不会再继续递归,然后就是我头疼的回溯啦。 7.3.2位向量法 思路:构造一个位向量a[i],如果a[i]=1,当且仅当i在集合子集a中。 7.3.3二进制 ...
分类:
编程语言 时间:
2017-08-29 18:05:18
阅读次数:
266
hdu 1503 不知道最后怎么输出,因为公共部分只输出一次。有人说回溯输出,感觉好巧妙!其实就是下图,输出的就是那条灰色的路径,但是初始时边界一定要初始化一下,因为最第一列只能向上走,第一行只能向左走。我用1表示向上走,2向左上方走,3向左走。 刚开始输入字符串时有两种方法,直接输入;或从地址后一 ...
分类:
其他好文 时间:
2017-08-26 23:33:23
阅读次数:
272
1. 看上图好像只有subset sum 符合条件采取增加节点:ite 而且直接return了,不再继续找子集? ...
分类:
编程语言 时间:
2017-08-26 12:37:20
阅读次数:
122