算法5-4:1d范围查找
来源:互联网 发布:windows内核攻击游戏 编辑:程序博客网 时间:2024/06/05 02:42
有一个整数集合,求所有介于x到y之间的所有整数
实现方法
非顺序数组:复杂度是N,比较慢
顺序数组:查找操作的复杂度是lgN,插入操作的复杂度是N
二叉查找树:复杂度是logN,比较快
代码
下面这段代码用于统计lo到hi之间的整数个数
public int count(Key lo, Key hi) { if(contains(hi)) return rank(hi) - rank(lo) + 1; else return rank(hi) - rank(lo);}
下面展示了完整的代码:
public class Search1D<Item extends Comparable<Item>> { private BST<Item, Item> tree; public Search1D() { tree = new BST<Item, Item>(); } public void add(Item item) { tree.insert(item, item); } // 求区间[a, b)范围内的元素数量 public int count(Item a, Item b) { return tree.rank(b) - tree.rank(a); }}
0 0
- 算法5-4:1d范围查找
- 二叉查找树范围查询算法
- 懒人读算法(六)-查找剩余范围
- 范围查找
- 高效算法设计(二分查找,范围统计)
- 高效算法设计(二分查找,范围统计)
- Spatialite 按范围查找
- 算法竞赛入门经典:第八章 高效算法设计 8.8二分查找之范围统计
- k-d tree的优化查找算法BBF 【转】
- k-d tree的优化查找算法BBF
- k-d tree的优化查找算法BBF
- 算法4_查找算法
- STL算法------查找5
- STL算法------查找4
- 查找算法4
- 算法4-二分查找
- 二分查找算法1
- STL算法------查找1
- 如何用一个月的时间准备google的技术面试
- Mysql嵌套语句的应用
- 找硬币问题
- 算法5-3:B树
- 解决get方法传递URL参数中文乱码问题
- 算法5-4:1d范围查找
- Android中使用TimerHandler设置每秒刷新操作
- Android4.0设置界面修改总结(四)
- mini2440之编译busybox-1.22.1c出错以及解决办法
- 算法5-5:线段交叉问题
- GTK多窗口的创建及窗口之间数据的交互
- 为 Vim 编辑器开发定制插件
- 编译fairscheduler
- POJ - 2688 Cleaning Robot