唐瑾禾离开后,唐尘再也抑制不住自己的兴奋,他发现这题他会啊!
重生到这个修仙世界,他终于觉得上辈子的知识能够派上用场了。
这炼丹的过程,不就是个排序的问题吗?
已知回春丹里有6种材料,融合成一圈圈的药力后根据灵力吸收速度从小到大编号为1到6,在开始时这个顺序是随机错乱的,而炼丹师需要做的就是把这个顺序按从小到大排列好!虽说灵力吸收速度会随着融合的不同阶段随机变化,炼丹师要做的也仅仅只是多做几次排序罢了!
这其中困难的是什么?对于药材吸收灵力的速度没有直观的感受,只能是两个药材做对比,一个一个比较吸收速度的快慢。
那么唐瑾禾是怎么做的呢?
假设此时炼丹炉内药力从中间到外圈的药材排序(储灵丹丹方,其中妖兽灵力药材使用的是蛇蛋)是:
百灵花 | 碧莲 | 幽冥草 | 长青树藤 | 星辉石 | 妖兽灵力(蛇蛋)
唐瑾禾并不知道哪个材料的灵力吸收速度是最高的,于是她拿第一个【百灵花】和第二个【碧莲】做对比,若百灵花高则继续拿百灵花和第三个【幽冥草】做对比,一直比到最后面,如果都是百灵花高,那么当前状态下就是百灵花的灵力吸收速度最高,把百灵草拿出来,其余材料往前挪一个位置,下面展示了挪动过程
空缺 | <=碧莲 | <=幽冥草 | <=长青树藤 | <=星辉石 | <=妖兽灵力(蛇蛋)
然后等待挪动完成,再把百灵花放到第六个位置。
若对比途中发现百灵花比任意一个药材低,那么就用第二个材料碧莲和其他所有药材对比。若碧莲最高则触发挪动过程,把碧莲放在最后。若碧莲也被比下去了,那就用第三个药材开始比,一直到比出最大的药材为止。
在唐尘看来,这种对比方法实在是慢!太慢!太慢了!
唐尘嘿嘿的笑出声,他看着地上的材料和摆放在一边的丹炉心痒痒,如果我炼制成灵丹甚至金丹,不知道师姐会是什么样的表情呀!
“我想想,排序的算法这么多,我先用哪一个试试水呢?要不,就先用冒泡排序吧!”
说干就干,唐尘生小火,放材料,输入灵力一气呵成。
一团团药力组成一圈圈圆,而在唐尘眼中仿佛只是几个等待排序的数字。
药炉中:百灵花 | 碧莲 | 幽冥草 | 长青树藤 | 星辉石 | 妖兽灵力(蛇蛋)
他把第一种药材【百灵花】和第二种药材【碧莲】做对比,若百灵花高,就把百灵花和碧莲调换位置,此时顺序变为了:
碧莲 | 百灵花 | 幽冥草 | 长青树藤 | 星辉石 | 妖兽灵力(蛇蛋)
然后拿第二种药材【百灵花】和第三种药材【幽冥草】做对比,假设幽冥草高,则顺序不变,接着再拿【幽冥草】和【长青树藤】对比,若幽冥草高,则把幽冥草和长青树藤互换位置,此时顺序变为了:
碧莲 | 百灵花 | 长青树藤 | 幽冥草 | 星辉石 | 妖兽灵力(蛇蛋)
继续再拿【幽冥草】和【星辉石】对比,假设幽冥草大,就把幽冥草和星辉石互换位置,最后再把幽冥草和妖兽灵力对比,若是幽冥草大则把幽冥草和妖兽灵力互换位置,最终最大的幽冥草就排到了最后的位置。
碧莲 | 百灵花 | 长青树藤 | 星辉石 | 妖兽灵力(蛇蛋)| 幽冥草
也就是最多一轮,吸收速度最快的药材就已经排好了位置!
这就是传说中的冒泡排序,就像一个泡泡一层一层的冒到了最上层。
细心的你们肯定还发现了另一个现象,这一轮排序不仅把幽冥草排到了最后的位置,百灵花和碧莲的位置也是按顺序排列的!
接下来拥有富足的时间,再开启第二轮排序,而第二轮就可以直接排除最后一个幽冥草的位置,只排序1到5个位置的药材。
在一品丹药药力融合的过程中,一般有6个阶段,每个阶段开始时药材吸收灵力的速度会随机变化,也就是炼丹师一共需要排序6次。在每个阶段里你排序的速度越快,灵力按顺序吸收的时间就越多,成丹的品质随着就越好。
这就是唐瑾禾为什么大部分丹药都只有6倍普丹级别,极少出现7倍灵丹都已经是运气逆天了。
唐尘随即想到那他那天炼成回春丹可是一次顺序都没调整啊,也就是说每阶段随机的药力吸收速度顺序都基本上是有序的,这可真是逆天运气啊!
唐尘抛去脑海里乱七八糟的想法,因为第二个阶段的排序,开始了……
随着排序的次数越来越多,唐尘的速度也越来越快,他的嘴角也逐渐勾起。
因为,丹药眼看着就要成了,唐尘激动的爆发更多灵力。
起大火,储灵丹,成!
掀开丹炉一看,一颗灵气澎湃的丹药安静的躺在丹炉中,仿佛是一件精致的艺术品,洞穴内瞬间弥漫开灵药的清香!