
算法
小涛_foxiaotao
我是一个普通人
展开
-
怎样理解快速排序
一.原理快速排序:干说原理先从数组中选出一个值,作为权重temp,然后从数组最右边high(其中一边都行)开始,向左边遍历(记最左边为low) 如果arr[high]比temp大,那么不管,high继续向左移动 如果arr[high]比temp小,那么此时 arr[low] = arr[high] 当找到第一个赋值的地方的时候,不在继续high--;这个时候从左边开始 如果arr...原创 2019-12-28 16:19:48 · 229 阅读 · 0 评论 -
怎样理解插入排序
插入排序,把数组从第一个元素开始,每往后一个,将后一个元素插入到前面,使得前面的是序的.给定无序数组如下:把数组的首元素5作为有序区,此时有序区只有这一个元素:第一轮让元素8和有序区的元素依次比较。8>5,所以元素8和元素5无需交换。此时有序区的元素增加到两个:第二轮让元素6和有序区的元素依次比较。6<8,所以把元素6和元素8进行交换:...原创 2019-12-28 10:09:09 · 179 阅读 · 0 评论 -
怎样理解选择排序
为什么叫选择排序:就是先选择出最小的放前边(最大放后边)选择排序,和冒泡排序一样,还是双层循环用内层for选择出最小,然后把最小交换到最前,只需要交换一次.原数组:[5, 8, 6, 3, 9, 2, 1, 7]第0轮[] - [5,8,6,3,9,2,1,7]剩余最小数array[6]=1.交换5和1第1轮[1] - [8,6,3,9,2,5,7]剩余最小数array[5]=2....原创 2019-12-27 17:02:51 · 212 阅读 · 0 评论 -
怎样理解冒泡排序
一.什么是冒泡排序1.不断比较两个相邻元素,将大的往后或者往前排,就像水里的泡泡一样,越往后越接近水面泡泡体积越大,由此得名.用图来说明:冒泡排序2.用java代码实现冒泡排序 // ============================= 第0版 开始 ====================== @Test public void sort01...原创 2019-12-27 13:14:40 · 376 阅读 · 0 评论