排序算法
文章平均质量分 83
J.Kuchiki
这个作者很懒,什么都没留下…
展开
-
【堆排序(Heapsort)】
堆排序(Heapsort)基本思想算法流程(大根堆)代码实现实验结果算法分析 基本思想 堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。堆排序可以说是一种利用堆的概念来排序的选择排序。分为两种方法: (1) 大顶堆:每个节点的值都大于或等于其子节点的值,在堆排序算法中用于升序排列; (2) 小顶堆:每个节点的值都小于或等于其子节点的值,在堆排序算法中用于降序排列; 算法流程(大原创 2022-04-19 17:06:37 · 173 阅读 · 0 评论 -
【快速排序(Quicksort)】
快速排序(Quick Sort)基本思想算法流程代码实现 基本思想 快速排序是对冒泡排序的一种改进,由 C.A.R.Hoare(Charles Antony Richard Hoare,东尼·霍尔)在 1962 年提出。 算法流程 其主要流程如下: (1) 首先设定一个分界值,通过该分界值将数组分成左右两部分。 (2) 将大于或等于分界值的数据集中到数组右边,小于分界值的数据集中到数组的左边。此时,左边部分中各元素都小于分界值,而右边部分中各元素都大于或等于分界值。 (3) 然后,左边和右边的数据可以独原创 2022-04-19 14:25:24 · 563 阅读 · 0 评论 -
【插入排序(Insertionsort)】
插入排序(Insertion Sort)直接插入排序基本思想代码实现结果输出算法分析 插入排序分为直接插入排序、折半插入排序、希尔排序(shell sort),后两种是在直接插入排序的改进上而来。本文主要介绍直接插入排序算法。 直接插入排序 基本思想 假设待排序的元素存放在数组A[1..n]A[1..n]A[1..n]中,在排序过程的某一时刻,A被划分为两个子区间A[1..mid]A[1..mid]A[1..mid]和A[mid+1..n]A[mid+1..n]A[mid+1..n],其中前一个子区原创 2022-04-19 10:10:35 · 694 阅读 · 0 评论 -
【希尔排序(Shellsort)】
希尔排序(Shell Sort)一、基本思想二、算法实现代码实现结果输出算法分析 一、基本思想 希尔排序算法严格来说是基于插入排序的思想,又被称为“缩小增量排序”。它属于插入排序的一种,但是相对于直接插入而言又有了很大的改进。直接插入排序在对几乎已经排好序的数据进行操作时,效率比较高,但是又因为直接插入排序每一次只能移动一位数据,所以说是低效的排序算法。希尔排序针对直接插入排序的这些特点进行了相对的改进。 希尔排序是把序列按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量的逐渐减少,每组原创 2022-04-18 20:37:54 · 740 阅读 · 0 评论