![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
衍方
这个作者很懒,什么都没留下…
展开
-
二分查找及其变种算法
二分查找及其变种算法前言概念:二分查找(Binary Search)算法,一种针对有序数据集合的查找算法,也叫折半查找算法。思想:二分查找针对的是一个有序的数据集合( 升序或降序 ),查找思想有点类似分治思想。每次都通过跟区间的中间元素对比,将待查找的区间缩小为之前的一半,直到找到要查找的元素,或者区间被缩小为 0步骤: 定义 low,high,mid指针,分别指向首尾中间 3 个位置,value 是我们要查找的值进行如下算法(1)当arr[mid] = value 时,找到则返回 mid下标原创 2020-09-15 01:39:55 · 404 阅读 · 0 评论 -
图解选择排序及优化算法(Java实现)
选择排序前言**原理:**每次循环对比找出最小/大值,将最值的元素交换至左侧**思想:**直接选择排序(Straight Select Sort)算法思想:第一趟从n个元素的数据序列中选出关键字最小/大的元素并放在最前/后位置,下一趟从n-1个元素中选出最小/大的元素并放在最前/后位置。以此类推,经过n-1趟完成排序案例分析:1、初始的无序数列 {5,8,6,3,1,7},希望对其升序排序2、按照思路分析:内层循环经过一轮对比后找到最小值,min = 1,下标为index = 4;交换位置原创 2020-09-05 19:41:37 · 393 阅读 · 2 评论 -
图解冒泡排序及优化算法(Java实现)
冒牌排序基本思想定义:冒泡排序的英文是bubblesort,它是一种基础的交换排序原理:每次比较两个相邻的元素,将较大的元素交换至右端 (升序排序)思路:相邻的元素两两比较,当一个元素大于右侧相邻元素时,交换它们的位置;当一个元素小于或等于右侧相邻元素时,位置不变案例分析:1、初始的无序数列 {5,8,6,3,9,2,1,7},希望对其升序排序2、按照思路分析:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传在经过第一轮交换后,最大的数 9 冒泡到了最右边到此为止,所原创 2020-09-05 02:08:16 · 426 阅读 · 0 评论