特点唯一一个头节点唯一一个尾节点除头节点外,均只有一个前驱节点除尾节点外,均只有一个后继节点顺序表插入平均移动步数 n/2删除平均移动步数
(n-2)/2查找时间代价 O(n)二分查找时间代价 O(log2n)适合整块存储有序数据,不适合频繁插入删除以及动态扩展。链接表查找时间代价 O(...
分类:
其他好文 时间:
2014-06-11 08:27:00
阅读次数:
156
1. 查找和排序查找:顺序查找、二分查找、二叉搜索树、哈希表顺序查找:T(n) = O(n)
std::find二分查找:T(n) = O(log n) std::binary_search std::lower_bound
std::upper_bound哈希表: T(n) = O...
分类:
其他好文 时间:
2014-06-11 07:45:31
阅读次数:
250
二分查找图二叉树:代码#!/usr/bin/python#-*-coding:utf-8-*-#----------------------------------------------------------------------------------------#
to_do : bin....
分类:
编程语言 时间:
2014-06-09 23:06:48
阅读次数:
295
Collections是JDK针对集合提供的一个工具类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。1、搜索如可以使用Collections提供的二分查找方法binarySearch()2、排序如可以使用Collections.sort()对List进行了排序3、线程安全化使用...
分类:
其他好文 时间:
2014-06-09 21:34:32
阅读次数:
175
二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。重复以...
分类:
其他好文 时间:
2014-06-08 18:07:41
阅读次数:
187
排序的应用
排序算法有着广泛的应用。
典型的应用有
对名称进行排序
排序MP3音乐文件
显示Google的搜索结果
按标题顺序列出RSS订阅
排序之后下列问题就变得非常简单了
找出中位数
数据库中的二分查找
找出统计数据中的异常值
在邮箱中找出重复的邮件
不是...
分类:
其他好文 时间:
2014-06-08 14:45:20
阅读次数:
197
$val){ $high = $mid -1; }else { $low = $mid+1; } }
return "not found";}$array = array(1,2,3,34,534,754,823,9...
分类:
Web程序 时间:
2014-06-07 20:59:25
阅读次数:
340
1. 普通的二分查找2. 查找最左边的值3. 查找最右边的值Worst case
performance: O(log n)Best case performance: O(1)Average case performance: O(log
n)Worst case space complexity...
分类:
其他好文 时间:
2014-06-07 11:19:48
阅读次数:
248
//*************************************
// 函数名称:FineTab 二分查找算法 ->查温度表
// 函数功能:查找数据在表中对应的位置 表中数据从大到小
// 入口参数:表地址、表长度、要查找的数据
// 出口参数:无
// 返 回 值:数据在表中的位置
//***************************************/
int ...
分类:
其他好文 时间:
2014-06-05 03:00:34
阅读次数:
246
本节主要讲解的是算法的复杂度。
算法性能
算法的性能分为三种:
最佳情况:计算时间最短的情况
最差情况:计算时间最长的情况
平均情况:随机输入的期望开销
以二分查找为例
最佳情况是1,因为第一次就有可能找到需要找的整数。
最差情况是logN
平均情况是logN
算法复杂度
...
分类:
其他好文 时间:
2014-06-01 15:57:46
阅读次数:
220