logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

排序算法之 希尔排序

希尔排序 是插入排序的一种优化算法,时间复杂度为O(n^3/2),是一种不稳定的排序算法,其基本流程如下:在基本的插入排序中,每次比较完之后将操作数往前移动一个单位,有时候可能得需要移动很多次才能到达指定位置,而希尔排序是每轮移动的间隔是改变的,先将整个数组分成几组,然后按组间距移动,一轮完毕后缩小间距,直到最后间距为1,此时变成了插入排序,不过此时数组已经是大部分有序的情况了,所以用插入排序速度

#算法#排序算法
排序算法之 堆排序

堆排序,平均时间复杂度为O(nlogn),是一种不稳定的排序算法。堆排序利用堆 这种数据结构来对数组进行排序,堆是一颗完全二叉树在数组中的表示,其任意一个节点的值大于等于它的父节点,但实际上它是一个数组,只是可以当成是一个完全二叉树:假设有一个数组为 -1,1,0,它是从 0 开始编号的,而当它任意一结点的值都大于等于其父节点是,它就是一个堆了,比如 A = {-1,1,0} 或者 B = {-1

#算法#数据结构#排序算法
到底了