
基础算法
Wu面
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
基础排序法之冒泡排序
基础排序法之冒泡排序什么是冒泡排序?冒泡排序的英文Bubble Sort,是一种最基础的交换排序。相信大家都见过气泡从水里冒起来的过程,小气泡一点一点向上浮动,随着浮动气泡也越来越大。冒泡排序之所以叫冒泡排序,正式因为这种排序方式的每一个元素就像气泡一样,一点一点向数组的一侧移动。冒泡排序的思想,我们要把相邻的元素两两比较,根据大小来交换元素的位置,每次只能得出一个位置,因此排序需要n-1...原创 2019-09-09 17:16:40 · 199 阅读 · 0 评论 -
基础排序法之选择排序
选择排序与冒泡排序类似,为哈这么说呢,冒泡排序是相邻的两个元素两两相比较,而选择排序则是用一个元素与其后面的所有元素依次相比较,记录下标,至本次循环结束相对应的两个元素进行位置互换。空间复杂度:在原序列进行操作,故为 O( 1 );时间复杂度:需要 2 次循环遍历,故为 O( n * n );代码如下:import java.util.Arrays;public class 选择排序 ...原创 2019-09-11 15:02:26 · 196 阅读 · 0 评论 -
基础排序法之插入排序
什么是插入排序呢?插入排序就像玩纸牌,一个元素一个元素的来,把当前的这各元素插入到已经排序好的数组中的合适的位置,但插入元素的位置后的所有元素都需向后移动一位。与选择排序的异同:选择排序是相邻的元素两两比较,比较完后再进行交换,插入排序是从第二个数开始,依次往后移动一个元素的位置,并且与该位置之前的元素依次比较直至找到属于自己的位置算法步骤将第一待排序序列第一个元素看做一个有序序列,把第...原创 2019-09-11 17:57:26 · 141 阅读 · 0 评论 -
基础排序法之归并排序
归并排序过程:一个数组,分成两个序列,通过递归(排序的方式)将左部分的值排好,再将右部分的值排好,左右两边排好后,再将两边的数据拿出来统一排好,即将两个有序数列合并为一个有序数列;图画演示:1、分散(从整到零)将原始序列一刀切开,划分成两个序列。然后每个序列继续切开,又划分成两个更小的序列。这样一层层地划分,可以得到一颗划分的树,树的叶子节点就是原始序列的每个元素了。2、合并(从零到...原创 2019-09-18 16:09:41 · 202 阅读 · 0 评论 -
基础排序法之快速排序
什么是快速排序呢?同冒泡排序一样,快速排序也属于交换排序,通过元素之间的比较和交换位置来达到排序的目的。不同的是,冒泡排序在每一轮只把一个元素冒泡到数列的一端,而快速排序在每一轮挑选一个基准元素,并让其他比它大的元素移动到数列一边,比它小的元素移动到数列的另一边,从而把数列拆解成了两个部分。该方法的基本思想是:是分冶,再通过递归将元素不停的分组(重复上述步骤),直至剩下一个元素返回;1.先...原创 2019-10-03 08:56:52 · 223 阅读 · 0 评论