- 问题:800电话号码有如下的格式:800-8222657,其中有
效的800免费电话不超过800万个,比如不存在以0或1开头
的有效免费电话。现要求对这些800免费电话号码进行排
序,要求内存不超过1MB。(巧妙选择数据存储方式)
提示:可以使用位图法(BitMap)存放数据。
- 问题:从2.5亿个整数中找出不重复的数字的个数。
可用的内存限定为600M;
要求算法尽量高效,最优;
- 问题:从1亿个整数中找出最大的1万个
- 时间复杂度:衡量算法运行得有多快。
(本课程的重点)– 1)如何度量?
(估算和实际测量)• 通常不依赖于计时,而依赖于性能方程(大O表示法),以显示输入的大小/规模与性能的关系(找频度最高的语句)。
• O(1) < O(lgN) < O(N) < O(N*lgN) < O(N2) < O (Nk) < O(2N)
(常量阶、对数阶、线性阶、N*lgN阶、平方阶、多项式阶、指数阶)(lgN是以2为底的对数)