摘要:选择问题定义,实际上所有处理均可以推广到集合中包含重复数值的情形。 输入:一个包含n个(不同的)数的集合A和一个数i,1<=i<=n。 输出:元素x属于A,它恰大于A中其他的i-1个元素。1、最大值最小值 针对一个序列取得最大和最小值均需要n-1次比较。这是一个下限,确定最大值或者最小值的算法可以看作各个元素之间一场锦标赛,每次比较都是一场比赛,两个元素中较小的或者较大的获胜,除了最终的最大值和最小值,所有其他元素都需要输一次,所以n-1次是必须的。 接下来是一些比较有意思的问题,比如同时找出最小值和最大值,当然可以n-1次比较找出最大值,然后n-2次比较找出最小值,不过还是有比这 阅读全文
posted @ 2012-12-23 20:23 weixliu 阅读 (10720) 评论 (0) 编辑
摘要:算法要考试了,复习到了排序的知识,所以对复习的内容进行以下总结,参考书目《算法导论》。排序问题是算法与数据结构中常讲到的问题了,有次面试问到了具体的快速排序的原理以及实现,顿时当时就愣了,平时各种语言提供的类库中都有实现好的快速排序算法,针对这个算法原理也就没有在意;不过这次算法课程结束了感觉算法内容还是挺重要的,不过参考算法导论的话真的学了好多数学知识,也被许多数学知识给吓住了,算法导论一书重点不在于算法的实践,经典的算法只是给出了伪代码,然后大量的篇幅进行正确性证明,复杂度分析,胡言乱语一番,接下来具体算法的介绍啦。1、插入排序插入排序的原理是访问过的部分是有序的,不过只记住原理有时候是. 阅读全文
posted @ 2012-12-23 11:23 weixliu 阅读 (4464) 评论 (1) 编辑