![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
lion_55
这个作者很懒,什么都没留下…
展开
-
Algorithm:排序算法之堆排序(Java实现)
堆排序 堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。 算法步骤 1.把无序数组构建成二叉堆。需要从小到大排序则构建成最大堆;需要从大到小排队则构建成最小堆。 2.循环删除堆顶元素,替换到二叉堆的末尾,调整堆产生新的堆顶。 动图演示 2,7,26,25,19,17,1,90,3,36 代码实现 public class HeapSort { /原创 2020-09-07 12:38:01 · 104 阅读 · 0 评论 -
Algorithm:排序算法之选择排序(Java实现),附动图演示
选择排序 选择排序(Selection-sort) 是一种简单直观的排序算法。它的工作原理:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。 动图演示 代码实现 public class selectSort { //选择排序 public static void selectSort(int[] arr){ //遍历所有的数 for原创 2020-09-06 18:39:53 · 116 阅读 · 0 评论 -
Algorithm:排序算法之冒泡排序(Java实现),附动图演示
冒泡排序(Bubble Sort) 冒泡排序之所以叫冒泡排序,正是因为这种排序算法的每一个元素都可以像小气泡一样,根据自身大小,一点一点的向着数组的一侧移动,按照冒泡排序的思想,我们要把相邻的元素两两比较,当一个元素大于右侧相邻元素时,交换它们的位置;当一个元素小于或等于右侧相邻元素时,位置不变。动图如下 代码实现1.0版 /** * 1.0版本 * @param array */ public static void sort1(int[] array){原创 2020-09-06 18:14:44 · 229 阅读 · 0 评论