数据结构与算法
方北北
这个作者很懒,什么都没留下…
展开
-
排序算法-冒泡排序(Java实现)
冒泡排序(Bubble Sort)是啥?来源百度百科:冒泡排序是一种简单的排序算法。它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果他们的顺序(如从大到小、首字母从A到Z)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素已经排序完成。通俗理解简单的说,如果我们想将一个数组从小到大排列,我们可以这样做:1.首先可以将数组的最大值移动到最...原创 2019-03-26 21:29:52 · 402 阅读 · 0 评论 -
排序算法-插入排序(Java实现)
基本思想通过构建有序数列,对于未排序元素,在已排序数列中从后往前扫描,找到相应位置并插入。简单点~实现过程1.将一个具有n个元素的待排序数列分成两个子数列,一个有序和一个无序。2.刚开始,我们将左边第一个元素看成一个有序数列,右边n-1个元素看成无序数列。3.从右边无序数列中取出一个元素,在已排序数列中从后往前扫描(比较),找到相应的位置并插入,使插入后有序数列仍然有序。4.重复第3...原创 2019-04-06 12:41:33 · 170 阅读 · 0 评论 -
排序算法-快速排超详细(Java实现)
上篇我们讲了冒泡排序,这次我们讲它的升级版快速排序,“快速”,一看就是个好算法~快速排序(QuickSort)是啥?我们先看下百度百科的介绍快速排序(Quicksort)是对冒泡排序的一种改进。快速排序由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数...原创 2019-03-28 23:52:01 · 230 阅读 · 0 评论 -
排序算法-希尔排序(Java实现)
希尔排序希尔排序是希尔(Donald Shell)于1959年提出的一种排序算法。希尔排序也是一种插入排序,它是简单插入排序经过改进之后的一个更高效的版本,也称为缩小增量排序,同时该算法是冲破O(n2)的第一批算法之一。基本思想设待排序元素序列有n个元素1.取一个整数increment(小于n)作为间隔将全部元素分为increment个子序列2.每间隔increment取一个元素,并...原创 2019-04-09 15:31:37 · 164 阅读 · 0 评论 -
排序算法-选择排序(Java实现)
选择排序(Selection sort)选择排序是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到全部待排序的数据元素排完。选择排序是不稳定的排序方法。简单点~我们可以将选择排序看下一下几个步骤:1.遍历待排序数列,找到其中的...原创 2019-04-12 23:10:22 · 199 阅读 · 0 评论