第一百一十章 优化

上一页返回目录下一页
最新网址:www.umixs.info

    ……

    “递归算法的话,先天弱了一些,那么……”高二“漂亮”男生努力观想自己女装的画面,只有这样,他才能提高一点自己的思考能力和思维活跃度。

    突然,他脑中蹦出了一个题目。

    猴子选大王!

    “需要有个数据结构能够动态的删除掉已经有的值!”他喃喃自语道,显得神神叨叨的。

    “你怎么了?”女生看他一脸茫然,奇怪的问道。

    “我怎么了……”说到这,男生眼前一亮,猛地拿起一支笔来:“递归也是可以优化的,我们应该用链表试试。”说道这,他立马在草稿纸上开始画起了模型图。

    ……

    “递归方法写出来了,有什么办法能继续优化吗?”小胖子叼着笔,皱着眉仔细思索,他完全是一个人在战斗。而其他三人眼巴巴地看着他这位noip拿580分的大高手。

    这三个家伙是指望不上了,就算他们能理解程序,也不能立马给自己建议。

    “nn的棋盘……”小胖子的思维以不符合他体型惯性的速度开始旋转。

    那么……

    想到这,小胖子直接爆了个粗口:“卧槽!”

    另外嗷嗷待哺地三人吓了一跳。

    “怎么了,文斌。”其中一位女生小声问道,这会儿,小胖子就是她的男神。

    当然,只是这30分钟而已。

    听到“文斌”两个字,小胖子节操碎了一地,连鸡皮疙瘩都起了不少,在他眼里,参加信息竞赛的都是哥们,这么叫他…不能忍!

    “nn的棋盘,不就是正方形嘛,那特么不就是对称嘛,我……得赶紧改下程序,还能优化点。”小胖子喃喃道,他看了看时间,整个人抖了一抖,连忙开始写第二版的代码。

    其他三人在旁边给他鼓气……

    原来,一神带三坑是这种滋味。

    他一边写,一边在心里默默想道。

    ……

    “大概就是这样了。”面对孟梦这种学生,孟响飞快地就解释完了所有的程序,孟梦也迅速理解了其中的逻辑。

    在她看来,这些东西的逻辑还是很简单的。

    “那,哥哥,我想到一个方法,你看看能不能试一下。”孟梦琢磨了一会儿,有些不好意思地说道:“既然数组有下标,那么不用矩阵…不,二维数组,试试能不能用一维数组,下标来表示列,下标0就是第一列!这个哥哥能写嘛?”

    听到妹妹的提醒,孟响眼前一亮。

    ……

    “二维数组改成一维数组,数组下标表示行,数组元素表示列,这样能节省内存!”高三那名集训队的学长眼前一亮,思如泉涌。看了看时间,他立马开始写起了第二版的程序。

    “明白了,因为要找的是所有的解,那么,找到了一个结果后不能直接结束程序,程序应该在第一行无法找到放置皇后的位置时结束。而找到一个结果后,应该清除掉,然后在刚刚放皇后的下一列开始探测。”

    孟响嘴里念念叨叨,脑中飞速运转,手上书写的速度更是没有丝毫停顿和放缓,白纸上飞快出现一行行代码。有了孟梦的助力,孟响很快就写完大部分程序。这次,他的循环一下精简到了两个while,和刚刚8个for简直有着天差地别。

    这次,他仅仅用了5分钟,就写好了3个函数。

    哥哥果然和自己一样,也是很聪明的孩子!

    “我们一起来过一遍,我来说每个地方的用处,你来帮我把把关。”孟响大致扫了一眼程序。

    孟梦点了点头,一边听着哥哥解释程序的逻辑,一边开始判断逻辑的正确性以及是否能优化。

    “这个就是,8个循环嵌套,百分百能求出来,但是如果是n皇后……”孟响说着说着,声音小了下去。

    “哥哥!你怎么能用这么笨的方法。”孟梦看到哥哥写好的主体,有些哭笑不得。这种8个for,计算量完全就是指数形式的,属于所有方法中时间最慢,消耗资源最多的方法。

    孟响有些尴尬的摸了摸脑袋,时间太短了,他也没法一下想的那么全。

    在手写代码的速度上,他有着无与伦比的优势。别人都是受限于思考速度,必须一边停笔理顺思路一边写,而他则不被这个问题困扰。即便是妹妹,也绝对没有他这种快枪手的速度……

    “还有10分钟才结束,哥哥真厉害。”孟梦看着哥哥满满地写了一大版,既惊叹哥哥书写代码的速度,又惊叹哥哥非凡的思考速度和理解能力。

    “如果上一行的皇后也找不到位置,那么应该就继续往前回溯,直至前方某一行找到皇后的位置能移动,或者回到第一行!”孟响接话道,他思路一下子清晰了。“如果回到第一行,也无法找到可以放置皇后的位置,那就表示所有的解都已经找到。”

    “哥哥真聪明。”听到哥哥的话,孟梦的大眼睛眯成了月牙儿。她继续说道:“同时,如果一直不用回溯,找到最后一行放置皇后,就表示已经找到一个结果。”

    如果n不是定值时,他不知道要写几个for。

    如果n是10,他就是10个for循环……

    孟响一边点头,一边飞快的开始写主体函数。

    “是不是如果已经探测完所有的列都没有找到可以防止皇后的列,就可以回溯了?”孟响抓住一点思路,下意识问道,问的同时,手上的笔一直没停。

    “嗯!回溯之后,把上一行的皇后位置往后移一列——”

    “那…换一种,反正这个的n皇后版本我也不知道怎么改。”孟响在写8个for循环时,脑中已经有了一定雏型,翻过一页纸后,就继续开始写起了第二版。

    “先对每一行的每一列进行探测,看是否能放置皇后,如果可以,就在这一列放一个皇后,然后行数加一。然后继续探测下一行的皇后位置。”孟梦在旁边提醒道。

    孟响开始奋笔疾书。他感觉,如果用键盘,他写代码的速度只是一般,毕竟手速跟不上脑子。但是用笔,他仅仅用了3分钟,就撸出了第一个版本的主体函数。当然,这只是八皇后主体程序。

    八个for循环鼎立在前方,他有百分百的把握,只要写完,这个解法一定是正确的。

    只是他遇到了一个难题。

阅读我的妹妹是学霸最新章节 请关注完美小说网(www.umixs.info)



随机推荐:打脸是门技术活炼明大秦之万代帝王都市之最强仙道重生之追爱少女火影之超级副本

上一页返回目录下一页
推荐本书加入书签报告错误