08 2021 档案

摘要:简介 散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。 给定表M,存在函数f(key),对任意给定的关键字值key, 阅读全文
posted @ 2021-08-21 17:12 翻蹄亮掌一皮鞋 阅读(72) 评论(0) 推荐(0) 编辑
摘要:简介 斐波那契搜索(Fibonacci search) ,又称斐波那契查找,是区间中单峰函数的搜索技术。 斐波那契搜索就是在二分查找的基础上根据斐波那契数列进行分割的。在斐波那契数列找一个等于略大于查找表中元素个数的数F[n],将原查找表扩展为长度为Fn,完成后进行斐波那契分割,即F[n]个元素分割 阅读全文
posted @ 2021-08-20 21:48 翻蹄亮掌一皮鞋 阅读(120) 评论(0) 推荐(0) 编辑
摘要:简介 插值查找是根据查找关键字与查找表中最大最小记录关键字比较后的查找方法。插值查找基于二分查找,将查找点的选择改进为自适应选择,提高查找效率。适合于关键字值分布均匀的集合,前提是集合的数据是有序的。 公式:left表示左边索引,right表示右边索引,value为查找值。int mid = lef 阅读全文
posted @ 2021-08-17 13:03 翻蹄亮掌一皮鞋 阅读(88) 评论(0) 推荐(0) 编辑
摘要:简介 分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且元素必须是有序的。 思路 前提:数组中的元素顺序排序: 先确定数组的中间数的下标 mid = (left + right) / 2; 让查找的数value与中间数ar 阅读全文
posted @ 2021-08-17 10:40 翻蹄亮掌一皮鞋 阅读(45) 评论(0) 推荐(0) 编辑
摘要:简介 线性查找又称顺序查找,是一种最简单的查找方法,它的基本思想是从第一个记录开始,逐个比较记录的关键字,直到和给定的K值相等,则查找成功;若比较结果与文件中n个记录的关键字都不等,则查找失败。 代码 public static List<Integer> seqSearch (int[] arr, 阅读全文
posted @ 2021-08-16 14:21 翻蹄亮掌一皮鞋 阅读(42) 评论(0) 推荐(0) 编辑
摘要:简介 基数排序(radix sort)属于“分配式排序”(distribution sort),又称“桶子法”(bucket sort)或bin sort,顾名思义,它是透过键值的部份资讯,将要排序的元素分配至某些“桶”中,藉以达到排序的作用,基数排序法是属于稳定性的排序,其时间复杂度为O (nlo 阅读全文
posted @ 2021-08-15 19:09 翻蹄亮掌一皮鞋 阅读(96) 评论(0) 推荐(0) 编辑
摘要:简介 归并排序(Merge Sort)是建立在归并操作上的一种有效,稳定的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。 复杂 阅读全文
posted @ 2021-08-10 16:23 翻蹄亮掌一皮鞋 阅读(33) 评论(0) 推荐(0) 编辑
摘要:简介 快速排序(Quicksort)是对冒泡排序算法的一种改进。原理是设要排序的数组是A[0]……A[N-1],首先任意选取一个数据(通常选 用数组的第一个数)作为关键数据,然后将所有比它小的数都放到它左边,所有比它大的数都放到它右边,这个过程称为一趟快速排序。值得注意的是,快速排序不是一种稳定的排 阅读全文
posted @ 2021-08-09 23:03 翻蹄亮掌一皮鞋 阅读(67) 评论(0) 推荐(0) 编辑
摘要:简介 希尔排序(Shell's Sort)是插入排序的一种又称“缩小增量排序”(Diminishing Increment Sort),是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。该方法因 D.L.Shell 于 1959 年提出而得名。 希尔排序是把记录按下标的一定增量分组 阅读全文
posted @ 2021-08-08 15:20 翻蹄亮掌一皮鞋 阅读(68) 评论(0) 推荐(0) 编辑
摘要:简介 插入排序,一般也被称为直接插入排序。对于少量元素的排序,它是一个有效的算法。插入排序是一种最简单的排序方法,它的基本思想是将一个记录插入到已经排好序的有序表中,从而一个新的、记录数增1的有序表。在其实现过程使用双层循环,外层循环对除了第一个元素之外的所有元素,内层循环对当前元素前面有序表进行待 阅读全文
posted @ 2021-08-07 21:10 翻蹄亮掌一皮鞋 阅读(26) 评论(0) 推荐(0) 编辑
摘要:简介 选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。以此类推,直到全部待排序的数据元素的个数为零。选择排序是不 阅读全文
posted @ 2021-08-07 14:40 翻蹄亮掌一皮鞋 阅读(30) 评论(0) 推荐(0) 编辑
摘要:度量一个程序(算法)执行时间的两种方法 事后统计的方法 这种方法可行, 但是有两个问题:一是要想对设计的算法的运行性能进行评测,需要实际运行该程序;二是所得时间的统计量依赖于计算机的硬件、软件等环境因素, 这种方式,要在同一台计算机的相同状态下运行,才能比较那个算法速度更快。 事前估算的方法 通过分 阅读全文
posted @ 2021-08-07 11:39 翻蹄亮掌一皮鞋 阅读(175) 评论(0) 推荐(0) 编辑
摘要:简介 冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。 它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。 这个算法的名字由来 阅读全文
posted @ 2021-08-06 21:06 翻蹄亮掌一皮鞋 阅读(40) 评论(0) 推荐(0) 编辑
摘要:简介 程序调用自身的编程技巧称为递归( recursion)。递归做为一种算法在程序设计语言中广泛应用。 一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复 阅读全文
posted @ 2021-08-05 21:51 翻蹄亮掌一皮鞋 阅读(93) 评论(0) 推荐(0) 编辑
摘要:概念 栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相 阅读全文
posted @ 2021-08-04 19:17 翻蹄亮掌一皮鞋 阅读(254) 评论(0) 推荐(0) 编辑
摘要:概念 循环链表是另一种形式的链式存储结构。它的特点是表中最后一个结点的指针域指向头结点,整个链表形成一个环。 代码 节点对象 class Boy { private int no;// 编号 private Boy next; // 指向下一个节点,默认null public Boy(int no) 阅读全文
posted @ 2021-08-02 12:17 翻蹄亮掌一皮鞋 阅读(46) 评论(0) 推荐(0) 编辑

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