找出布隆过滤器的误判

场景:~/work/adv/bloom.cpp 读入 added.txt 里的数建一个布隆过滤器,再回答「某个数在不在」。它只用了一个哈希函数,误判不少。 任务:在 ~/题目.txt 给的区间里找一个没被加进去、过滤器却说「可能在」的数,写

开始练习 →

修好旋转丢的子树

场景:~/work/adv/avl.cpp 往 AVL 树里插一串数,输出中序遍历和树高。数一多,中序结果就少了一截,内存检查还报泄漏。 任务:修好旋转函数里丢掉子树指针的地方。make 编译后结果正确、内存检查不报错才算过。 可操作范围:

开始练习 →

选结构之前的第一件事

第 1 步:记下一段时间里的每个操作 第 2 步:标出所有的「查」 第 3 步:8 次里有 6 次是查 第 4 步:该优化的是查找这一边 查 查 增 查 查 删 查 查 拿到一个需求,动手选数据结构之前,第一件事是【0】。

开始练习 →

要按插入顺序列出最近十条

需求里出现「按插入顺序列出最近 10 条」,这句话直接排除了【0】(问的是哪种结构用不了)。

开始练习 →

数据量一百万条排除了谁

需求里出现「数据量一百万条」,这句话直接排除了【0】。

开始练习 →

随时取出当前最大的那个

需求里出现「随时取出当前最大的那个」,最自然的选择是【0】。

开始练习 →

需求分析最容易漏掉哪项

做需求分析时,最容易被漏掉的一项是【0】。

开始练习 →

这批词里哪个出现得最多

一批搜索词:苹果、香蕉、苹果、梨、香蕉、苹果。运行下面这段程序: #include <algorithm> #include <iostream> #include <map> #include <

开始练习 →

判重用数组还是集合

第 1 步:找 4 在不在里面 第 2 步:vector:第 1 次比较 第 3 步:vector:第 2 次比较 第 4 步:vector:第 3 次比较 第 5 步:vector:第 4 次比较 第 6 步:vector:第 5 次比较

开始练习 →

既要判重又要保序(C++)

既要快速判重、又要保住插入顺序,最省事的做法是【0】。

开始练习 →