還不快點登入,你們這些看小說都不登入就離開的。
登入可以幫助你收藏跟紀錄愛書,大叔的心血要多來支持。
不然管理員會難過。
《我的妹妹是學霸》第110章 優化
  孟響開始奮筆疾書。他感覺,如果用鍵盤,他寫代碼的速度只是一般,畢竟手速跟不上腦子。但是用筆,他僅僅用了3分鍾,就擼出了第一個版本的主體函數。當然,這只是八皇后主體程序。

  八個for循環鼎立在前方,他有百分百的把握,只要寫完,這個解法一定是正確的。

  只是他遇到了一個難題。

  如果N不是定值時,他不知道要寫幾個for。

  如果N是10,他就是10個for循環……

  “這個就是,8個循環嵌套,百分百能求出來,但是如果是N皇后……”孟響說著說著,聲音小了下去。

  “哥哥!你怎麽能用這麽笨的方法。”孟夢看到哥哥寫好的主體,有些哭笑不得。這種8個for,計算量完全就是指數形式的,屬於所有方法中時間最慢,消耗資源最多的方法。

  孟響有些尷尬的摸了摸腦袋,時間太短了,他也沒法一下想的那麽全。

  “那…換一種,反正這個的N皇后版本我也不知道怎麽改。”孟響在寫8個for循環時,腦中已經有了一定雛型,翻過一頁紙後,就繼續開始寫起了第二版。

  “先對每一行的每一列進行探測,看是否能放置皇后,如果可以,就在這一列放一個皇后,然後行數加一。然後繼續探測下一行的皇后位置。”孟夢在旁邊提醒道。

  孟響一邊點頭,一邊飛快的開始寫主體函數。

  “是不是如果已經探測完所有的列都沒有找到可以防止皇后的列,就可以回溯了?”孟響抓住一點思路,下意識問道,問的同時,手上的筆一直沒停。

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

  “如果上一行的皇后也找不到位置,那麽應該就繼續往前回溯,直至前方某一行找到皇后的位置能移動,或者回到第一行!”孟響接話道,他思路一下子清晰了。“如果回到第一行,也無法找到可以放置皇后的位置,那就表示所有的解都已經找到。”

  “哥哥真聰明。”聽到哥哥的話,孟夢的大眼睛眯成了月牙兒。她繼續說道:“同時,如果一直不用回溯,找到最後一行放置皇后,就表示已經找到一個結果。”

  “明白了,因為要找的是所有的解,那麽,找到了一個結果後不能直接結束程序,程序應該在第一行無法找到放置皇后的位置時結束。而找到一個結果後,應該清除掉,然後在剛剛放皇后的下一列開始探測。”

  孟響嘴裡念念叨叨,腦中飛速運轉,手上書寫的速度更是沒有絲毫停頓和放緩,白紙上飛快出現一行行代碼。有了孟夢的助力,孟響很快就寫完大部分程序。這次,他的循環一下精簡到了兩個while,和剛剛8個for簡直有著天差地別。

  這次,他僅僅用了5分鍾,就寫好了3個函數。

  在手寫代碼的速度上,他有著無與倫比的優勢。別人都是受限於思考速度,必須一邊停筆理順思路一邊寫,而他則不被這個問題困擾。即便是妹妹,也絕對沒有他這種快槍手的速度……

  “還有10分鍾才結束,哥哥真厲害。”孟夢看著哥哥滿滿地寫了一大版,既驚歎哥哥書寫代碼的速度,又驚歎哥哥非凡的思考速度和理解能力。

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

  “我們一起來過一遍,我來說每個地方的用處,你來幫我把把關。”孟響大致掃了一眼程序。

  孟夢點了點頭,

一邊聽著哥哥解釋程序的邏輯,一邊開始判斷邏輯的正確性以及是否能優化。  ……

  “二維數組改成一維數組,數組下標表示行,數組元素表示列,這樣能節省內存!”高三那名集訓隊的學長眼前一亮,思如泉湧。看了看時間,他立馬開始寫起了第二版的程序。

  ……

  “遞歸算法的話,先天弱了一些,那麽……”高二“漂亮”男生努力觀想自己女裝的畫面,只有這樣,他才能提高一點自己的思考能力和思維活躍度。

  突然,他腦中蹦出了一個題目。

  猴子選大王!

  “需要有個數據結構能夠動態的刪除掉已經有的值!”他喃喃自語道,顯得神神叨叨的。

  “你怎麽了?”女生看他一臉茫然,奇怪的問道。

  “我怎麽了……”說到這,男生眼前一亮,猛地拿起一支筆來:“遞歸也是可以優化的,我們應該用鏈表試試。”說道這,他立馬在草稿紙上開始畫起了模型圖。

  ……

  “遞歸方法寫出來了,有什麽辦法能繼續優化嗎?”小胖子叼著筆,皺著眉仔細思索,他完全是一個人在戰鬥。而其他三人眼巴巴地看著他這位NOIP拿580分的大高手。

  這三個家夥是指望不上了, 就算他們能理解程序,也不能立馬給自己建議。

  “N*N的棋盤……”小胖子的思維以不符合他體型慣性的速度開始旋轉。

  那麽……

  想到這,小胖子直接爆了個粗口:“臥槽!”

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

  “怎麽了,文斌。”其中一位女生小聲問道,這會兒,小胖子就是她的男神。

  當然,只是這30分鍾而已。

  聽到“文斌”兩個字,小胖子節操碎了一地,連雞皮疙瘩都起了不少,在他眼裡,參加信息競賽的都是哥們,這麽叫他…不能忍!

  “N*N的棋盤,不就是正方形嘛,那特麽不就是對稱嘛,我……得趕緊改下程序,還能優化點。”小胖子喃喃道,他看了看時間,整個人抖了一抖,連忙開始寫第二版的代碼。

  其他三人在旁邊給他鼓氣……

  原來,一神帶三坑是這種滋味。

  他一邊寫,一邊在心裡默默想道。

  ……

  “大概就是這樣了。”面對孟夢這種學生,孟響飛快地就解釋完了所有的程序,孟夢也迅速理解了其中的邏輯。

  在她看來,這些東西的邏輯還是很簡單的。

  “那,哥哥,我想到一個方法,你看看能不能試一下。”孟夢琢磨了一會兒,有些不好意思地說道:“既然數組有下標,那麽不用矩陣…不,二維數組,試試能不能用一維數組,下標來表示列,下標0就是第一列!這個哥哥能寫嘛?”

  聽到妹妹的提醒,孟響眼前一亮。
鍵盤左右鍵 ← → 可以切換章節
章節問題回報:
翻譯有問題
章節內容不符
章節內容空白
章節內容殘缺
上下章節連動錯誤
小說很久沒更新了
章節顯示『本章節內容更新中』
其他訊息