`
文章列表
一位同学,毕业季找工作。 有意向的公司好几家,其中一家开出的条件最优厚,解决户口,底薪就抵得上别家单位的合计收入。更重要的是,还分房子、配车,但这一切都是有条件的,合约上写明,“要为公司服务20年” ...
一,概述 1)节省空间带来的好处 程序变小使得加载更快;更容易读入高速缓存;需要操作的数据减少从而减少操作时间。 2)节省空间的方法 数学函数式替代要存储的数据。简单例子为:a[i]=i 。如果你要 ...
一,内联函数的用法   内联函数从源码层层看,有函数的结构,而在编译后,却不具备函数的性质。编译时,类似宏替换,使用函数体替换调用处的函数名。一般在代码中用inline修饰,但是能否形成内联函数,需要看编译器对该函数定义的具体处理。   inline Tablefunction(int I) //是没有效果的,编译器只是把函数作为普通的函数申明,我们必须定义函数体。   Inline tablefunction(int I) {return I*I}; //这样我们才算定义了一个内联函数。我们可以把它作为一般的函数一样调用。但是执行速度确比一般函数的执行速度 ...
一,概述 问题:求一维数组中连续子向量的最大和。 例如:a[6]={3,4,-2,-9,10,8}; 则最大连续子向量的和 为 10+8 = 18 1)解法一:简单算法 #include <stdio.h> #define max(a, b) ((a)>(b)?(a):(b)) int main() { int a[6]={3,4,-2,-9,10,8}; int i,j,k; int sum=0; int maxsofar=0; for(i=0;i<6;++i) { for(j=i;j& ...
一,概述 1)72法则 :单位时间增长率 * 时间 =72 则该时间完成初始值翻番 题目:假设最初投资金额为100元,复息年利率9%,实现资金翻番需要多久? 利用“72法则”,将72除以9(增长率),得8,即需约8年时间,投资金额滚存至200元(翻番),而准确需时为8.0432年。 题目:盘子中的菌每小时增长3%,那么其数量多久会翻番? 24小时(3 * 24 =72) 2)pi(π)秒 就是一个纳世纪 10E-7 年; 3)little定律:系统中物体的平均数量等于物体离开系统的平均数率和每个物体在 ...
一,概述 如果要提高软件的性能,需要从下面几个方面入手: 1、算法与数据结构 2、算法调优 3、数据结构重组 4、与系统无关的代码的调优(float取代double)。 5、与系统相关的调优,把经常使用的函数 ...
一,概述 主要讲解如何保证编程的正确性。在程序中加入断言(assert(断言内容) //如果错误,则终止程序。否则正常执行)。 typdef //声明自定义类型 typedef int size; //声明int 型整数的别名 size array[4]; typedef struct tagNode { char *pItem;  pNode *pNext; } *pNode; 测试结构题大小的程序 #include "stdio.h" typedef struct tagNode { ...
1、对下标限定界限:加条件 0<=l u<=n-1 2、这个函数可以写成如下形式: #include <iostream> using namespace std; int bs(int *a, int begin, int end, int v) { int *b = a + begin; //开始 int *e = a + end; //结束 int *mid = NULL; //中间 while (b < e) //直到等于第一个出现的值 { mid = b ...
一,C++输入和输出的概述 1)流和缓冲区 流是程序和源流或流目标之间的桥梁 磁盘驱动器以512字节(或更多)的块为单位传输信息,程序通常每次只能处理一个字节信息。所以缓冲区用来匹配这两种不同的信息传输速率。 输出时,先填满缓冲区,然后把整块数据传输给硬盘,并清空缓冲区,以备下一批输出使用。 2)isotream类管理细节 cin 对象对应于标准输入流,关联到标准输入设备。wcin 对应 wchar_t cout 标准输出流,wcout 对应 wchar_t cerr 标准错误流,没有缓冲直接发送给屏幕,而不会等到 ...
一,内容 通过使用恰当的数据结构来替代复杂的代码。 二,习题 1、题目描述:本书出版之时,美国的个人收入所得税分为5种不同的税率,其中最大的税率大约为40%.以前的情况则更为复杂,税率也更高。下面所示的程序文本采用25个if语句的合理方法来计算1978年的美国联邦所得税。税率序列为0.14, 0.15, 0.16, 0.17, 0.18.....。序列中此后的计算大于0.01.有何建议呢? if income <= 2200 tax = 0; else if income <= 2700 tax = 0.14 * (incom ...
一,三个问题 A题:给定一个最多包含40亿个随机排列的32位整数的顺序文件,找出一个不在文件中的32位整数。 1、在文件中至少存在这样一个数? 2、如果有足够的内存,如何处理? 3、如果内存不足,仅可以用 ...
关于扩展的卡特兰数:1.(n-m+1)/(n+1)*c(n+m,n) 2.c[n+m][n]-c[n+m][m-1]Catalan,Eugene,Charles,卡特兰(1814~1894)比利时数学家,生于布鲁日(Brugge),早年在巴黎综合工科学校就读。1856年任列日(Liege)大学数学教授,并被选为比利时布鲁塞尔科学院院士。 卡特兰一生共发表200多种数学各领域的论著。在微分几何中,他证明了下述所谓的卡特兰定理:当一个直纹曲线是平面和一般的螺旋面时,他只能是实的极小曲面。他还和雅可比(Jacobi,C·G·J)同时解决了多重积分的变量替换问题,建立了有关的公式。 1842年 ...
一,题目: 如何在1MB的空间里面对一千万个整数进行排序?并且每个数都小于1千万。实际上这个需要1.25MB的内存空间。 1MB总共有838,8608。所以估计也可以在1MB左右的空间里面进行排序了。 二,分析: 1)基于磁盘 ...
一,生成函数与递推 递推关系举例 【例1】Hanoi问题:这是个组合数学中的著名问题。N个圆盘依其半径大小,从下而上套在A柱上,如下图示。每次只允许取一个移到柱B或C上,而且不允许大盘放在小盘上方。若要求把柱A上的n个盘移到C柱上请设计一种方法来,并估计要移动几个盘次。现在只有A、B、C三根柱子可用。 | | | | | | A B
一,返回单位为毫秒 #include<windows.h> DWORD dwStart = GetTickCount(); // 测试代码 DWORD dwTime = GetTickCount() - dwStart; 注意:GetTickCount()精确度有限,跟CPU有关,一般精确度在16ms左右,最精确也不会精确过10ms,这就是说如果你的时间间隔在16ms以内的话,两个时间相减为0,如果大于16ms且小于32ms的话,两个时间相减为16ms(也不完全严格,有的时候会是15或者17,根据当时CPU的处理情况而定)。其实也就是说你得到的这个差是实 ...
Global site tag (gtag.js) - Google Analytics