![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
各种算法
我不是敲键盘神
我很懒,还没毕业
展开
-
堆排序算法Java
基本原理1):将带排序的序列构造成一个大顶堆,根据大顶堆的性质,当前堆的根节点(堆顶)就是序列中最大的元素2):将堆顶元素和最后一个元素交换,然后将剩下的节点重新构造成一个大顶堆;3):重复步骤2小知识点大顶堆:在完全二叉树的基础上,每个结点的值都大于或等于其左右孩子结点的值小顶堆:在完全二叉树的基础上,每个结点的值都小于或等于其左右孩子结点的值完全二叉树:完全二叉树是一种特殊的二叉树。从上到下,从左到右,每一层的节点都是满的,最下边一层所有的节点都是连续集中在最左边.原创 2022-02-10 19:57:28 · 2526 阅读 · 0 评论 -
归并排序算法Java
基本思想归并排序就是递归得将原始数组递归对半分隔,直到不能再分(只剩下一个元素)后,开始从最小的数组向上归并排序。将一个数组拆分为两个,从中间点拆开,通过递归操作来实现一层一层拆分。 从左右数组中选择小的元素放入到临时空间,并移动下标到下一位置。 重复步骤2直到某一下标达到尾部。 将另一序列剩下的所有元素依次放入临时空间。 将临时空间的数据依次放入原数据数组。图示分解的时候我们可以使用递归的方式进行首先我们可以先定义三个变量,数组的头部位置可以定义为 low,数组的原创 2022-02-10 21:43:01 · 2455 阅读 · 0 评论 -
算法基数排序Java
基本思想基数排序是桶排序的扩展,他的基本思想是:将整数按位切割成不同的数字,然后按每个位数分别比较。方法具体做法是:将所有待比较数值统一为同样的位数长度,数位较短的数前边补零。然后,从最低位开始,依次进行一次排序,这样从最低位排序一直到最高位排序完成后,就变成一个有序数列。图示代码public static void main(String[] args){ int[] arr = new int[]{587,956,12,47,...原创 2022-02-10 21:01:01 · 2463 阅读 · 0 评论 -
快速排序Java
基本思想快速排序的基本思想:通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。算法描述快速排序使用分治法来把一个串(名单)分为两个子串(子列表)具体算法描述如下:会把数组当中的一个数当成基准数 一般会把数组中最左边的数当成基准数,然后丛两边进行检索。丛右边检索比基准数小的,然后左边检索比基准数大的。如果检索到了,就停下,然后交换这两个元素,然后继续检索。过程实例数组为.原创 2022-02-10 20:49:43 · 2548 阅读 · 0 评论