选择排序有三类:直接选择排序     锦标赛排序    堆排序

直接选择排序   时间复杂度为O(n方)   不稳定

 1 void Selectsort(int (&a)[5],int left,int right){
 2     for(int i=left;i<right;i++){//要确定的下标位置
 3         int k=i;//标记最小值的位置
 4         for(int j=i+1;j<=right;j++){
 5             if(a[j]<a[k]) k=j;
 6         }
 7         if(k!=i) {//交换
 8             int temp=a[k];
 9             a[k]=a[i];
10             a[i]=temp;
11         }
12     }
13 }

View Code

锦标赛排序   时间复杂度为O(n*logn)  胜者树是一颗完全二叉树

堆排序

转载于:https://www.cnblogs.com/TYXmax/p/10985945.html

Selectsort Tournamentsort Heapsort相关推荐

  1. 内部排序算法总结(use python)

    都在代码和注释里 #a summary of sort methods#sort methods #----insert sort #------straight insert sort #----- ...

  2. 5.排序算法 [C语言]

    文章目录 插入 InsertSort ShellSort 对比测试 选择 SelectSort HeapSort 对比测试 交换 BubbleSort QuickSort PartSort 左右指针法 ...

  3. java中printarray和selectsort方法_算法题(一)

    目录 1 左神部分集锦 2 Leetcode前150题 3 牛客网剑指offer 4 JavaG 5 题目中的细节处理 1 左神部分集锦 1.1 Code01_FindNumber_B_In_A 在有 ...

  4. 堆排序——HeapSort

    基本思想: 图示: (88,85,83,73,72,60,57,48,42,6) 平均时间复杂度: O(NlogN)由于每次重新恢复堆的时间复杂度为O(logN),共N - 1次重新恢复堆操作,再加上 ...

  5. 排序算法笔记:堆排序 HeapSort in java

    2019独角兽企业重金招聘Python工程师标准>>> /*** 堆排序* 简述:* 首先使用建立最大堆的算法建立好最大堆,然后将堆顶元素(最大值)与最后一个值交换,同时使得堆的长度 ...

  6. JavaScript实现heapsort堆排序算法(附完整源码)

    JavaScript实现heapsort堆排序算法(附完整源码) Heap.js完整源代码 MinHeap.js完整源代码 Comparator.js完整源代码 Sort.js完整源代码 HeapSo ...

  7. 【CLRS】《算法导论》读书笔记(一):堆排序(Heapsort)

    堆排序(Heapsort) 维基百科:http://en.wikipedia.org/wiki/Heapsort 时间复杂度:O(n log n) 示例: [6, 5, 3, 1, 8, 7, 2, ...

  8. 一二三系列之优先队列、st表——Battle,Heapsort,A Magic Lamp

    文章目录 Battle Heapsort A Magic Lamp Battle source 如果怪兽先死,那么英雄血量不足也没关系 反悔贪心 每次都先杀怪兽再说,如果血量不够了,就倒回去从怪兽打出 ...

  9. java heapsort_排序算法笔记:堆排序 HeapSort in java

    /** * 堆排序 * 简述: * 首先使用建立最大堆的算法建立好最大堆,然后将堆顶元素(最大值)与最后一个值交换,同时使得堆的长度减小1 ,调用保持最大堆性质的算法调整,使得堆顶元素成为最大值,此时 ...

  10. 数据结构基础(1) --Swap Bubble-Sort Select-Sort

    Swap的简单实现 //C语言方式(by-pointer): template <typename Type> bool swapByPointer(Type *pointer1, Typ ...

最新文章

  1. 创业故事:腾讯的创始人们
  2. ROS学习(六):CMakeLists.txt 文件
  3. ML之SVM:利用SVM算法对手写数字图片识别数据集(PCA降维处理)进行预测并评估模型(两种算法)性能
  4. 51nod 1770 数数字
  5. Matlab函数之lower函数与upper函数
  6. Python和Matlab系统比较
  7. 凤凰系统运行linux,凤凰系统率先升级内核到Linux4.9,支持更多新硬件
  8. 2037 data maker
  9. Python3对Excel表格操作(写入、追加)
  10. 猿创征文|Python基础——Visual Studio版本——第五章 文件I/O
  11. iOS常用的第三方库
  12. 震惊!旷视首席科学家、知名AI学者孙剑博士去世
  13. RTX 3090 Ti 正式发布!30系列显卡的封顶之作!
  14. 如何收集SparkSteaming运行日志实时进入kafka中
  15. dnf提示磁盘碎片需要整理_什么是磁盘碎片?我还需要进行碎片整理吗?
  16. 5、分组密码工作模式
  17. 哈尔滨理工大学---沼跃鱼(待整理)
  18. java实现经纬度查天气_根据经纬度查天气预报
  19. STLINK驱动安装不正确问题简单记录
  20. python中装饰器修复技术_12步轻松搞定Python装饰器

热门文章

  1. Git之Github使用(一):Push代码到Github
  2. C#中使用Buffer.BlockCopy()方法将string转换为byte array的方法:
  3. (转)详解HTML网页源码的charset格式
  4. How to tie your shoes [by:姚铭]
  5. 0x0 Transaction mined but execution failed
  6. yii 2 中生成自定义模块
  7. 配置Nginx——在线生成配置文件
  8. C# winform界面上传附件到服务器(springboot)
  9. js实现类似微博根据发布时间,给信息加上“刚刚”“一分钟前”“一小时前”
  10. C#中方法参数的传递方式: 值类型(默认),ref类型,out类型和params类型