最近學校開設了演算法課,大一的時候都沒有好好學,現在惡補一下。會把一些比較好玩的題寫上來分享,希望大家有更好的解法可以告訴我。
1.蠻力法求解問題:
猴子到森林裡採香蕉,森林距離家裡100公尺,猴子的揹包最多可以放下100個香蕉。但是,貪吃的猴子每行動1公尺需要吃1個香蕉,假設森林裡香蕉足夠多的情況下,問猴子最多可以攜帶多少香蕉回到家裡。(試通過蠻力法計算,給出計算過程及結果即可)
分析:森林 x x ………….. x x 家
100 100 100 ………….. 100-x 100-2x
假設猴子每走x公尺就把香蕉放下,再回去前乙個點拿香蕉,保證每次重新出發時包裡有100個香蕉,除了在離家x公尺的時候有100個香蕉。最後到家有100-x個香蕉
100/x要為整數,則x可取,窮舉法求最優解
x可獲得香蕉
1
99298
496595
1090
2575
5050
2.有n個外觀完整的球和乙個不帶砝碼的天平,n個球中有乙個球的質量比其它的都要輕,其它(n-1)個球質量相同。問需要至少多少次稱量,才能保證找出那個輕的球。
answer:
設m為一共要稱量的次數,則有
3^(m-1)則log₃n<=m
演算法分析(1)Fibonacci Number
註解 斐波納契數 描述 fibonacci soriginal question 1.給定一對兔子,乙隻公的,乙隻母的。2.兔子在乙個月大時,可以進行交配,母兔在下乙個月時,可以生出另一對兔子。3.假設我們的兔子永不死亡。4.假定每個母兔個月總是再生出乙個兔子 乙隻是公的,乙隻是母的 問題 一年以後...
演算法設計與分析 1
實驗題目 生成兩個隨機的圖,乙個有向圖乙個無向圖。有向圖兩千條邊左右,無向圖一千條邊左右,邊的數量是大概的。100個頂點。要求能算出每個頂點的度。要求每次圖是隨機生成的,並且有良好的結構。今後的實驗都基於這個圖結構。任意語言和環境。建議鍊錶描述。然後基於這個圖實現乙個廣度優先搜尋。參考文獻 c 中的...
《演算法》學習筆記 演算法分析(1)
用於研究理解演算法的思想和方法 任務 科學家理解自然世界 策略 細緻地觀察真實世界的特點,通常還要有精確的測量 根據觀察結果提出假設模型 根據模型來 未來的事件 繼續觀察並核實 的準確性 如此反覆知道確認 和觀察一致 分類和類別 程式的執行時間。精確 近似 原理與通則 準確測量程式的執行時間是困難的...