天才一秒记住【久久中文网】地址:www.99lzw.com
把这5个女朋友都见一遍。
由于经费有限,你又很抠门不想多掏机票钱,所以每个城市只能去一次。同时这些城市之间又不全部都有双向直飞航线,你该怎么做呢?
你可以想想,但我告诉你不论你怎么想都没用。因为这类问题的解法只有一个,那就是试!和我们暴力破解密码一样,一个一个试!
进一步的,如果你不只五个女朋友,而是有50个、500个、5万个、无穷个,你该怎么办?”
卢赫对着艾达否逐渐由认真转为嬉笑的脸,思索片刻,答道:“我觉得这个问题我不需要考虑。5个女朋友大眼一瞅在纸上画画也就出来了,如果再多,我肯定会先死在床上。”
“你个死变态。”艾达否一脸嫌弃道:
“很难对吧?这其实是一个时间复杂度为n!的问题,也就是说,如果你有n个女朋友,就要尝试n的阶乘次。如果你女朋友多达万个,就算是拥有4万个核心天河三号,也要算到你年过花甲。
可这个问题对于dNA计算机来说,却是小菜一叠。它是这么算的:
假如你现在刚见完1号女朋友,准备奔赴到2号的怀抱。那么你离开1号女朋友的行为,就被编码为AcAc;奔赴2号女朋友的行为,被编码为GtGt。把这两串编码合起来,AcAcGtGt就代表你从1号到2号的路径。
接下来,你见完了2号女朋友,又匆匆赶往3号。这个过程可以再用编码表示为tctcAGAG。
也就是说,8个碱基就可以用来表示你和其中一个女朋友从见面到拜拜的全过程。这个时候你肯定就要问了,我要你规划一条连续的路径,可AcAcGtGt、tctcAGAG是分离的两条链,这还怎么能玩儿的下去?
很简单嘛,碱基对是可以互补的。你再找一条cAcAAGAG,不就可以跟胶水一样,把那两条毫不相关的链给粘起来了吗?
接下来的事情就更简单了。你有几个女朋友,就用几串8位编码来表示和她们的见面和拜拜的过程。然后你把你的女朋友和胶水都合成一下,扩增个几万亿条,放在一起,养蛊。
根据碱基配对原则,胶水分分钟就能发挥作用,把各种女朋友给粘起来。这个时候,你会得到几万亿条路径。这就是路径遍历的所有结果。
那你又要问,我怎么把最省钱的那一条路径给筛选出来呢?
这也很简单,你的起点和终点是固定的。只要拿起点和终点作引物,扩增一
本章未完,请点击下一章继续阅读!若浏览器显示没有新章节了,请尝试点击右上角↗️或右下角↘️的菜单,退出阅读模式即可,谢谢!