- 博客(11)
- 资源 (2)
- 收藏
- 关注
原创 把循环小数化为分数
把循环小数化为分数在计算机中,使用float或者double来存储小数是不能得到精确值的。如果你希望得到精确计算结果,最好是用分数形式来表示小数。有限小数或者无限循环小数都可以转化为分数。比如:0.9 = 9/100.333(3)= 1/3(括号中的数字表示是循环节)当然一个小数可以用好几种分数形式来表示。如:0.333(3)= 1/3 = 3/9给定一个有限小数或者无限循
2012-01-13 13:35:28
3221
转载 使用归纳法设计算法
USING INDUCTION TO DESIGN 使用归纳法设计算法【全文翻译】by Elton on 七.27, 2011, under 未分类在数学定理证明和计算机算法设计之间采用类比的思想能够为算法设计提供一个极好的方法,通过解释这种做法来了解这种关键思想,从而对此有更深的理解。这篇文章在进行组合算法设计和教学过程中展示了一种基于数学归纳法的方法,尽管这种方法并不能
2011-12-29 13:21:53
4352
原创 进程间通信
进程间通信竞争条件:两个或多个进程读写某些共享数据,而最后的结果取决于进程运行的精确时序。临界区:对共享内存进行访问的程序片段。进程通信有三方面的内容:1. 一个进程如何向另一个进程场地消息2. 必须保证多个进程在涉及临界活动时不会彼此影响(设想两个进程都试图摄取最后100kb内存的情况)。3. 当存在依赖关系时确定适当的次序:如果进程A产生数
2011-12-28 11:16:21
1041
原创 进程
进程进程模型:计算机上所有可运行的软件,通常包括操作系统,被组织成若干顺序进程(sequentialprocesses),简称进程。每个进程拥有自己的控制流程(自己的虚拟CPU),并且每个都独立地运行。当程序开始运行是,它自己的虚拟cpu被装入到物理cpu中;当程序执行时间到或者结束时,物理cpu被保存到当前程序的虚拟cpu中(在内存中),就这样不停地在多个进程中来回切换。进程的创
2011-12-28 10:52:37
483
原创 最少硬币找零问题
Problem:Give you the coins, and the total amount of money to change,find a solution for this change which minimize the number of coins needed.Example:Coins[] = {1,3,9,10};Money = 15Solution[
2011-12-26 12:50:29
4909
1
原创 查找集合中两个最大的元素
查找集合中两个最大的元素启示:我们应该仔细检查证明过程中是否确实用到了所有的假设;应该设法用更少的假设完成同样的证明;另外,除非有反例说明已经到达所有可能的证明的边界,否则我们应该永不满足。———Polyaand Szego[1927]消除非实质性的假设有时能够得到更好的算法,不必要的假设有时意味着证明可能存在错误。问题:已知集合S有n个元素x1,x2,….xn,求其中最大的和第二
2011-12-15 15:57:28
2657
原创 最长递增子序列
最长递增子序列令S是不同整数x1,x2,….,xn的序列。S的递增序列(IS)是序列xi1,xi2,….xik,其中i12k,使得对任意的1ijij+1。S的最长递增序列(LIS)是具有最大长度的递增序列。问题:给定一个由不同整数组成的序列,求它的最长递增序列。归纳假设(首次尝试):给定某个长度小于m的序列,知道如何求它的某个最长的递增序列。归纳基础包含长度为1的序列,结论显然。给
2011-12-13 11:52:18
778
原创 n个数字(0,1,…,n-1)形成一个圆圈,从数字0开始,每次从这个圆圈中删除第m个数字(第一个为当前数字本身,第二个为当前数字的下一个数字)。当一个数字删除后,从被删除数字的下一个继续删除第m个数字
题目:n个数字(0,1,…,n-1)形成一个圆圈,从数字0开始,每次从这个圆圈中删除第m个数字(第一个为当前数字本身,第二个为当前数字的下一个数字)。当一个数字删除后,从被删除数字的下一个继续删除第m个数字。求出在这个圆圈中剩下的最后一个数字。分析:我们完全可以用计算机来模拟上述过程,每找到一个要删除的数,需要扫描m次,总共删除n-1个数,所以总得扫描次数为m*(n-1)。这是一个平方级的复杂
2011-12-09 13:48:48
7658
2
原创 有一串首尾相连的珠子,共有m个,每一个珠子有一种颜色,并且颜色的总数不超过n(n<=10),求连续的珠子的颜色总数为n时,长度最小的区间。
有一串首尾相连的珠子,共有m个,每一个珠子有一种颜色,并且颜色的总数不超过n(n分析:首先要为这个题目构建数据结构,如何表示n种颜色?可以用1到n的数来表示相应的颜色,把它存放在一个数组中。这样,题目就变为有m个数,取值范围1到n,求最小子段,使得该段中包含取值范围为1到n的所有的数。该段中有的数可能重复出现。最理想的情况是,该子段恰好包含n个数。归纳:知道数组arr[1….i-1]中
2011-12-06 14:22:07
5384
2
原创 sort
排序总结一、影响排序的因素· 比较次数· 移动次数· 辅助空间· 稳定性· 数据量· 排序对象:基本数据类型、复杂数据类型(基于复杂类型中的某一性质来排序,涉及到排序后的稳定性问题)· 优化排序算法的性能选择哪一种排序算法,或者说是排序算法的应用范围,当然是能让
2011-12-05 18:00:43
471
原创 创新工厂面试题详解:共打了多少鱼
题目: abcde五人打渔,打完睡觉,a先醒来,扔掉1条鱼,把剩下的分成5分,拿一份走了;b再醒来,也扔掉1条,把剩下的分成5份,拿一份走了;然后cde都按上面的方法取鱼。问他们一共打了多少条鱼,写程序和算法。分析:设x为总数,y为最后剩余的数量,则:a: aget = 1/5(x-1), aleft = 4/5(x-1)b:bget = 1/5(aleft
2011-11-29 11:18:43
576
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人