每个节点最多有两个子节点的树是二叉树。查找树和排序树是特殊的二叉树,左子树中的值都比父节点的值小,右子树的值都比父节点的大。平衡二叉树是一种特殊的查找树,任意一个节点的两个子树的深度之差小于等于1。这样的树可以保证二分搜索任意元素都是O(log
n)的,一般还附带带有插入或者删除某个元素也是O(log n)的的性质。
平衡二叉树(Balanced binary tree)是由...
分类:
其他好文 时间:
2015-07-13 16:17:19
阅读次数:
117
《计算机算法设计与分析》(第3版) 王晓东 电子工业出版社递归与分治策略二分搜索算法二路归并排序快速排序动态规划矩阵连乘问题斐波那契数列贪心算法最优装载活动安排问题其它可用贪心算法求解的问题回溯法图的m着色问题素数环问题分支限界法装载问题
分类:
编程语言 时间:
2015-07-12 21:31:26
阅读次数:
183
原文链接:原文Bloom Filter是由Bloom在1970年提出的一种多哈希函数映射的快速查找算法。通常应用在一些需要快速判断某个元素是否属于集合,但是并不严格要求100%正确的场合。一. 实例 为了说明Bloom Filter存在的重要意义,举一个实例: 假设要你写一个网络蜘蛛(web c.....
分类:
其他好文 时间:
2015-07-12 15:40:30
阅读次数:
92
1. 二分查找//递归版int binarySearch(const int arr[], int low, int high, int val){ if (low arr[mid]) return binarySearch(arr, mid+1, high, val)...
分类:
编程语言 时间:
2015-07-12 15:31:36
阅读次数:
222
基本查找算法一、查找的基本概念查找,也可称检索,是在大量的数据元素中找到某个特定的数据元素而进行的工作。查找是一种操作。二、顺序查找针对无序序列的一种最简单的查找方式。时间复杂度为O(n)。三、折半查找针对已排序序列的一种查找方式。并且只适用于顺序存储结构的序列。要求序列中的元素基本不变,在需要做删...
分类:
编程语言 时间:
2015-07-11 18:12:05
阅读次数:
128
adjacent_find()
在iterator对标识元素范围内,查找一对相邻重复元素,找到则返回指向这对元素的第一个元素的迭代器。否则返回past-the-end。
#include
#include
#include
#include
using namespace std;
void play_adjacent_find()
{
vector v1;
v1.pu...
分类:
编程语言 时间:
2015-07-10 16:46:50
阅读次数:
157
黑马程序员--java基础学习笔记6
一、笔记内容概述:
数组-第二种定义格式、数组-常见操作-遍历-最值-选择排序-冒泡排序-排序位置置换代码提取、数组-排序的性能问题、数组-常见功能-查找-折半查找、进制转换-查表法-整合。
二、常用内容介绍:
1.数组初始化的三种方式:
int[] arr = new int[...
分类:
编程语言 时间:
2015-07-08 09:37:57
阅读次数:
150
1 package iYou.neugle.search; 2 3 public class Binary_search { 4 public static int BinarySearch(double[] array, double key) { 5 int left...
分类:
编程语言 时间:
2015-07-06 19:20:46
阅读次数:
125
题目:统计一个数字:在排序数组中出现的次数。举例说明例如输入排序数组{ 1, 2, 3, 3, 3, 3, 4, 5}和数字3 ,由于3 在这个数组中出现了4 次,因此输出4 。解题思路 利用改进的二分算法。
如何用二分查找算法在数组中找到第一个k,二分查找算法总是先拿数组中间的数字和k作比较。如果中间的数字比k大,那么k只有可能出现在数组的前半段,下一轮我们只在数组的前半段查找就可以了。...
分类:
编程语言 时间:
2015-07-06 12:26:35
阅读次数:
190