摘要: 摘要: Order Statistics 顺序统计Select(int* a, int n, int ith): 从给定的n个元素中找出第i个小的元素思想:QuickSort的Partition方法进行分割如果 i = rank(pivot), 则返回a[k]如果 i < rank(pivot), 则从前半部分中找第i个小的元素如果 i > rank(pivot), 则从后半部分中找第i-rank(pivot)个小的元素 最坏运行时间O(n^2)平均运行时间O(nlgn) 阅读全文幸运草 2010-01-21 16:29 发表评论 阅读全文
posted @ 2010-01-21 16:29 liyuxia713 阅读(321) 评论(0) 推荐(0) 编辑
摘要: rand() 可获得伪随机数。但是仅仅这样写的话,同一段代码每次运行程序获得的随机数相同。因为在调用rand()前自动调用了srand(1); 这条语句。 只有当srand()的形参是变化的时每次运行获得的随机数才不同。用什么样的随时变化的参数呢? 用time(NULL), 即srand((unsigned)time(NULL)); rand(); 这样每次运行得到的随机数不同。如何获得某个区间的随机数?---- 如果是区间[0,n), rand()%n 就可以了---- 如果是区间[m,n), rand()%n+m 就可以了 ----如果是区[0,1), rand()/double(RAND 阅读全文
posted @ 2010-01-21 15:37 liyuxia713 阅读(148) 评论(0) 推荐(0) 编辑