排序算法
文章平均质量分 68
素净小凡人
一个在后端路上的小程序猿
展开
-
十大排序算法-JAVA
文章目录1、冒泡排序优化复杂度2、选择排序优化复杂度3、堆排序Top K 问题二叉堆4、插入排序时间复杂度空间复杂度5、归并排序时间复杂度6、快速排序时间复杂度空间复杂度7、希尔排序时间复杂度空间复杂度一些非比较排序1.计数排序(非比较)时间复杂度空间排序2.基数排序(非比较)时间复杂度空间复杂度10、桶排序(非比较)1、冒泡排序/** * @Description: * @ClassName algorithm * @Author: 王瑞文 * @Date: 2021/3/24 19:31原创 2021-04-04 21:38:53 · 281 阅读 · 0 评论 -
基于动态数组建立二叉堆、批量建堆-JAVA
文章目录1、堆的数据结构2、添加3、删除4、代码实现1.首先定义接口2.写实现类5、如何批量建堆1、堆的数据结构如果任意节点的值总是≥子节点的值,称为:最大堆、大根堆、大顶堆如果任意节点的值总是≤子节点的值,称为:最小堆、小根堆、小顶堆一般使用数组实现二叉堆图中序号为数组下标用数组实现它索引的规律:(n为元素数量,i为数组索引)如果i=0,它是根节点如果i>0,它父节点的编号为floor((i-1)/2)如果2i+1≤n-1,它的左子节点编号为2i+1如果2i+1>原创 2021-03-26 23:46:16 · 428 阅读 · 0 评论 -
插入排序(JAVA)
1.概念插入排序是一种最简单直观的排序算法,它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序,一般也被称为直接插入排序。对于少量元素的排序,它是一个有效的算法 [1] 。插入排序是一种最简单的排序方法,它的基本思想是将一个记录插入到已经排好序的有序表中,从而一个新的、记录数增1的有序表。在其实现过程使用双层循环,外层循环对除了第一个元素之外的所有元素,内层循环对当前元素前面有序表进行待插入位置查找,并进行移动 [2] 。来自百度百科2.原创 2021-03-05 23:52:59 · 279 阅读 · 0 评论