文字描述 和直接插入排序比较,只是把“查找”操作利用“折半查找”来实现,由此进行的插入排序叫做折半插入排序。 示意图 略 算法分析 和直接插入排序比,减少了比较次数,但是移动次数没有变,所以折半插入排序算法的时间复杂度仍然是n*n, 辅助空间为1,是稳定的排序方法。 代码实现 1 #include ...
分类:
编程语言 时间:
2018-07-21 17:04:24
阅读次数:
138
案例 & 8195;假如我们现在在设计一个英文翻译程序,要把英文翻译成汉语,显然我们需要知道每个单词对应的汉语意思。我们可以建立一颗二分搜索树来实现英语到汉语的关联。为了更快速地翻译,我们可以使用AVL树或者红黑树使每次查询的时间复杂度Θ(lgn),实际上对于字典翻译程序来说这么做存在一个问题,比如 ...
分类:
编程语言 时间:
2018-07-20 21:15:24
阅读次数:
171
算法与数据结构基础原文链接:http://note.youdao.com/noteshare?id=7b9757930ce3cc9e0a5e61e4d0aa9ea2&sub=2726FFA02ADE4E74A302D8DA7646FB46查找算法:二分查找法:简介:二分查找法又被称为折半查找法,用于预排序的查找问题过程:如果在列表a中查找元素t,先将列表a中间位置的项与查找关键字t比较,如
分类:
编程语言 时间:
2018-07-19 22:03:06
阅读次数:
271
一些日常卡常工具集合 ——工欲善其事,必先利其器 尽管不会松松松,但是至少维持一个比较小的常数还是比较好的 在此之前依然要保证算法的正确性以及代码的可写性 本文依然会持久更新,因为一次写不完 Tools1:算法 这个的重要性就不强调了,轻则$log$,重则$n^2$,更令人窒息者为多项式和非多项式的 ...
分类:
其他好文 时间:
2018-07-18 01:10:53
阅读次数:
185
原理 二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前 ...
分类:
编程语言 时间:
2018-07-16 11:15:40
阅读次数:
134
常用算法 资讯网址:www.qghkt.com 腾讯课堂:https://qghkt.ke.qq.com/20个常用算法 目 录 一、查找算法... 2 1.1、顺序查找... 2 1.2、折半查找... 4 1.3、哈希查找... 7 1.3.1线性探测法 1.3.2链地址法 二、字符串算法... ...
分类:
编程语言 时间:
2018-07-15 19:36:57
阅读次数:
211
二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两... ...
分类:
其他好文 时间:
2018-07-14 14:49:45
阅读次数:
159
也叫折半查找。 优点:比较次数少,查找速度快,平均性能好。 缺点:查找的数组必须为排序好的数组。 时间复杂度:O(logN) 代码:(递归:用栈保存结果空间消耗严重) 非递归:(能用循环不用递归) ...
分类:
其他好文 时间:
2018-07-13 12:10:58
阅读次数:
159
1.. 二叉树 跟链表一样,二叉树也是一种动态数据结构,即,不需要在创建时指定大小。 跟链表不同的是,二叉树中的每个节点,除了要存放元素e,它还有两个指向其它节点的引用,分别用Node left和Node right来表示。 类似的,如果每个节点中有3个指向其它节点的引用,就称其为"三叉树"... ...
分类:
其他好文 时间:
2018-07-10 12:55:04
阅读次数:
173
一、多路查找树的背景 前面所讨论的查找算法都是在内存中进行的,它们适用于较小的文件,而对于较大的、存放在外存储器上的文件就不合适了,对于此类大规模的文件,即使是采用了平衡二叉树,在查找效率上仍然较低。 如果要操作的数据集非常大,大到内存已经没办法处理了,这种情况下,对数据的处理需要不断从硬盘等存储设 ...
分类:
其他好文 时间:
2018-07-10 12:43:44
阅读次数:
187