查看原文
其他

看《长安十二时辰》可以了解哪些算法知识

The following article is from 五分钟学算法 Author 程序员小吴

点击上方"Java学习之道",选择"关注"公众号

每天10:24,干货准时送达!

本文经授权转载自公众号“五分钟学算法”

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

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

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

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

大案牍术与推荐算法

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

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

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

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

长安舆图与时间复杂度

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

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

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

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

此时,长安危在旦夕。

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

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

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

望楼系统与加密算法

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

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

图片来源于北斗北工作室

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

图片来源于北斗北工作室




(完)

 | 更多精彩文章 -



-

    喜欢本文的朋友们,欢迎扫码关注订阅号Java学习之道,收看更多精彩内容!


    一 起努力吧!

你也可以顺手点个 

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存