算法思想:

快速排序是基于分治法的思想,是冒泡排序的改进型。快速排序由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。快速排序的平均时间复杂对为O(n×log(n)),最坏情况时间复杂度为O(n^2)。(后续了解详情)


代码实现:


package com.algorithm.test;/*** 快速排序练习* @project 算法练习* @author zhou* @date 2017年12月18日* @version 1.0.0* Copyright(c) YIJIAN All Rights Reserved*/public class QuickSort {/*** 快速排序,从小到大* @author zhou* @param array 需要排序的数组* @param low   前置数组下标* @param high  后置数组下标*/public static int QuickSort(int[] array,int low,int high){int flag = array[low];while(low<high) {while(array[high]>=flag&&high>low) {high--;} array[low] = array[high];while(array[low]<=flag&&high>low) {low++;}array[high] = array[low];}array[high]=flag;return high;}public static void Sort(int[] array,int low,int high){if(low>=high){return ;}int index=QuickSort(array,low,high);Sort(array,low,index-1);Sort(array,index+1,high);}public static void main(String[] args){int array[] = {1,54,6,3,78,34,12,45};int low = 0;int i = 0;int high = array.length-1;Sort(array,low,high);while(i<array.length-1) {System.out.print(array[i]+"、");i++;}}
}

2017年12月18日陕西易唐云网智能科技有限公司

数据结构与算法复习第一弹(快速排序)相关推荐

  1. 数据结构与算法复习:一

    算法复习第一天:论序 一.先了解几个人 ① 号目标人物 ② 号目标人物 二.数据结构的兴起和发展 1.客观世界与计算机世界的关系 2.程序设计的实质是什么 3.数据结构是随着程序设计的发展而发展的 三 ...

  2. 数据结构与算法复习(持续更新中)

    目录 数组 为什么很多编程语言中数组都从0开始编号? 如何实现随机访问 数组和链表的区别 链表 栈 函数调用栈来保存临时变量,为什么函数调用要用"栈"来保存临时变量呢?用其他数据结 ...

  3. 【数据结构与算法】第一篇:数据结构

    系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录 系列文章目录 前言 STL库的介绍 容器(containers) 算法(algorith ...

  4. JAVA数据结构和算法:第一章(时间复杂度和空间复杂度)

    数据结构 数据结构基础概念 不论是哪所大学,数据结构和算法这门课都被贯上无趣.犯困.困难的标签,我们从最基础最通俗的语言去说起,保证通俗易懂. 数据结构到底是什么呢?我们先来谈谈什么叫数据. 数据:数 ...

  5. 拿命 3 天肝出来的计算机考研数据结构与算法复习笔记(超详细教程,更新中)

    数据结构与算法 基本概述 数据结构指的是"一组数据的存储结构",算法指的是"操作数据的一组方法". 数据结构是为算法服务的,算法是要作用再特定的数据结构上的. ...

  6. 时间复杂度计算超全整理!!(数据结构和算法的第一步

    目录 1. 什么是数据结构? 1.1 数据结构和数据库的区别 1.1.1磁盘的特点: 2.什么是算法? 3.算法效率 3.1 如何衡量一个算法的好坏 4.时间复杂度 4.1 时间复杂度的概念 4.2 ...

  7. 数据结构与算法专题——第一题 Bitmap算法

    在所有具有性能优化的数据结构中,我想大家使用最多的就是hash表,是的,在定位查找场景上具有O(1)的常量时间,多么的简洁优美, 但是在特定的场合下: ①:对10亿个不重复的整数进行排序. ②:找出1 ...

  8. 数据结构与算法(第一章 数据结构的基本概念 )

    说起数据结构与算法,他们之间的关系是怎么样的呢?某位dalao曾经这样说过: The relationship between the data structures and algorithms l ...

  9. 数据结构与算法复习:第三十二弹

    1. 知识点总结 耗时:2h45min 得分:80/100 知识点:英语阅读理解.结构体排序.众数.基于树的DFS 题目 难度 知识点 1056 Mice and Rice

  10. 《数据结构与算法》实验报告——快速排序

    <数据结构>实验报告 学号:2018329621200 机器号 10-414-28 姓名: 申屠志刚 日期:2019/12/18 程序名:main.cpp 实验内容: 快速排序 目的和要求 ...

最新文章

  1. 出现module ‘xgboost‘ has no attribute ‘DMatrix‘的临时解决方法
  2. 数据库类型少_全栈之数据库系列 - 数据库的设计、架构和使用规范
  3. Android 微信支付步骤
  4. MySQL 数据库利用alter语句修改表字段属性实例演示,如何拓展表字段长度,sql语句修改表字段名称和类型
  5. 中点坐标公式 矩形_压轴题必备|中考数学“动点坐标”问题,这个万能解法人人都能学会!...
  6. 2013计算机一级考试综合试题答案,2013全国计算机等级考试试题题库及答案.doc
  7. 互联网晚报 | 3月6日 星期天 |​ iPhone 14系列前置镜头或将采用“感叹号”设计;中央援港应急医院项目开工...
  8. docker容器无法删除——状态Dead
  9. C++宠物商店管理系统
  10. matlab语法——数据类型、科学计数法和注释
  11. android 布局滑动消失,SlideUp-Android
  12. 白化深度学习与tensorflow——强化学习
  13. 【LOJ2867】「IOI2018」高速公路收费
  14. 阿里“中供系”前世今生:马云麾下最神秘的子弟兵(一)
  15. 从剧情架构角度分析《妄想破绽》
  16. 扫地机器人的轮子困住_小米扫地机器人轮子在运行中悬空怎么办?怎么清理传感器?...
  17. 科汛kesioncmsTags标签 {=GetTags(1,50)}
  18. 中信银行柜员岗面试总结
  19. yolov5电线杆鸟巢识别
  20. 葡萄酒产业成就迪庆雪域高原“紫色传奇”

热门文章

  1. php观察者模式,组合ArmyVisitor抽象类,用accept()方法将访问者对象传递给当前对象的所有的子元素,当前组件是一个组合体
  2. [C#] [GIS] 关于椭球七参数和高斯投影正反算的一些总结
  3. MYSQL-JDBC数据库实战-宠物商店
  4. androidのBack返回键,home键,menu键监听使用
  5. excel冻结窗格线的设置问题
  6. mysql数据库自动停止_解决mysql数据库自动停止方法
  7. 2020 2月 月末总结
  8. 梦想家CMS内容管理系统(毕业设计)
  9. Winter Vacation Training(5st Week)
  10. PCU-285锡膏粘度计优点及特点