
数据结构与算法
文章平均质量分 69
数据结构与算法;
比特的一天
至繁归于至简
展开
-
排序算法 | 堆排序,算法的图解、实现、复杂度和稳定性分析
今天讲解一下堆排序的原理以及实现、复杂度和稳定性分析目录1 堆的定义2 堆排序的思路3 代码实现4 堆的输出(删除操作)5 堆的插入操作6 堆排序的特点7 性能分析1 堆的定义堆排序(英语:Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。定义:n个关键字序列L[1…n]称为堆,当且仅当该序列满足:① L(i)>=L(2i) 且 L(i)>=L(2i+1)或.原创 2021-06-16 03:19:26 · 2632 阅读 · 35 评论 -
排序算法 | 简单选择排序,算法的图解、实现、复杂度和稳定性分析
目录原创 2021-06-14 21:07:30 · 1021 阅读 · 3 评论 -
排序算法 | 快速排序,算法的图解、实现、复杂度和稳定性分析与优化
排序算法 | 交换排序 二:快速排序算法的图解、实现、复杂度和稳定性分析与优化原创 2021-06-14 01:53:48 · 1408 阅读 · 0 评论 -
排序算法 | 希尔shell排序,算法的图解、实现、复杂度和稳定性分析
1、希尔排序——定义希尔排序按其设计者希尔(Donald Shell)的名字命名,该算法由希尔 1959 年公布。希尔排序是基于插入排序的以下两点性质而提出改进方法的:1、插入排序在对几乎已经排好序的数据操作时,效率高,即可以达到线性排序的效率。2、但插入排序一般来说是低效的,因为插入排序每次只能将数据移动一位。2、希尔排序——步骤描述3、希尔排序——算法实现4、希尔排序——复杂度、稳定性分析由于多次插入排序,我们知道一次插入排序是稳定的,不会改变相同元素的相对顺序,但在不同的插入排原创 2021-05-28 17:54:01 · 4689 阅读 · 2 评论 -
排序算法 | 直接选择排序,算法的图解、实现、复杂度和稳定性分析
排序算法 | 直接选择排序,算法的图解、实现、复杂度和稳定性分析目录1、直接选择排序的原理2、图解直接选择排序3、算法代码实现4、算法复杂度分析、稳定性分析直接选择排序直接选择排序1、直接选择排序的原理基本思想是:选择 + 交换下面 以升序为例;1、从待排序列中,寻找最小的元素,和 待排序列中的第一个元素交换位置,如果本身就是第一个元素最小,不用处理2、从剩下的待排序序列中,重复进行上面的步骤,找到最小的,和待排序的第一个交换位置;算法设计:使用两层循环;第一层循环,从前到后遍历每原创 2021-01-19 18:32:01 · 545 阅读 · 0 评论 -
排序算法 | 直接插入排序算法的图解、实现、复杂度和稳定性分析
排序算法 | 直接插入排序算法的图解、实现、复杂度和稳定性分析目录1、直接插入排序定义2、直接插入排序,步骤说明3、动态图演示1、直接插入排序定义直接插入排序(Straight Insertion Sort),是比较简单的一种排序方式直接插入排序的思想框架,简单来说就是,从后面的未排序的序列中,拿一个元素出来,插入到前面的已经排序完成的有序的序列中去,插入适当的位置;后续的元素也是如此,一直到序列全部排序完毕;2、直接插入排序,步骤说明第一个元素,即可认为是已经有序的一个序列取下一个原创 2021-01-02 15:52:56 · 3676 阅读 · 1 评论 -
排序算法 | 冒泡算法的图解、实现、复杂度和稳定性分析与优化
一:排序算法①冒泡算法的实现、分析、与优化原创 2020-12-30 20:27:27 · 3726 阅读 · 5 评论