
算法
文章平均质量分 64
Mr_Garfield__
这个作者很懒,什么都没留下…
展开
-
关于时间复杂度和空间复杂度的计算
衡量一个算法的复杂度:时间复杂度空间复杂度算法的时间复杂度和空间复杂度合称为算法的复杂度时间复杂度一般来说,一个算法执行所消耗的时间从理论上是算不出来的,只有通过上机运行才能测试出来。当然,我们也没必要知道一个算法它具体执行的时间是多少,而我们又知道,一个算法花费的时间与算法中语句的执行次数是成正比的。哪个算法语句执行的次数多,它花费的时间就多。void Tes...原创 2017-12-09 23:12:57 · 11936 阅读 · 3 评论 -
哈希表的实现(闭散列法和拉链法)
哈希表哈希表(Hash Table)也叫散列表,是根据关键码值(Key Value)而直接进行访问的数据结构。它通过把关键码值映射到哈希表中的一个位置来访问记录,以加快查找的速度。这个映射函数就做散列函数,存放记录的数组叫做散列表。理想的搜索方法:可以不经过任何比较,一次直接从表中得到要搜索的元素。 如果构造一种存储结构,通过某种函数(hashFunc)使元素的存储位置与它的关键码之间能...原创 2018-03-02 00:07:18 · 1499 阅读 · 0 评论 -
哈希扩展——位图&布隆过滤器
位图来看一道题:给40亿个不重复的无符号整数,没排过序。给一个无符号整数,如何快速判断一个数是否在这40亿个数中。 要快速判断一个数是否在一组数中:比较快的算法有:平衡搜索树、哈希表等。而这里如果直接建立一个哈希表的话,每个节点存一个数据,对于40亿的数据需要40亿个整型单元,这相当于100+G内存,显然这种方法不可行。 那么,我们便想到能不能用一个bit位来表示一个数存在或者不存...原创 2018-03-06 00:28:46 · 441 阅读 · 0 评论