排序
code is cheap
这个人很懒,什么都没留下啊
展开
-
三种简单的排序(冒泡、选择、插入)
冒泡排序/** * 对数组进行冒泡排序 * 1.2 对算法进行优化,如果某一次排序中,没有出先交换, * 那么说明已经是有序的 * @param arr */ public static void bubbleSort(int[] arr){ int temp = 0; //标志是否有交换 tru...原创 2019-06-17 14:28:21 · 188 阅读 · 0 评论 -
数据结构和算法——快速排序递归实现(java)
算法思路大概思路:把待排序数组与枢轴值较,大的放在枢轴值右边,小的放在其左边 再分别按上述步骤递归左边部分和右边部分,当左指针快速排序算法的时间复杂度取决于递归的深度,最坏的情况是n^21.创建两个指针,左指针和右指针和一个基准值,当左指针>右指针,退出递归;左指针指向最左边的值,右指针指向最右边的值,基准值为第一个数 //递归结束条件 if (low&...原创 2019-06-22 20:56:51 · 396 阅读 · 0 评论 -
数据结构和算法——二叉树应用之堆排序
1、预备知识利用大顶堆进行升序排序不多说,先看看大顶堆长什么鸟样特征就是对于每一个局部二叉树,父节点总是大于左右子节点,左右节点的大小没有关系。小顶堆同理。二叉树和数组的关系:上面的二叉树可以转换成相应的数组是[90,80,70,60,50,60,20,10],具体怎么转化,苦于自身口技,大家就自己查资料吧2、开始排序2.1、基本思想:对于算法,思想才是精髓。1)将...原创 2019-06-30 00:59:57 · 134 阅读 · 0 评论