算法
文章平均质量分 73
chaoyue1216
这个作者很懒,什么都没留下…
展开
-
最大子段和
动态规划是一个很巧妙的算法,但是能够想得到如何用动态规划,我感觉还是有难度的。不过慢慢来,先从小的动态规划的例子开始。现在有一个数组,请找出这个数组的最大子段和。(即 max (a[i]+a[i+1]+...+a[j]) 0现在我们的思路是: 记s[i]为 a[0]到a原创 2011-10-13 15:59:59 · 7722 阅读 · 3 评论 -
天平称重问题
原始链接:http://zhidao.baidu.com/question/66024735.html13个球一个天平,现知道只有一个和其它的重量不同,问怎样称才能用三次就找到那个球?13个球也是可以做的。就是分成4个、4个、5个,先拿两个四个上去转载 2011-10-15 09:28:49 · 1364 阅读 · 0 评论 -
二叉树的非递归遍历
树的递归遍历比较简单,就是两三句话,相对来说理解二叉树的非递归遍历稍微难一点。在数据结构上,有二叉树的中序遍历非递归算法。可以根据中序遍历来写出先序和后序遍历。 在中序遍历时,当非空元素进行出栈时进行访问。访问结束时,右子树结点进栈。会对先序遍历的特点,我们可以得到:可以在元素进栈的过程中,访问元素,这样就可以先序访问了。和中序遍历比,进行顺序都一样。 对于后序遍历,可能和原创 2012-04-19 15:59:38 · 501 阅读 · 0 评论 -
二分查找,要注意的地方
二分查找的思想,大家都知道,但是要写出完整的二分查找,还是有几点需要注意的。在mid=(low+high)/2时,为了防止两个大数相加越界,我们可以使用 mid = low + (high-low)/2同时要注意while的判断条件,下面是转载的别人的博客,说的挺好的,希望大家也二分查找的时候,也注意。 low 和high的值如何变化的, 是要+1 , -1,还是不要呢--------转载 2012-05-11 10:16:36 · 2238 阅读 · 0 评论 -
归并排序
归并排序,不单单是归并排序,应该更重要的是一种分治的思想。把问题大而化小,再将小问题的结果汇总,得到大问题的解。递归的写法更能体现归并的分治思想,但是递归调用,当层次非常多的时候,会影响性能,现在考虑如何把归并的递归方式变成非递归方式。归并的完整描述是:假设初始序列含有n个记录,则可看成是n个有序的子序列,每个子序列的长度为1, 然后两两归并,得到[n/2]个升序为2(或1,最后一个可原创 2012-05-25 15:31:42 · 749 阅读 · 0 评论 -
一个环,有n个点, 问从0点出发,经过k步回到原点有多少种方法
一个环,有n个点, 每次只能走一步, 问从原点0出发,经过k步回到原点有多少种方法? 0 / \ / \ 2 ---------1 现在把环上的点编号为0 到 n-1, 即从0点出发,再回到0点有原创 2012-10-21 21:23:35 · 6309 阅读 · 3 评论