第5章 只有我会
光看题目,林景还没什么头绪。
但是结合颜安的代码一看,顺着他的思路一步步捋,很快便恍然大悟。
确实厉害,不得不承认,如果是让他来的话一时半会可想不到解题方法,就算能写出来也不会像颜安这般巧妙。
看得出来他这两天估计没少下苦功夫,怕是要比他们学的更疯,这水平和前几天一比简直是两个人,真难想象这么大的提升居然只隔了两天。
过完倒数第四题,林景很快投入到倒数第三题中,可是这一次他发现自己不仅没有解题思路,就连颜安的代码看了都是云里雾里的。
看来从这题开始,队伍与队伍之间的差距就要拉开了,林景试着去运行颜安的代码,出乎意料的是这次也成功的跑出了结果。
可惜不知道答案的他无法判断是否正确。
犹豫地看了一眼颜安,向一个比他小且仅学两个月编程的学弟请教问题让他总感觉怪怪的。
尤其是这位学弟的水平前几天还没这么高,碰上问题经常要问他。
处境的转变让林景有些拉不下脸,可眼前的代码如果没有较长一段时间去阅读分析,他是理解不了的。
林景等不了那么久,他恨不得现在就知道颜安用的是什么方法。
“现在有空吗?”凑过去看了一眼颜安的电脑屏幕,正在写的是第八题。
由于他揽过了最后一题,颜安也就与刘希学姐重新分配了一下,两人交错把剩下的题目给搞定。
“学长怎么了?是最后一题写出来了吗?”颜安立即放下键盘兴奋的问道,他在写其他题目的时候仍在脑海中思索着最后一题的解法。
目前他能想到的最优解法就是用相性数据结构和复杂相性算法配合解题,但他的直觉告诉他这绝对不是最优解。
这道题应该还有更简便的方法,只是自己没有掌握。
林景脸上一僵,他连倒数第三题都想不出解题思路,给他代码也看不懂,就别说最后一题了。
“其实我是想问你这道题用的是什么算法,我有点看不明白。”想求知就得拉的下脸,为了解惑林景豁出去了。
换来的是颜安惊讶一眼,随后是恍然的表情,“这道题确实有点难度,我本来想用优先队列来写,考虑到这个方法的综合复杂度有点高
所以我就换成了相性跳跃算法,本来代码应该更简略一些的,但加上相性数据结构后就比较多了,和队列套队列应该是差不多的。”
从他的口中,一个又一个的名词蹦了出来,林景听得晕乎乎的。
优先队列他知道,颜安这么一点他就想到了这题可以考虑贪心算法,每次拉出两个点然后连边更新,再放入优先队列即可。
可相性跳跃算法是什么?还有相性数据结构又是什么?
有这种数据结构吗?
林景努力的在脑海中回忆了许久,发现这两名词他听都没听过。
“等下,你说慢点。相性数据结构是哪本书里的?”
虽然碧穹星的算法发展到现在多种多样,但作为基础的数据结构可没有太大的更新。
翻来覆去也就那么十几种,甚至可以归类为八种,他倒着都能背出来,其中绝不包含颜安所说的相性数据结构。
林景看向了颜安的代码,他能清晰的分辨出哪一部分是颜安口中的相性数据结构,但看不懂这部分代码。
准确的说是他明白组成代码的每个关键字,可为什么要这样做,有什么作用,运行起来后结构是什么样的,林景完全预料不到。
“相性数据结构从入门到精通。”颜安在小小的犹豫了一下后如实回答道。
林景感觉自己脑袋上正在不断的冒出问号,还有这本书?
正在他们附近的章老师笑了笑打趣道,“果然你是掉到悬崖底下了吧。”
这书名别说林景了,就连他都没有听过,想来是颜安胡编乱造拿来唬人的,看林景那一愣一愣的表情就知道效果不错。
至于林景看不懂颜安的代码,章老师也没往心里去,这种事太常见了,林景又不是全知全能,他一个学生不懂的地方太多了。
出于好奇心,章老师也凑到他们身边看了一眼代码,干净整洁,快赶上书上的示范了,但他也看不懂,和林景一样的情况。
“这代码是你写的?答案是对的,但你这思路怎么想出来的?”章老师意外的看一眼颜安,能写出倒数第五题他就已经很意外了,这道题就算是林琛想写出来也没那么轻松。
“是我写的啊。”颜安也很奇怪,怎么说真话就是没人信呢。
以前他还试过跑去和朱赤国的警察说自己是外星人,白星野是他爸,须尽欢是他妈,然后被人当精神病给赶走了。
这颗星球人与人之间的信任程度太低了。
“采用相性归类对数据自动处理,构建起相性数据结构,不同数据在相性归类计算中展现的结果不同,这就是‘相性’。
再用相性跳跃算法进行计算,类似于二分法先处理一部分数据,再根据相性结构本身的数据关联得出解。”
“我看看的代码……”颜安说得有鼻子有眼,让他开始相信这两项新技术的存在了,只是心中仍有疑虑,毕竟是连自己都没听过的新技术,颜安又是怎么知道并学会的?
他的水平可不是林景能比的,林景看不懂的代码在他眼里没那么高难度,就是理解起来有点费劲。
“相性归类……拆分数字,相同的放一边,不同的……”花了好一会儿功夫,一边在口中喃喃,一边在脑海中不放松思索,总算是捋顺了思路。
“再通过初步计算,因为比对不成功所以可以直接放弃这部分数据,跳跃至另一部分,达到缩减计算量的效果……”
安安静静的机房突兀的响起拍桌声,章年生兴奋的扭过头看向颜安,“这结构有意思,你从哪学来的,我去看看。”
看懂后,他就明白这类结构不在现今数据结构体系之中,是绝对的开创性的成果。
应该是刚刊登在学术期刊上的新技术,这两天院里的工作太多了,他也没时间去关注前沿发展,对刚出来的技术没听过很正常。
同时在心里对颜安的评价上升了一个等级,毕竟请假两天没有荒废不说,还大有进步,甚至连刚出来的技术都学上了,足以见他的刻苦。
“嗯……其实这技术应该只有我会。”颜安不确定的说道,毕竟数据结构一类的技术并非铭星专有,相性数据结构也不是基于铭星特有的技术。
碧穹星在一九六六年就提出了数据结构这一概念,在二十世纪八十年代完成了对其的基础研究。
即从那个时候开始到现在为止的这段时期是完全有可能自行发展出相性数据结构的。
只是直到目前为止,BT仍没有在碧穹星网络上检索出与之相关的技术。
说明这项技术在碧穹星要么还没被发展出来,要么就是发展出来还没得到应用。
无论是哪种情况,颜安都是目前已知的唯一掌握这项技术的人。
“只有你会?”章老师看着他满眼都是不信,这句话换个意思不就是这门技术由他开创。
一个学编程不足两个月的学生,创造出了一种新型的数据结构,还有与之配套的算法。
这种事怎么想都觉得不可能,他教书十几年,就没见过这种事,完全超出认知了。
他更倾向于颜安是在撒谎,所谓的相性数据结构应该是从某篇学术杂志上看来的,但是为了在其他人面前出风头,所以说成是自己的。
这种事情在大学并不罕见,人都是喜欢争面子的,别说学生会这样做,甚至连老师都有可能出现这种情况。
如果掌握的是某种冷门技术,那能装上好长一段时间,就算以后被发现了,也没人去追究他今天说的话,一个学生随口吹出去的牛皮而已,当不得真。
整个机房的人都因为这边的动静看了过来,颜安面不改色的点头。
“对啊,只有我会,就前两天掌握的,除了相性数据结构、相性跳跃算法,还有复杂相性算法。
这个可以用来解最后一题,但是我总感觉还有更简单的方法,所以一直没写。”
居然不止一种技术,章老师看着他的自信,原本对颜安不错的印象急转直下,随手指了指电脑,“你先写,让我看看。”