正文
要明确问题,位图数据结构,简单的设计
习题
第1题
C++STL中的set可用iterator顺序输出集合中的元素
第2题
当m为2i时,n/m可用位操作n>>i来实现,移位操作比除法效率高很多 同理,n%m也可用位操作实现(n&MASK),其中MASK为(1<<i)-1
第4题
产生[0, n)中的k个不重复的随机数
for i = [0, n)
x[i] = i
for i = [0, k)
swap(i, randint(i, n - 1))
print x[i]
第6题
用key-indexed counting时若每个键出现次数有上限可改变计数器的数据类型来节省内存。
如每个数出现不超过10次,则可用4位的半字节来统计它出现的次数
如每个数出现不超过10次,则可用4位的半字节来统计它出现的次数
第9题
答案木有看懂,以后再研究
本文探讨了位图数据结构的简单设计,并通过具体习题解析了C++ STL中set的使用方法、位操作优化技巧、随机数生成算法等高效算法设计策略。此外还讨论了key-indexed counting算法在特定条件下的内存优化方案。

2018

被折叠的 条评论
为什么被折叠?



