![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计结构与算法
牧码人01
这个作者很懒,什么都没留下…
展开
-
归并排序
归并排序 归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。 算法描述 归并操作的工作原理如下: 第一步:申请空间,使其大小为两个已经排序序列之和,该空间用来存放...原创 2019-11-08 15:51:24 · 115 阅读 · 0 评论 -
堆排序
一、算法基本思想 (1)基本思想 堆排序的基本思想就是:从最大(小)堆得顶部不断取走堆顶元素放到有序序列中,直到堆的元素被全部取完。堆排序完全依赖于最大(小)堆的相关操作。 (2)运行过程 堆排序算法的运作如下: 1、创建一个最大(小)堆H; 2、把堆首和堆尾元素互换; 3、把堆的大小减1,重新构造一个最大(小)堆; 4、重复步骤2、3,直到堆的大小减少为1。 (3)最大堆的构建 (4)堆排序过...原创 2019-11-08 15:46:48 · 100 阅读 · 0 评论 -
快速排序
快速排序算法思想 在数组中选取一个数(一般都是选第一个数),分别与其它的每一个数比较,把比这个数小的数放到它的前面,比他大的数放到它的后面,此时数组分成两部分,该数前面的都比它小,后面的都比它大,然后分别对这两部分递归排序算法,就可以实现整个数组的排序。 /* *任取一个元素 (如第一个) 为中心 *所有比它小的元素一律前放,比它大的元素一律后放,形成左右两个子表; *对各子表重新选择中心元...原创 2019-11-08 15:35:40 · 100 阅读 · 0 评论 -
Java 16进制与byte数组互转
一个十六进制数(Hex),正好为4个二进制位。一个字节(byte)为8个二进制位。因此,一个字节可表示为两个十六进制数字。我们可以将一个byte用两个Hex表示,同理,我们也可以将两个Hex转换为一个byte。 private static final char[] HEX_CHARS = {'0','1','2','3','4','5','6','7','8','9','a',...原创 2019-09-25 16:56:39 · 10797 阅读 · 0 评论