大學計算機-計算思維視角 課件 4.2 典型算法舉例_第1頁
大學計算機-計算思維視角 課件 4.2 典型算法舉例_第2頁
大學計算機-計算思維視角 課件 4.2 典型算法舉例_第3頁
大學計算機-計算思維視角 課件 4.2 典型算法舉例_第4頁
大學計算機-計算思維視角 課件 4.2 典型算法舉例_第5頁
已閱讀5頁,還剩8頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

典型算法舉例算法與程序設計章名:節名:窮舉法遞歸123排序為了提高計算機的工作效率,人們通過長時間的研究開發,總結了一些典型算法,在應用中非常普遍。窮舉水仙花數破譯密碼百元買百雞遞歸漢諾塔求階乘排序插入排序冒泡排序選擇排序快速排序堆排序……典型算法舉例窮舉法(又稱“枚舉法”)基本思想是:按問題本身的性質,通過多重循環,一一列舉各種可能的情況,并判斷哪一種可能是符合要求的解(不能遺漏,也不能重復),并在逐一列舉的過程中,檢驗每個可能的解是否是問題的真正解,若是,我們采用這個解,否則拋棄它。

窮舉法例:雞翁一,值錢五、雞母一,值錢三、雞雛三,值錢一,百錢買百雞,問雞翁、雞母、雞雛各幾個?分析:設雞翁、雞母、雞雛的數量分別為cocks、hens、chicks,則可得如下模型:5*cocks+3*hens+chicks/3.0=100cocks+hens+chicks=100窮舉法舉例-百元買百雞百雞問題算法描述:公雞的數目從0遍歷到20母雞的數目從0遍歷到33小雞的數目從0遍歷到100如果5*cocks+3*hens+chicks/3.0=100并且cocks+hens+chicks=100則輸出公雞的數目、母雞的數目、小雞的數目。窮舉法舉例-百元買百雞用自身的結構來描述自身,稱為遞歸。是利用問題本身所具有的某種遞推關系求解問題的一種方法。思考:什么時候需要采用遞歸方法?問題分解遞歸遞歸舉例——階乘問題遞歸舉例——階乘問題遞歸過程與遞歸工作棧遞歸過程在實現時,需要自己調用自己。層層向下遞歸,返回次序正好相反。排序含義:按數據隊列的某個關鍵字,重新按一定規律排列其隊列(升序/降序)。實現排序的方法:選擇法冒泡法(氣泡上浮法)插入法……排序在一組數中,自前而后對相鄰的兩個數依次進行比較和調整,讓需要的數往后冒,不需要的數往下沉。關鍵:每當相鄰的兩數比較,發現它們的排序與要求相反時,就將它們互換。算法名字由來:越大的元素會經過交換慢慢“浮”到數列的頂端。排序舉例-冒泡排序比較、判斷--交換--不交換①第1個數與第2個數比較,冒出一個大數放到第2個位置;當前數與它后面的數比較,再冒出一個大數放到后面位置;②依次進行,從1~9,直到產生了第1個大數;③重復①②步,從1~8;④依次類推,直至找到第9個高分排在第2位。排序舉例-冒泡排序窮舉法利用計算機高速運算的優點,列舉所有可

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論