SDAU 搜尋專題 總結

2021-07-11 02:59:52 字數 857 閱讀 1528

這個專題主要有4個內容。

1:二分法。

找到最大值和最小值,取他們的中點mid。判斷mid這個點的值,從而改變左端點或者右端點。一直重複此過程。

2:3分法。

和二分法類似,找到左端點和右端點,取中點mid,然後再根據題意,取mid與右端點或者左端點的中點midmid。判斷mid這個點的值,從而改變左端點或者右端點。一直重複此過程。

3:bfs

廣度優先搜尋。

定義乙個優先佇列(佇列)。將合適的情況放入佇列中,然後將一種情況讀出,分析這個情況可能出現的子情況,若子情況符合題意,將放到佇列中。當隊列為空的時候,所有情況就已經列舉出來了。

這個有固定的模板,做起來題都大同小異。

還是挺簡單的。

深度優先搜尋。

基本思想:從初始狀態,利用規則生成搜尋樹下一層任乙個結點,檢查是否出現目標狀態,若未出現,以此狀態利用規則生成再下一層任乙個結點,再檢查,重複過程一直到葉節點(即不能再生成新狀態節點),當它仍不是目標狀態時,回溯到上一層結果,取另一可能擴充套件搜尋的分支。採用相同辦法一直進行下去,直到找到目標狀態為止。

這個一般都要用到函式的遞迴呼叫,先對一種情況分析到底,判斷是不是符合題意,不符合的話就返回上一級。

我覺得我函式的遞迴掌握的並不是太好,有些題有思路,但自己就是寫不出來。水平還不夠。慢慢提高吧~

(ps. 這只是我現在對搜尋的理解,或許隨著水平的提高,會發現現在寫的部落格特別膚淺,就像我上面說的,bfs只是乙個模板,說不定以後會發現這個說法太膚淺了,但學習總是要有乙個過程的對吧(●』◡』●))

SDAU 搜尋專題 08 猜數字

1 問題描述 problem description a有1數m,b來猜.b每猜一次,a就說 太大 太小 或 對了 問b猜n次可以猜到的最大數。input 第1行是整數t,表示有t組資料,下面有t行 每行乙個整數n 1 n 30 output 猜n次可以猜到的最大數 sample input 21 ...

SDAU 搜尋專題 10 Catch him

1 問題描述 problem description 在美式足球中,四分衛負責指揮整隻球隊的進攻戰術和跑位,以及給接球員傳球的任務。四分衛是乙隻球隊進攻組最重要的球員,而且一般身體都相對比較弱小,所以通常球隊會安排5 7名大漢來保護他,其中站在四分衛前方 排成一線的5名球員稱為進攻鋒線,他們通常都是...

SDAU 搜尋專題 17 非常可樂

1 問題描述 problem description 大家一定覺的運動以後喝可樂是一件很愜意的事情,但是seeyou卻不這麼認為。因為每次當seeyou買了可樂以後,阿牛就要求和seeyou一起分享這一瓶可樂,而且一定要喝的和seeyou一樣多。但seeyou的手中只有兩個杯子,它們的容量分別是n ...