常用算法 25 讲
胡光
前百度高级算法研发工程师,ACM 国际大学生程序设计大赛亚洲区金牌获得者
40774 人已学习
赠一得一
登录后,你可以任选4讲全文学习
课程目录
已完结/共 31 讲
结束语 (1讲)
常用算法 25 讲
15
15
1.0x
00:00/00:00
登录|注册

23 | 位运算:位=数据结构,算=算法

位运算是一种强有力的优化技巧,能帮助我们减少统计所需要的空间消耗和时间消耗,加速搜索过程。今天,我带你学习它的应用。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结
该试读文章来自《常用算法 25 讲》,如需阅读全部文章,
请先通过赠一得一解锁课程
赠一得一
登录 后留言

全部留言(6)

  • 最新
  • 精选
  • 我来也
    给定一个整数,请你求出这个整数二进制表示中 1 的个数。 我之前看过一种用字典表的方式来统计。 如果是存在大量需要计算的场景,字典表应该是更合适的。 可以预处理0-255这些数的二进制中1的个数。 然后把每一个字节的值在字典表中取结果,这样直接对32位整数的四个字节值对应1的个数求和就得到结果了。 而预分配的256个字节空间并不多,可以起到加速的效果,比较划算。
    4
  • 阿豪
    按位统计,统计一个数的算法为什么不是把int前20位按2位分成10个数相加。不解。 文章的统计算法是: int count = 0; while (x > 0) { count += 1 << (x % 10); x /= 10; }
    1
    2
  • 那时刻
    请问老师,分治思想结合分组统计法的时间复杂度loglogN是怎么理解的呢?
    1
    1
  • 那时刻
    第二道练习题,可以采用分治方法,先把奇偶位反转,然后再两位两位反转,四位四位反转...最终这个数字反转
    1
  • 明翼
    看不懂好复杂啊
  • 微风漂过
    new_a = (a & ~num & ~new_b) | (~a & num & ~new_b)中,最后的~new_b应该是new_b吧?
收起评论
显示
设置
留言
6
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部