1. 程式人生 > >演算法 第四章作業

演算法 第四章作業

1.你對貪心演算法的理解

     所謂貪心演算法是指,在對問題求解時,總是做出在當前看來是最好的選擇。而且貪心演算法比動態規劃演算法更加簡單,更加直接而且解題效率更高。即使貪心演算法不能得到整體最優解,但其結果卻是最優解的很好的近似解。      貪心演算法沒有固定的演算法框架,演算法設計的關鍵是貪心策略的選擇。必須注意的是,貪心演算法不是對所有問題都能得到整體最優解,選擇的貪心策略在某個狀態以後的過程不會影響以前的狀態,只與當前狀態有關。

2.請說明汽車加油問題的貪心選擇性質

for
(int t =0; t<=j;t++) { sum=sum+a[t]; if(i-sum<=a[t+1]&&i>=a[t]) { sum=0; count++; } if(i<a[t]) flag=1; }

汽車行駛過程中,應走到自己能走到並且離自己最遠的那個加油站,在那個加油站加油後再按照同樣的方法貪心


先檢測各加油站之間的距離,若發現其中有一個距離大於汽車加滿油能跑的距離,則輸出no solution
否則,對加油站間的距離進行逐個掃描,儘量選擇往遠處走,不能走了就讓count++,最終統計出來的count便是最少的加油站數

 

3.請說明在本章學習過程中遇到的問題及結對程式設計的情況

本章學習的貪心演算法更加貼近我們的日常生活使用,所以學習起來也比較的容易理解,總體來說沒有遇到什麼特別大的問題,且在結對程式設計時能一起分析題目提出解決辦法,總體來說還是比較順利的