博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第三次作业
阅读量:6206 次
发布时间:2019-06-21

本文共 1990 字,大约阅读时间需要 6 分钟。

1.学号和GIT地址

 本次作业两名同学的学号:1501020532王力销 1501020534乔鑫森

 本次作业GIT的提交地址 https://gitee.com/darkknightwlx/32WangLiXiao34-QiaoXinSen-KaoHeSan.git

2.学习进度条

3. 本次作业的解题思路

快速排序概述

快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要Ο(nlogn)次比较。事实上,快速排序通常明显比其他Ο(nlogn) 算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来,并且在大部分真实世界的数据,可以决定设计的选择,减少所需时间的二次方项之可能性。

快速排序,通过一趟排序将待排记录分割成独立的两部分,其中一部分记录的关键字均比另一部分的关键字小,然后分别对这两部分记录继续进行排序,以达到整个序列有序的目的。

步骤

选择一个基准元素,通常选择第一个元素或者最后一个元素

通过一趟排序将待排序的记录分割成独立的两部分,其中一部分记录的元素值均比基准元素值小。另一部分记录的元素值均比基准值大
此时基准元素在其排好序后的正确位置
然后分别对这两部分记录用同样的方法继续进行排序,直到整个序列有序。

1 public class a {             2      3         public static void sort(int a[], int x, int y) {        //定义一个有两个字符串缓冲区的整形字符串a,低位缓冲区是x,高位缓冲区是y 4             int i, j, z;   5             if (x > y) {   6                 return; 7             } 8             i = x; 9             j = y;10             z = a[i];              // 用子表的第一个记录做基准11             while (i < j) {        //从表的两端交替向中间扫描12                 while (i < j && a[j] >= z)13                     j--;14                 if (i < j)15                     a[i++] = a[j]; //用比基准小的记录替换低位记录16                 while (i < j && a[i] < z)              17                     i++;18                 if (i < j)19                     a[j--] = a[i];  // 用比基准大的记录替换高位记录20             }21             a[i] = z;               // 将基准数值替换回 a[i]22             sort(a, x, i - 1);      // 对高位缓冲区排序23             sort(a, i + 1, y);      // 对低位缓冲区排序24 25         }26 27         public static void quicksort(int a[]) {    //定义一个方法用来给出字符串a           28        sort(a, 0, a.length - 1);29         }30 31         public static void main(String[] args) {   32 33             int a[] = { 15,1,2,5,32,15,1,2,5,34 };34             quicksort(a);35             for(int c=0;c

4. 截图

5. 感受

这次考核考察的快速排序,和二分法,二选一。这两种方法都不太知道怎么应用,这就体现了团队合作的优点,1+1>2。两个人不同的解题思路与思维方式,优势互补,集思广益,对解决问题有很大帮助。

6. 评价伙伴

我的合作伙伴是王力销。我的动手能力比较弱,代码等等都是他打的,做事细心,注重细节。谨慎,又乐观。这次考核我没起什么作用,全抱大腿了。期待与他的下一次合作。

 

转载于:https://www.cnblogs.com/qxs123/p/7953870.html

你可能感兴趣的文章
计算机点滴
查看>>
Office 365 系列之九:配置和体验 Exchange 和 Lync
查看>>
Exchange 2016部署实施案例篇-04.Ex基础配置篇(下)
查看>>
JBoss的简单配置
查看>>
苹果内存取证工具volafox
查看>>
11g下如何查询trace文件名
查看>>
OSI网络七层简义
查看>>
hibernate select语句返回的类型
查看>>
猿课python 第三天
查看>>
Redis的编译安装
查看>>
Android中让Service被关闭后再重新启动
查看>>
Android安全-SO动态库注入
查看>>
nodejs解析apk
查看>>
vmware安装centos7
查看>>
Active Directory授权还原
查看>>
Android各种屏幕分辨率(VGA、HVGA、QVGA、WQVGA、WVGA、FWVGA) 详解
查看>>
ACL访问控制
查看>>
Zabbix监控(十六):分布式监控-Zabbix Proxy
查看>>
Windows下使用VisualSVN Server搭建SVN服务器
查看>>
重设MYSQL数据库ROOT用户的密码
查看>>