热门标签 | HotTags
  • 输入n,和k,问将n用1到k这k个数字进行拆分,有多少种拆分方法。例如:n5,k3则有n3+2,n3+1+1,n2+1+1+1,n2+2+1,n1+1+1+1+1这5种拆分方法。这个题目是个比较明显的动态规划,如果想不到是背包问题,也可以写出状态转移方程如下。 ... [详细]
       2014-05-16 11:47:12
  • 堆排序的时间复杂度是O(nlgN),与快速排序达到相同的时间复杂度。但是在实际应用中,我们往往采用快速排序而不是堆排序。这是因为快速排序的一个好的实现,往往比堆排序具有更好的表现。堆排序的主要用途,是在形成和处理优先级队列方面。另外,如果计算要求是类优先级队列(比如,只要返回最大或者最小元素,只有有限的插入要求等),堆 ... [详细]
       2014-05-16 11:47:12
  • 最大公因数,又称最大公约数。是指[n(≧2)个自然数a1,a2,...,an]的最大公因数。通常有两种表示方式:它们的所有公因数中最大的那一个;如果自然数m是这n个自然数的公因数,且这n个数的任意公因数都是m的因数,就称m是这n个数的最大用因数。 ... [详细]
       2014-05-16 11:47:12
  • 这个算法的时间复杂度为O(n),相对于模拟算法已经有了很大的提高。算n,m等于一百万,一千万的情况不是问题了。可见,适当地运用数学策略,不仅可以让编程变得简单,而且往往会成倍地提高算法执行效率。 ... [详细]
       2014-05-16 11:47:12
  • 给定一个数组,要求把数组内元素的顺序随机打乱,然后输出,主要是要保证效率。这个算法其实简单,首先从所有元素中随机选取一个与第一个元素进行交换,然后在第二个之后选择一个元素与第二个交换,直到最后一个元素。这样能确保每个元素在每个位置的概率都是1/n。 ... [详细]
       2014-05-16 11:47:12
  • 看到一道算法面试题,比较有趣,我自己用C做了一下。题目:随机生成10个100以内的整数,把数据从小到大排序,而且算法复杂度只能是1。这个算法比较有意思的地方是,首先建立一个数组B,其元素个数为数组A的最大元素值,然后用A的元素作为B的数组下标,然后给存在的B元素赋值,这样就可以用循环把下标输出出来。 ... [详细]
       2014-05-16 11:47:12
  • 假定你有一雄一雌一对刚出生的兔子,它们在长到一个月大小时开始交配,在第二月结束时,雌兔子产下另一对兔子,过了一个月后它们也开始繁殖,如此这般持续下去。每只雌兔在开始繁殖时每月都产下一对兔子,假定没有兔子死亡,在一年后总共会有多少对兔子?在一月底,最初的一对兔子交配,但是还只有1对兔子。 ... [详细]
       2014-05-16 11:47:12
  • 猴子第一天摘下若干桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘多少桃子。此题用倒推的办法,所以注意循环结束的条件。多数情况下用循环为递增方式,本题中用递减方式,因此是:i1。 ... [详细]
       2014-05-16 11:47:12
  • 虽然有可能你平时没有想过这个问题,不过正所谓是“临阵磨枪,不快也光”,你“眉头一皱,计上心来”,这个不是太简单了嘛,用二分的方法,在一个区间中,每次拿中间数的平方来试验,如果大了,就再试左区间的中间数;如果小了,就再拿右区间的中间数来试。比如求sqrt(16)的结果,你先试(0+16)/28,8*864,64比16大, ... [详细]
       2014-05-16 11:47:12
  • 有一个单链表,其中可能有一个环,也就是某个节点的next指向的是链表中在它之前的节点,这样在链表的尾部形成一环。现在需要解决的问题有以下两个:如何判断一个链表是不是这类链表?如果链表为存在环,如果找到环的入口点? ... [详细]
       2014-05-16 11:47:12
  • 二叉搜索树中,左子树值大于根节点,右子树值大于根节点,每一层子树都遵守以上规则。二叉搜索能够大大加快搜索速度,常规的搜索只能一个个比较,算法复杂度为n,二叉搜索树由于其结果特点能够将搜索负载度减小为log(n)。首先考虑节点的插入:从根节点开始,如果待插入节点的值大于根节点则向右子树查找,否则向左子树查找,直到到达叶节 ... [详细]
       2014-05-16 11:47:12
  • 欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数。其计算原理依赖于下面的定理:定理:gcd(a,b)gcd(b,amodb)。证明:a可以表示成akb+r,则ramodb。假设d是a,b的一个公约数,则有:a%d0,b%d0,而ra-kb,因此r%d0。因此d是(b,amodb)的公约数。 ... [详细]
       2014-05-16 11:47:12
扫码关注 PHP1 官方微信号
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有