
设计结构与算法
牧码人01
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
归并排序
归并排序归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。算法描述归并操作的工作原理如下:第一步:申请空间,使其大小为两个已经排序序列之和,该空间用来存放...原创 2019-11-08 15:51:24 · 148 阅读 · 0 评论 -
堆排序
一、算法基本思想(1)基本思想堆排序的基本思想就是:从最大(小)堆得顶部不断取走堆顶元素放到有序序列中,直到堆的元素被全部取完。堆排序完全依赖于最大(小)堆的相关操作。(2)运行过程堆排序算法的运作如下:1、创建一个最大(小)堆H;2、把堆首和堆尾元素互换;3、把堆的大小减1,重新构造一个最大(小)堆;4、重复步骤2、3,直到堆的大小减少为1。(3)最大堆的构建(4)堆排序过...原创 2019-11-08 15:46:48 · 127 阅读 · 0 评论 -
快速排序
快速排序算法思想在数组中选取一个数(一般都是选第一个数),分别与其它的每一个数比较,把比这个数小的数放到它的前面,比他大的数放到它的后面,此时数组分成两部分,该数前面的都比它小,后面的都比它大,然后分别对这两部分递归排序算法,就可以实现整个数组的排序。/**任取一个元素 (如第一个) 为中心*所有比它小的元素一律前放,比它大的元素一律后放,形成左右两个子表;*对各子表重新选择中心元...原创 2019-11-08 15:35:40 · 128 阅读 · 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 · 10890 阅读 · 0 评论