神操作!程序员边看《长安十二时辰》边学算法!

640?wx_fmt=gif

640?wx_fmt=jpeg

作者 | 小吴

责编 | 伍杏玲

最近,小吴在追一部古装剧,《长安十二时辰》。

故事讲得是在上元节前夕,长安城混入可疑人员,身陷囹圄的张小敬临危受命,与少年天才李必携手在十二时辰内破除隐患。

该剧的一大亮点就在于 时间很紧迫,需要在二十四小时内捉拿蓄谋已久的“恐怖分子”。

而之所以张小敬与李必能及时破除隐患,依赖的是正确的使用数据结构与算法!


640?wx_fmt=png

大案牍术与推荐算法


大案牍术的发明者是靖安司中的徐宾,凭借着神奇的“记忆宫殿”加上刻苦钻研,研究出了一套以档案数据为基础的处理事务的方法,即为“大案牍术”。

你可以将大案牍术理解为我们当下热门的大数据。

依托于这个大案牍术可以快速分析大量数据信息进行推理,无论是破案调查找人,还是预言未来,都可以做到。

故事的主角张小敬正是凭借着大案牍术中的推荐算法脱颖而出,成为拯救长安的大英雄。


640?wx_fmt=png

长安舆图与时间复杂度


对于“恐怖分子”狼卫来说,长安不是他们的家乡,是一个人生地不熟的陌生城市。

如果通过四处遍历的方式(暴力法)去寻找长安的核心目标,那再给他们几个月也是无法精准定位的,此时他们到达目的地的时间复杂度为 O(n2)。

所以,剧情一开始狼卫准备夺取长安舆图 。

有了上面这份长安舆图便可轻易精准定位目标所在地,狼卫使用 长安舆图 优化了时间复杂度,达到了 O(n) 级别。

此时,长安危在旦夕。

“五尊阎罗”张小敬站出来了!对于他来说,长安可不是平面的,而是三维立体的,哪里有沟渠哪里能上房都一清二楚。

张小敬通过以空间换时间的方式(飞檐走壁),极大的优化了时间复杂度,达到了O(logn) 的级别。

正是因为他们使用的算法不同,这才在为张小敬能追上狼卫提供了理论上的支持。


640?wx_fmt=png

望楼系统与加密算法


整部剧的信息传递极大的依赖于剧中的望楼系统。

先说一下望楼:望楼是八丈高的瞭望塔,星罗棋布的安置于长安城中,敲鼓之后用方格拼出的图案传递信息。

望楼系统的信息传递使用的是公开的方式,视野处都能看到望楼上显示的花纹图案,但是它们的具体含义只有内部人员通过密码本进行查询,方可解密出对应的文字含义。

作者简介:作者程序员小吴,哈工大学渣,目前正在学算法,开源项目 「 LeetCodeAnimation 」5500star,GitHub Trending 榜连续一月第一。欢迎大家关注我的微信公众号:五分钟学算法,一起学习,一起进步!

声明:本文为作者投稿,版权归其个人所有。

640?wx_fmt=png

640?wx_fmt=gif

 热 文 推 荐 

金山云肖江:5G 驱动智慧人居新发展

漫画:程序猿垃圾分类实践

暗网竟成比特币最大用户? 上半年 5.15 亿美元被用于非法活动

☞性能提升 3 倍的树莓派 4,被爆设计缺陷!

☞用50年前NASA送阿波罗上天的计算机挖矿什么体验? 出一个块要10^18年……

☞Kubernetes端到端解决方案Part3:如何正确部署Kubernetes

☞《长安十二时辰》教了哪些算法知识?

☞中文repo“霸榜”GitHub Trending,国外开发者不开心了

中国第一程序员,微软得不到他就要毁了他!

640?wx_fmt=png 你点的每个“在看”,我都认真当成了喜欢
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值