随笔分类 -  排序查找

摘要:斐波那契数列 斐波那契数列,又称黄金分割数列,指的是这样一个数列:1、1、2、3、5、8、13、21、····,在数学上,斐波那契被递归方法如下定义:F(1)=1,F(2)=1,F(n)=f(n-1)+F(n-2) (n>=2)。该数列越往后相邻的两个数的比值越趋向于黄金比例值(0.618)。 斐波 阅读全文
posted @ 2022-02-23 15:19 被动 阅读(112) 评论(0) 推荐(0) 编辑
摘要:插值查找算法又称插值搜索算法,是在二分查找算法的基础上改进得到的一种查找算法。 插值查找算法只适用于有序序列,换句话说,它只能在升序序列或者降序序列中查找目标元素。作为“改进版”的二分查找算法,当有序序列中的元素呈现均匀分布时,插值查找算法的查找效率要优于二分查找算法;反之,如果有序序列不满足均匀分 阅读全文
posted @ 2022-02-23 15:19 被动 阅读(297) 评论(0) 推荐(0) 编辑
摘要:线性查找 线性查找又称顺序查找,是一种最简单的查找方法,它的基本思想是从第一个记录开始,逐个比较记录的关键字,直到和给定的K值相等,则查找成功;若比较结果与文件中n个记录的关键字都不等,则查找失败 public class SeqSearch { public static void main(St 阅读全文
posted @ 2022-02-23 15:18 被动 阅读(44) 评论(0) 推荐(0) 编辑
摘要:堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。堆排序可以说是一种利用堆的概念来排序的选择排序。分为两种方法: 大顶堆:每个节点的值都大于或等于其子节点的值,在堆排序算法中 阅读全文
posted @ 2022-02-22 14:32 被动 阅读(43) 评论(0) 推荐(0) 编辑
摘要:快速排序: 快速排序( quicksort)是对冒泡排序的一种改进。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 设要排序的数组 阅读全文
posted @ 2022-02-22 14:31 被动 阅读(547) 评论(0) 推荐(0) 编辑
摘要:基数排序是一种非比较型整数排序算法,其原理是将整数按位数切割成不同的数字,然后按每个位数分别比较。由于整数也可以表达字符串(比如名字或日期)和特定格式的浮点数,所以基数排序也不是只能使用于整数。 1. 基数排序 vs 计数排序 vs 桶排序 基数排序有两种方法: 这三种排序算法都利用了桶的概念,但对 阅读全文
posted @ 2022-02-22 14:31 被动 阅读(29) 评论(0) 推荐(0) 编辑
摘要:基本思想 归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案"修补"在一起,即分而治之)。 可以看到这种结构很 阅读全文
posted @ 2022-02-18 09:58 被动 阅读(12) 评论(0) 推荐(0) 编辑
摘要:直接插入排序 基本思想:每一步将一个待排序的数据插入到前面已经排好序的有序序列中,直到插完所有元素为止。 算法实现:直接插入排序是将无序序列中的数据插入到有序的序列中,在遍历无序序列时,首先拿无序序列中的首元素去与有序序列中的每一个元素比较并插入到合适的位置,一直到无序序列中的所有元素插完为止。对于 阅读全文
posted @ 2022-02-17 13:43 被动 阅读(9) 评论(0) 推荐(0) 编辑
摘要:希尔排序 一、概念及其介绍 希尔排序(Shell Sort)是插入排序的一种,它是针对直接插入排序算法的改进。 希尔排序又称缩小增量排序,因 DL.Shell 于 1959 年提出而得名。 它通过比较相距一定间隔的元素来进行,各趟比较所用的距离随着算法的进行而减小,直到只比较相邻元素的最后一趟排序为 阅读全文
posted @ 2022-02-17 13:43 被动 阅读(44) 评论(0) 推荐(0) 编辑
摘要:基本思想 找到数组中最小的那个元素; 将它和数组的第一个元素交换位置(如果第一个元素就是最小元素,那么它就和自己交换); 在剩下的元素中找出最小的元素,将它与剩余元素中的第一个元素交换(即数组第二个元素); 重复执行 3 ,直到将整个数组排序。 //选择一个最小 /最大 的数安放到正确的位置 pub 阅读全文
posted @ 2022-02-17 13:17 被动 阅读(25) 评论(0) 推荐(0) 编辑
摘要:冒泡排序 基本思想 冒泡排序,类似于水中冒泡,较大的数沉下去,较小的数慢慢冒起来,假设从小到大,即为较大的数慢慢往后排,较小的数慢慢往前排。 直观表达,每一趟遍历,将一个最大的数移到序列末尾。 描述 比较相邻的元素,如果前一个比后一个大,交换之。 第一趟排序第1个和第2个一对,比较与交换,随后第2个 阅读全文
posted @ 2022-02-01 15:19 被动 阅读(42) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示