算法
thinking code
行有不得,反求诸己
展开
-
折半查找法
概念折半查找也成为二分查找,是一种在有序数组中查找某一特定元素的搜索算法。搜索过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜索过程结束;如果要查找的元素key大于或者小于中间元素,则在数组大于或小于中间元素的那一半中查找,而且跟开始一样从中间元素开始比较。思路int min = 0;//数组最小索引int max = arr.length - 1;//数组最大索引int mid = (max + min)/2;//中间元素索引将中间元素mid与要查找的元素key比较1.若ar原创 2020-06-04 21:25:05 · 743 阅读 · 0 评论 -
冒泡排序
概念它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名“冒泡排序”。图解如上图所示,假如是升序,排序冒泡排序从数组index=0开始,与相邻数值相互比较,若左边数值大于右边数值,则两数值交换位置,依次类推,直到将最原创 2020-05-20 20:57:35 · 175 阅读 · 0 评论 -
选择排序
概念选择排序法是一种不稳定的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到全部待排序的数据元素排完。选择排序代码如下 public static void selectionSort(int[] arry){ int tmp; for (int i=0; i<arry.length-1; i++){原创 2020-05-20 18:30:21 · 242 阅读 · 0 评论