kata03:估算

估算是一种挺有用的天赋. 如果你能估算出代码运行的效率和所占用的内存, 那么在设计的时候就会做到有的放矢.

这个kata的内容就是下面的一系列问题, 请给出估算的答案:

有多大?

  • 下面这些无符号数字大约需要占用多少位(bit)?
    1,000
    1,000,000
    1,000,000,000
    1,000,000,000,000
    8,000,000,000,000

  • 我们乡里有20,000户家庭, 那么为这些人存储姓名, 地址和电话的话, 需要多大的空间(所有的数据都存为字符型)?

  • 把一百万的整数存入二叉树, 大概需要多少个节点? 二叉树大约为几层? 如果是32位的系统, 需要多少存储空间?

有多快?

Object Oriented Software Construction
  • 上面这本书的电子版大约有1200页,用我家56k的猫去拨号传需要多长时间?

  • 我的二分查找算法处理一万个元素大约需要4.5秒, 处理十万个元素大约需要6秒, 那处理一千万个元素需要多长时间?(假设我有足够的内存, 不用分页)

  • Unix系统的密码使用单向散列函数存储:字符串被哈希算法加密成不可逆向的密文. 攻击方法之一就是收集尽可能多的明文密码, 按照这个算法转为密码字典, 进行暴力比对破解(笨办法). 假设要破解16位长度的密码, 每一位有96种可能. 尝试一次需要1ms时间, 破解出来大约需要多少时间?

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Kata03地址 顾名思义,目算就是用眼睛计算。 我不是阳炎厨千万别炸我啊。 目算通常是在编写代码前设计方案的时候...
    梁杰_numbbbbb阅读 3,226评论 0 1
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,823评论 25 709
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,771评论 19 139
  • 一个人爱不爱你本来就是一种赌博 如果真的爱你 我不会舍得让你输 爱你
    思思有片海阅读 2,361评论 0 0
  • 儿童节过着过着,就变成蹭着过的节日了 虽然不愿意承认 但确实年少容颜已不再,唯有童心绽放,花常开 虽无奈,寥寥数语...
    quantslife阅读 4,527评论 0 0