中智软件学校欢迎您!
品质IT教育,尽在中智
 您当前位置: 主页 > 行业公告> 公告详情

排序 全 js版(冒泡、快排、归并、选择、插入、希尔、堆)

作者:CSDN 发布时间:2022-04-28 11:03 热度:7

冒泡排序(稳定 O(n^2))

在这里插入图片描述

通过相邻元素之间的比较和交换,将排序码小的元素逐渐从底部移向顶部。

QQ图片20220428105220.png 

快速排序(不稳定 O(nlogn))

找基准,比基准大的放右边,比基准小的放左边。

QQ图片20220428105402.png 

归并排序(稳定 O(nlogn))

在这里插入图片描述

分治:

  1. 先将数组分成一半,把左边的排序,右边的排序,之后再归并在一起。

  2. 左边和右边的数组进行排序,将左边和右边的数组看作单独的一个数组,继续划分。

  3. 直到每个部分只有一个元素了,不需要再排序了,直接归并就可以。

  4. 归并到上一个层级之后继续归并,归并到更高的层级,直到归并完成。

QQ图片20220428105614.png 

插入排序(稳定 O(n^2))

在这里插入图片描述

移动法:
在新数字插入过程中,与前面的数字不断比较,前面的数字不断向后挪出位置,当新数字找到自己的位置后,插入一次即可。(从无序的数组中取出一个数字,与有序列表中的最后一个对比,如果小于,就将有序列表中的数字向后移动,直到找到该数组的合适位置。)

QQ图片20220428105734.png 

 

希尔排序(不稳定 O(nlogn))

在这里插入图片描述

插入排序的一种,直接插入排序的优化:
先进行分组,再分别对每组进行直接插入排序,继续分组,继续排序,直到分组到一个元素为一组,结束

QQ图片20220428105837.png 

直接选择排序(不稳定 O(n^2))

在这里插入图片描述

双重循环遍历数组:
每经过一轮比较,找到最小元素的下标,将其交换至首位。(每一轮排序都找出当前的最小值,把这个最小值交换至本轮首位。)

QQ图片20220428105948.png 

堆排序 (不稳定 O(nlogn))

在这里插入图片描述
在这里插入图片描述


思路:先进行初建堆,再进行堆排序,继续执行前面操作

  1. 根据给出的序列,建立一个完全二叉树

  2. 进行调整,从最后一个非叶子结点,该节点是否全大于该子节点,如果有子节点大于该节点,双方交换,一次进行到根节点,如果下边又出现了该情况,则继续进行交换。—此时初建堆完成

  3. 进行堆排序:将根节点从树中去掉,把最后一个结点放到根节点,再进行初建堆的初始化步骤,循环该操作,直到所有节点从树中移除

QQ图片20220428110241.png 



在线咨询
上一篇:一条来自五一劳动节的未读消息,请注意查收。
下一篇:Java 18 新特性:简单Web服务器 jwebserver

相关阅读

最新发布
联系方式

郴州中智软件学校

电话:0735-8883388

Q Q:1119047192

地址: 郴州市苏仙区白露塘东河西路刘仙望仙

中智保障
就职企业
  • 百度
  • 搜狐
  • 新浪
  • 惠普
  • 中兴
  • 罗克环球
  • 华录新媒
  • 锐达

官方微信公众号

官方QQ号

咨询热线 0735-8883388

 郴州市苏仙区白露塘东河西路中智软件学校

官方邮箱

 javaketang@cw.com