随笔分类 -  编程珠玑

编程珠玑,本书针对程序设计人员探讨了一系列的实际问题,这些问题是对现实中常见问题的归纳总结。
摘要:从上一章的问题:生成[0, maxval]范围内m个随机整数的有序序列,不允许重复。实现伪代码:initialize set S to emptysize = 0while size < m do t = bigrand() %d maxval if t is not in S insert t into S size ++print the elements of S in sorted order将生成的数据结构称为IntSet,指整数集合S。接口定义如下: 1 //Intset.h 接口定义头文件 2 typedef int bool; 3 #define true 0 ... 阅读全文
posted @ 2012-09-04 23:03 大兔子_快跑 阅读(396) 评论(0) 推荐(0)
摘要:问题描述:一个具有n个浮点数字的数组x,目标是要找到之中连在一起的数组元素中找到最大和。例如如果输入的数组是以下这十个元素:31 -41 59 26 -53 58 97 -93 -23 84那么程序应该返回从59到97的综合,也就是187。第一个算法迭代了所有满足 0 ≤ i ≤ j < n 的 i 和 j 整数对,分别计算总和,最终找到综合最大的组合。问题定义: 具有n个浮点数的向量x,求出输入向量的任何连续子向量的最大和。最初的算法(算法1):遍历长度为n向量的所有的非空子向量,总共有n + (n - 1) + (n - 2) + ... + 1 = (n^2 + n)/2。所以算法复杂度 阅读全文
posted @ 2012-09-01 17:05 大兔子_快跑 阅读(753) 评论(0) 推荐(0)