下面可以谈论下如何求频繁元素的一个问题。
一、问题定义
如果一个数据流,其中m为数据流的大小,。我们可以定义每个元素出现的次数为,其中为第i个元素出现的次数。容易得出:。
如果给定参数k,我们想求出所有出现次数超过m/k的元素。也就是输出集合:。下面我们先从一个简单特例入手,对这个问题进行分析和解决。
二.简单情况
有个经典的过半元素查找问题,在编程之美里面也有分析(寻找发帖水王)。就是...
分类:
其他好文 时间:
2015-05-21 22:43:27
阅读次数:
215
查找基本概念
查找表:由同一类型的数据元素构成的集合。对查找表的常用操作:查询元素是否存在、查询元素属性、插入一个数据元素、删除一个数据元素。
查找:也叫检索,是根据给定的某个值,在表中确定一个关键字等于给定值的数据元素。
关键字:可以标识一个数据元素的某个数据项。
主关键字:可以唯一地识别一个数据元素的关键字。
静态查找表:只进行查询某元素在表中与否或检索某元素的各种属性操作的表。...
分类:
编程语言 时间:
2015-05-09 15:01:11
阅读次数:
210
模式匹配是查找的一种,分为单模式匹配和多模式匹配。查找,就是在一个集合中查找一个或多个元素,查找一个元素就叫单模式匹配,查找多个元素就是多模式匹配,这里只探讨单模式匹配。虽然模式匹配看上去与数字的查找不一样,但是本质上任然是一种查找,比如在“aabaabaabaac”中查找“aabaac”,对计.....
分类:
其他好文 时间:
2015-05-05 08:45:51
阅读次数:
118
1 .插入排序的过程如同我们平时打扑克牌取牌插入的过程,不断将取出的扑克牌插入已经排好的地方。插入排序过程初始有序区间大小为1,取出无序区间的首元素,查找有序区间的合适位置,进行插入。不断重复上述过程,即可完成操作。图解示例 1 //插入排序 2 //karllen @2015 3 void ins...
分类:
编程语言 时间:
2015-04-20 20:43:45
阅读次数:
156
二分查找算法(也称为折半查找算法)效率相对较高,是一种在有序数组中查找某一特定元素的搜索算法。步骤:第一步:从数组的中间元素开始查找,如果数组中的中间元素等于要查找的元素,查找结束;第二步:如果要查找的元素大于或者小于数组的中间元素,则在数组大于或小于中间元素的那一半中查找,和步骤一同样从中间元素开...
分类:
编程语言 时间:
2015-04-12 19:08:59
阅读次数:
120
查找两个有序数组的公共元素 1 /*查找两个有序数组的公共元素*/ 2 #include 3 #include 4 5 void findCommon1(int *arr1, int *arr2, int len1, int len2); 6 void findCommon2(int *arr1,....
分类:
编程语言 时间:
2015-04-11 20:36:44
阅读次数:
228
jQuery常用的元素查找方法总结$("#myELement") 选择id值等于myElement的元素,id值不能重复在文档中只能有一个id值是myElement所以得到的是唯一的元素$("div") 选择所有的div标签元素,返回div元素数组$(".myClass") 选择使用myClass类...
分类:
Web程序 时间:
2015-04-10 15:11:28
阅读次数:
120
jquery选择器,以前在面试的时候,面试官问了我jquery的选择器,然后我只答出了几个,看来要多总结才行:
jQuery 的选择器可谓之强大无比,这里简单地总结一下常用的元素查找方法
$("#myELement") 选择id值等于myElement的元素,id值不能重复在文档中只能有一个id值是myElement所以得到的是唯一的元素
$("div") ...
分类:
Web程序 时间:
2015-03-28 11:36:51
阅读次数:
210
jQuery 的选择器可谓之强大无比,这里简单地总结一下常用的元素查找方法 $("#myELement") 选择id值等于myElement的元素,id值不能重复在文档中只能有一个id值是myElement所以得到的是唯一的元素 $("div") 选择所有的div标签元素,返回div元素数组 $("...
分类:
Web程序 时间:
2015-03-18 15:18:14
阅读次数:
144
查找并输出数组中第i小的元素,这样的题目我们可以先对数组进行排序,然后输出相对应的第i小的元素;还有另外一种方法,一种解决选择问题的分治算法,该算法是以快速排序算法为模型的,与快速排序一样,我们仍然将输入数组进行划分,但与快速排序不同的是,快速排序会递归处理划分的两边,而该选择方法select只处理划分的一边。这一差异会在性能分析中体现出来:快速排序的期望运行时间为O(nlog(n)),而sele...
分类:
编程语言 时间:
2015-03-14 11:08:15
阅读次数:
191