2023年9月24日 總結

2021-07-23 03:10:55 字數 871 閱讀 9263

9月23日

因為已經很長時間沒有做過廣搜的題目,所以對廣搜變得生疏。所以這兩天

做了幾道廣搜的經典題目,並做了延伸,下面是心得和體會。

理解廣搜。

「寬度優先搜尋演算法(又稱廣度優先搜尋)是最簡便的圖的搜尋演算法之一,

這一演算法也是很多重要的圖的演算法的原型。dijkstra單源最短路徑演算法和prim最

小生成樹演算法都採用了和寬度優先搜尋類似的思想。其別名又叫bfs,屬於一種

盲目搜尋法,目的是系統地展開並檢查圖中的所有節點,以找尋結果。換句話說

,它並不考慮結果的可能位置,徹底地搜尋整張圖,直到找到結果為止。」

這是廣搜的定義,在我看來,廣搜與深搜的區別就在於其遍歷的順序,它的
特點在於因為其遍歷的順序的特殊性,當其搜尋到目標狀態時,所經過的步數便

是最短步數,所以廣搜一般適用於求最短步數的問題最為適用。而且因為廣搜的

遍歷順序的特殊性,導致其在圖的問題上有很大優勢。同時,廣搜還關係到一種

資料結構,佇列,所以還需更加深入的思考。

1.八數碼難題

這道題是我這兩天主要做的一道題。題目很好理解,也很經典。做法有很多

,下面是我的思路。

因為要儲存每個狀態,而且每個狀態是乙個9位數,所以可以將其一位狀態

儲存在陣列中,相當於乙個9位數。然後就是通過bfs進行搜尋,注意交換的條件

,並將每個狀態儲存下來,當得到乙個新的狀態時,判重,如果沒有重複那麼加

入佇列,直到搜尋到目標狀態。並且用乙個陣列記錄每乙個狀態所需要的步數。

但這只是暴力演算法,當資料過大時會超時。所以還有很多種解法。比如a*,

雜湊判重,set,這是我下一步所要學習的方向。

2023年5月24日 2023年5月24日

今天是第六年.我可能要感謝那天的自己吧,窗外是熙攘的歡聲笑語,我吃完了晚飯趁著太遠還沒下山,捧著我那本 去年到今年這一年,先是度過了找工作的困擾.之後憤然離開布斯來到了北京.當時加入一家不是做遊戲的公司,我是很抗拒的.畢竟是工作後第一次離開遊戲圈,加入家具圈.當時的考慮就是一是投了那麼多簡歷,那個於...

2023年9月總結

一 工作 正式開始承擔西寧的小組長的職責,除了測試任務,也要從專案的整體方向來把控進度,8月份的工作重心依舊在西寧和貴州這兩個專案。乙個月的時間裡,西寧工作量佔70 貴州25 青海5 本月情況 西寧 月初v0.8版本的測試已進入尾聲,但是因為環境的問題,所以原定 測試環境ok後才發布到生產 的計畫,...

2023年11月24日學習總結 位運算

宣告 本文 位運算是指按二進位制進行的運算。在系統軟體中,常常需要處理二進位制位的問題。c語言提供了6個位操作 運算子。這些運算子只能用於整型運算元,即只能用於帶符號或無符號的char,short,int與long型別。c語言提供的位運算子列表 運算子 含義 描述 按位與 如果兩個相應的二進位制位都...