- 浏览: 143529 次
-
最新评论
文章列表
一位同学,毕业季找工作。
有意向的公司好几家,其中一家开出的条件最优厚,解决户口,底薪就抵得上别家单位的合计收入。更重要的是,还分房子、配车,但这一切都是有条件的,合约上写明,“要为公司服务20年” ...
- 2012-05-17 22:11
- 浏览 520
- 评论(0)
一,概述
1)节省空间带来的好处
程序变小使得加载更快;更容易读入高速缓存;需要操作的数据减少从而减少操作时间。
2)节省空间的方法
数学函数式替代要存储的数据。简单例子为:a[i]=i 。如果你要 ...
- 2012-05-17 16:55
- 浏览 713
- 评论(0)
一,内联函数的用法
内联函数从源码层层看,有函数的结构,而在编译后,却不具备函数的性质。编译时,类似宏替换,使用函数体替换调用处的函数名。一般在代码中用inline修饰,但是能否形成内联函数,需要看编译器对该函数定义的具体处理。
inline Tablefunction(int I) //是没有效果的,编译器只是把函数作为普通的函数申明,我们必须定义函数体。
Inline tablefunction(int I) {return I*I}; //这样我们才算定义了一个内联函数。我们可以把它作为一般的函数一样调用。但是执行速度确比一般函数的执行速度 ...
- 2012-05-15 17:39
- 浏览 559
- 评论(0)
一,概述
问题:求一维数组中连续子向量的最大和。
例如: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& ...
- 2012-05-15 10:49
- 浏览 622
- 评论(0)
一,概述
1)72法则 :单位时间增长率 * 时间 =72 则该时间完成初始值翻番
题目:假设最初投资金额为100元,复息年利率9%,实现资金翻番需要多久?
利用“72法则”,将72除以9(增长率),得8,即需约8年时间,投资金额滚存至200元(翻番),而准确需时为8.0432年。
题目:盘子中的菌每小时增长3%,那么其数量多久会翻番?
24小时(3 * 24 =72)
2)pi(π)秒 就是一个纳世纪 10E-7 年;
3)little定律:系统中物体的平均数量等于物体离开系统的平均数率和每个物体在 ...
- 2012-05-14 18:56
- 浏览 566
- 评论(0)
一,概述
如果要提高软件的性能,需要从下面几个方面入手:
1、算法与数据结构
2、算法调优
3、数据结构重组
4、与系统无关的代码的调优(float取代double)。
5、与系统相关的调优,把经常使用的函数 ...
- 2012-05-14 16:01
- 浏览 634
- 评论(0)
一,概述
主要讲解如何保证编程的正确性。在程序中加入断言(assert(断言内容) //如果错误,则终止程序。否则正常执行)。
typdef //声明自定义类型
typedef int size; //声明int 型整数的别名
size array[4];
typedef struct tagNode
{
char *pItem;
pNode *pNext;
} *pNode;
测试结构题大小的程序
#include "stdio.h"
typedef struct tagNode
{
...
- 2012-05-14 14:46
- 浏览 355
- 评论(0)
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 ...
- 2012-05-14 09:25
- 浏览 458
- 评论(0)
一,C++输入和输出的概述
1)流和缓冲区
流是程序和源流或流目标之间的桥梁
磁盘驱动器以512字节(或更多)的块为单位传输信息,程序通常每次只能处理一个字节信息。所以缓冲区用来匹配这两种不同的信息传输速率。
输出时,先填满缓冲区,然后把整块数据传输给硬盘,并清空缓冲区,以备下一批输出使用。
2)isotream类管理细节
cin 对象对应于标准输入流,关联到标准输入设备。wcin 对应 wchar_t
cout 标准输出流,wcout 对应 wchar_t
cerr 标准错误流,没有缓冲直接发送给屏幕,而不会等到 ...
- 2012-05-14 09:24
- 浏览 495
- 评论(0)
一,内容
通过使用恰当的数据结构来替代复杂的代码。
二,习题
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 ...
- 2012-05-12 23:42
- 浏览 519
- 评论(0)
一,三个问题
A题:给定一个最多包含40亿个随机排列的32位整数的顺序文件,找出一个不在文件中的32位整数。
1、在文件中至少存在这样一个数?
2、如果有足够的内存,如何处理?
3、如果内存不足,仅可以用 ...
- 2012-05-12 00:27
- 浏览 589
- 评论(0)
关于扩展的卡特兰数: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年 ...
- 2012-05-11 15:33
- 浏览 990
- 评论(0)
一,题目:
如何在1MB的空间里面对一千万个整数进行排序?并且每个数都小于1千万。实际上这个需要1.25MB的内存空间。
1MB总共有838,8608。所以估计也可以在1MB左右的空间里面进行排序了。
二,分析:
1)基于磁盘 ...
- 2012-05-10 23:26
- 浏览 619
- 评论(0)
一,生成函数与递推
递推关系举例
【例1】Hanoi问题:这是个组合数学中的著名问题。N个圆盘依其半径大小,从下而上套在A柱上,如下图示。每次只允许取一个移到柱B或C上,而且不允许大盘放在小盘上方。若要求把柱A上的n个盘移到C柱上请设计一种方法来,并估计要移动几个盘次。现在只有A、B、C三根柱子可用。
|
| |
|
| |
A
B
- 2012-05-09 14:16
- 浏览 597
- 评论(0)
一,返回单位为毫秒
#include<windows.h>
DWORD dwStart = GetTickCount();
// 测试代码
DWORD dwTime = GetTickCount() - dwStart;
注意:GetTickCount()精确度有限,跟CPU有关,一般精确度在16ms左右,最精确也不会精确过10ms,这就是说如果你的时间间隔在16ms以内的话,两个时间相减为0,如果大于16ms且小于32ms的话,两个时间相减为16ms(也不完全严格,有的时候会是15或者17,根据当时CPU的处理情况而定)。其实也就是说你得到的这个差是实 ...
- 2012-05-07 23:23
- 浏览 1003
- 评论(0)