比较型算法分为五类:

  1、插入排序:直接插入排序、折半插入排序、希尔排序;

  2、选择排序:直接选择排序、堆排序;

  3、交换排序:快速排序、冒泡排序;

  4、归并排序;

  5、基数排序;

比较分析:

  1、插入排序的主旨是插入;将无序序列中的元素依次插入到有序序列中,知道无需序列为空为止;

  2、选择排序的主旨是选择;通过每一趟的选择找出最小元素并放在确定的位置,直至全部有序;

  3、交换排序的主旨是交换;如果两个元素为逆序就交换;

  4、归并排序的主旨是归并;采用分治法,通过不断地将两个有序序列合并成一个有序的序列,最终获得一个有序序列;

  5、基数排序:按待排序记录的关键字的组成成分进行排序的一种方法,即依次比较各个记录关键字相应“位”的值,进行排序,直到比较完所有的“位”,即得到一个有序的序列。

转载于:https://www.cnblogs.com/yujunshuai/p/5094705.html

数据结构比较型排序算法分析及选择相关推荐

  1. 数据结构之外部排序:置换-选择排序

    外部排序:置换-选择排序 置换-选择排序算法思想: 步骤: 通过减少归并段r来减少IO次数 置换-选择排序算法思想: minimax就是FO中的最后一个数据元素的大小 1.将工作区填满 2.从工作区选 ...

  2. 数据结构之排序:直接选择排序

    选择排序的主要思想是每一趟从待排序序列中选取一个关键值最小的记录,即第1趟从n个记录中选取关键字值最小的记录,第2趟从剩下的n-1个记录中选取关键字值最小的记录,知道整个序列中的记录都选完为止.由选取 ...

  3. c语言排序算法插入法,C语言中冒泡法、选择法、插入法三种常见排序算法分析.doc...

    C语言中冒泡法.选择法.插入法三种常见排序算法分析.doc 一.冒泡法(起泡法) 算法要求用起泡法对10个整数按升序排序. 算法分析如果有n个数,则要进行n-1趟比较.在第1趟比较中要进行n-1次相邻 ...

  4. 程序员内功修炼之学好算法和数据结构(一)排序基础、选择排序、插入排序、希尔排序...

    一.排序基础(重要) 1.1 为什么要学习O(n^2)的排序算法? 编码简单,易于实现,是一些简单情景的首选. 在一些特殊情况下,简单的排序算法更有效. 简单的排序算法思想衍生出复杂的排序算法,在这个 ...

  5. 数据结构之选择排序:直接选择排序

    选择排序:直接选择排序 思维导图: 选择排序的基本思想: 选择排序的代码实现: 演示: 选择排序的性能: 思维导图: 选择排序的基本思想: 选择排序的代码实现: void SelectSort(int ...

  6. [ 数据结构 -- 手撕排序算法第四篇 ] 选择排序

    手撕排序算法系列之第四篇:选择排序. 从本篇文章开始,我会介绍并分析常见的几种排序,大致包括直接插入排序,冒泡排序,希尔排序,选择排序,堆排序,快速排序,归并排序等. 大家可以点击此链接阅读其他排序算 ...

  7. Java数据结构第一讲-排序算法

    常见数据结构和算法实现(排序/查找/数组/链表/栈/队列/树/递归/海量数据处理/图/位图/Java版数据结构) 数据结构和算法作为程序员的基本功,一定得稳扎稳打的学习,我们常见的框架底层就是各类数据 ...

  8. SDUT OJ 数据结构实验之排序一:一趟快排

    数据结构实验之排序一:一趟快排 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss Problem Descrip ...

  9. java中的排序算法——简单选择排序,树形选择排序与堆排序(一)

    package com.sort; /**  * 选择排序:  * 简单选择排序,树形选择排序与堆排序  *   */ public class SelecSortDemo { /** * ----- ...

最新文章

  1. 成年人过敏的N种变态表现
  2. javascript之DOM编程正则表达式引入
  3. 《CCNP SWITCH 300-115认证考试指南》——1.3节模块化网络的设计
  4. apache安装配置
  5. Spark集群完全分布式安装部署
  6. 小学生都学Python了,你还不知道怎么开始
  7. 上海 · 百度语义分割Pro沙龙,高性能深度学习实战营
  8. stm32双向可控硅调压程序_双向可控硅的工作原理
  9. 两个网段在同一个交换机_告诉你PC不能通过二层交换机实现跨网段通信的小秘密:你很难想到...
  10. tiny_mce的本地图片上传插件
  11. 三年JAVA开发经验如何做到年薪35万
  12. 梯度下降优化器小结(RMSProp,Momentum,Adam)
  13. 启明星系统简介--兼论启明星OA思想
  14. SugarNMS 工业交换机网管软件
  15. 使用python快速插入一百万数据
  16. Android 炫酷动画APP,21 款炫酷动画开源框架,照亮你的APP
  17. 论文笔记:Show, Control and Tell:A Framework for Generating Controllable and Grounded Captions
  18. 互联网公司分布式系统架构演进之路
  19. 邻域、邻接、通路、连通、连通集、区域概念区分​​​​​​​
  20. 身份验证绕过漏洞分析

热门文章

  1. 【HDU - 2444】The Accomodation of Students(二分图判断 + 匈牙利算法求最大匹配)
  2. 【CodeForces - 761D 】Dasha and Very Difficult Problem (构造,思维)
  3. 判断集合相等_数学启蒙的每个关键阶段之集合分类
  4. cross_compile = arm-linux-,cross compile grpc for arm
  5. druid mysql配置详解_druid 参数配置详解
  6. IDEA启动Tomcat AJP连接器配置secretRequired=“true“,但是属性secret确实空或者空字符串,这样的组合是无效的解决办法
  7. 约瑟夫环(丢手绢问题)
  8. 剑指offer:26-30记录
  9. boost库linux编译安装
  10. C++(14)--面向对象