【算法排序】
BFP_BSP
开发
展开
-
算法系列之--直接选择排序排序及图解
直接选择排序(Straight Select Sort)算法思想:第一趟从n个元素的数据序列中选出关键字最小/大的元素并放到最前/后位置,下一趟再从n-1个元素中选出最小/大的元素并放到次前/后位置,以此类推,经过n-1趟完成排序。图解直接选择排序算法实现如下:public static void selectionSort(int[] array){ for (int i = 0...原创 2020-03-12 11:32:53 · 794 阅读 · 0 评论 -
算法系列之--希尔排序及图解
希尔排序(Shell Sort)是D.L.Shell在1959年提出的,又称为缩小增量排序(Diminishing Increment Sort),基本思想是分组的直接插入排序。图解实现 public static void xierSort(int[] arry){ for (int delta = arry.length/2; delta > 0; delta/=2) ...原创 2020-03-12 11:07:39 · 222 阅读 · 0 评论 -
算法系列之--直接插入排序及图解
直接插入排序(Straight Insertion Sort)算法描述如下:① 第 i(1≤i<n)趟,线性序列为{a0,a1,…,ai-1,ai,…,an-1},设前 i 个元素构成的子序列{a0,a1,…,ai-1}是排序的,将元素ai插入到子序列{a0,a1,…,ai-1}的适当位置,使插入后的子序列仍然是排序的,ai的插入位置由关键字比较大小确定。② 重复执行①,n个元素共需n-1...原创 2020-03-12 10:50:38 · 842 阅读 · 0 评论 -
算法系列之--快速排序及图解
快速排序是一种分区交换排序算法。1.概述2.实现3.分析快速排序(Quick Sort)算法描述:在数据序列中选择一个元素作为基准值,每趟从数据序列的两端开始交替进行,将小于基准值的元素交换到序列前端,将大于基准值的元素交换到序列后端,介于两者之间的位置则成为基准值的最终位置。同时,序列被划分成两个子序列,再分别对两个子序列进行快速排序,直到子序列长度为1,则完成排序。关键字序...原创 2020-03-09 17:08:21 · 1824 阅读 · 0 评论 -
算法系列之--冒泡算法及图解
介绍 冒泡算法基本上是IT从业人员接触到的第一个算法,其原理就是依次对比相邻元素,大的放在后面,当全部 list遍历之后,该list的最大值就会被置换到list的最后,详细步骤如下: 1. 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 2. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数原创 2017-11-08 15:13:01 · 1059 阅读 · 0 评论 -
算法系列简单研究及图解
算法是一个工程师最基础的素养之一,就好比语言、框架一样,你不会这些知识,可能并不影响你日常工作的解BUG过程,但是如果你不去了解这些”抽象”的知识,那么可能整个职业生涯都只是解解BUG而已。 或者说,算法、框架、语言的研究,决定了一个程序员能到达的层次。 这个系列我们就来聊聊一些”烂大街”了的算法。 《算法系列之–C++和java的冒泡算法》下面我原创 2017-11-08 15:17:03 · 396 阅读 · 0 评论