排序算法
学习
千鸟送天
这个作者很懒,什么都没留下…
展开
-
排序算法-堆排序详解
public static void heapSort(int[] arr) { if(arr == null || arr.length < 2) { return; } for(int i = 0; i < arr.length; i++) { heapInsert(arr, i); } int heapSize = arr.l...原创 2021-02-28 12:31:02 · 91 阅读 · 0 评论 -
排序算法宋词记忆法
选泡插N方快归堆NlogN希N的1.3次方桶计N+K基N*K原创 2021-02-27 18:49:15 · 105 阅读 · 0 评论 -
排序算法-插入排序
一、基于移位的插入排序public void insertSort(int[] arr) { int insertVal = 0; int insertIndex = 0; for(int i = 1; i < arr.length; i++) { insertVal = arr[i]; insertIndex = i - 1; while(insertIndex >= 0 && insertVal < arr[insertIndex]) { ..原创 2021-02-27 18:45:11 · 71 阅读 · 0 评论 -
排序算法-归并排序
package com.chenjian.mergesort;public class MergeSort { public static void main(String[] args) { int[] arr = {9,8,7,6,5,4,3,2,1}; mergeSort(arr, 0, arr.length - 1); for(int a:arr) { System.out.println(a);原创 2020-10-28 21:32:13 · 145 阅读 · 0 评论 -
排序算法-快速排序(单轴)
快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用,再加上快速排序思想----分治法也确实实用,因此很多软件公司的笔试面试,包括像腾讯,微软等知名IT公司都喜欢考这个,还有大大小的程序方面的考试如软考,考研中也常常出现快速排序的身影。总的说来,要直接默写出快速排序还是有一定难度的,因为本人就自己的理解对快速排序作了下白话解释,希望对大家理解有帮助,达到快速排序,快速搞定。快速排序是C.R.A.Hoare于1962年提出的一种划分交换排序。它采用了一种分治的策略,通常称其原创 2020-10-23 14:46:00 · 363 阅读 · 0 评论 -
排序算法-二分查找-递归
二分查找的思路分析(二分查找要求数组必须是有序的,这里按升序讲)1.首先确定该数组的中间的下标 mid= (left + right) / 22.然后让需要查找的数findVal和rr[mid]l比较2.1 findVal > arr[mld],说明你要查找的数在mld的右边,因此需要递归的向右查找2.2 findVal < arr[mid],说明你要查找的数在mid的左边因此需要递归的向左查找2.3 findVal == arr[mid]说明找到,就返回什么时候我们需费原创 2020-07-30 22:49:47 · 207 阅读 · 0 评论 -
排序算法-堆排序
package com.chenjian.heapsort;import java.util.Arrays;public class HeapSort { public static void main(String[] args) { int[] arr = {4,6,8,5,9}; heapSort(arr); } public static void heapSort(int[] arr) { //将无序序列构成一个原创 2020-12-12 14:32:33 · 92 阅读 · 1 评论