摘要:
刚完成了一篇博客,讲述的是快速排序,哈哈,研究明白了用起来还是挺爽的题目描述: 浙江桐乡乌镇共有n个人,请找出该镇上的前m个大富翁.输入: 输入包含多组测试用例. 每个用例首先包含2个整数n(0<n<=100000)和m(0<m<=10),其中: n为镇上的人数,m为需要找出的大富翁数, 接下来一行输入镇上n个人的财富值. n和m同时为0时表示输入结束.输出: 请输出乌镇前m个大富翁的财产数,财产多的排前面,如果大富翁不足m个,则全部输出,每组输出占一行.样例输入:3 1
2 5 -1
5 3
1 2 3 4 5
0 0样例输出:5
5 4 3直接给出用快速排序AC的代 阅读全文
摘要:
1.起因今天在acm刷题的时候,之前的排序算法一直都是冒泡,可能九度OJ的难度题考察的都是快速排序,导致我都是死在time limited上,因此我下决心要学习一下快速排序,心得跟大家进行分享!2.算法思想快速排序采用了一种分治策略,我感觉它就是归并排序的优化,学术上称之为分治法(Divide-and-ConquerMethod)(1)分治的基本思想:将原问题分解成若干个规模更小但是结构跟原问题相似的子问题。递归的解决这些子问题,然后将这些子问题的解喝并为原问题的解(2)快速排序的思想:设当前需要排序的数组为int A[low..high]分解:在A[]中任选一个记录作为基准(pivot),以 阅读全文