排序算法
大力水手王老吉
我就是大力水手
展开
-
常用的七大查找算法以及二分查护和插值查找的改进
目录顺序查找二分查找插值查找二分查找和插值查找的改进斐波那契查找树表查找顺序查找思想: 从线性表的一端开始逐个扫描比对,如果和目标值相等就返回。属于无序查找算法。适用于线性表或者链表的存储结构。代码:public static int search(int n, int[] nums){ for (int i = 0; i < nums.length; i++) { if (nums[i] == n){ return i原创 2020-08-14 12:22:06 · 393 阅读 · 0 评论 -
非比较类排序算法----java版(基数排序,计数排序,桶排序)
计数排序、桶排序、基数排序计数排序思想代码时间和空间复杂度桶排序思想代码时间和空间复杂度基数排序思想代码时间和空间复杂度计数排序思想作为非比较类排序算法。计数排序必须要求输入的数据必须是有确定范围的整数。要求知道数组的范围的目的是创建一个长度为这个范围的数组,数组的内容保存的是这个对应下标数字出现的位置。主要过程如下:1.找到待排序序列最小和最大的元素。开辟一个新数组A长度就为max-min2.统计数组中每个值为i的元素出现的次数,存入A的第i项。3.累加完之后反向填充到目标数组中:把每个元素原创 2020-07-23 17:08:14 · 529 阅读 · 0 评论 -
比较类排序算法---java版
排序算法冒泡排序(交换排序)描述代码时间复杂度和空间复杂的快速排序(交换排序)描述代码:时间和空间复杂度简单插入排序描述代码时间和空间复杂度希尔排序描述代码时间和空间复杂度冒泡排序(交换排序)描述冒泡排序是一种简单的比较类排序算法。排序的时候重复的走访过要排序的数列,一次比较两个元素,如果他们的顺序错误,那么就交换回来,走访过一遍后再来一遍,直到数列有序。具体划分为四步:1–比较相邻的元素,如果第一个比第二个大,交换2–从头至尾的重复1的步骤,这样最后一个元素就是最大的3–针对所有的元素重复以原创 2020-07-22 20:35:49 · 564 阅读 · 0 评论