999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

計算機算法概述

2014-04-29 00:00:00熊能
儷人·教師版 2014年8期

【摘要】本文在分析算法定義的基礎上,對常見的5種算法進行論述并總結各自算法的特點。

【關鍵詞】算法定義常見算法

隨著計算機技術的突飛猛進,算法逐漸成為了核心內容,不容忽視。算法更能體現計算機的精髓,計算機技術的根本,算法的設計有多種方案,不同的實現方案展現的結果不同,這提現了計算機技術的多姿多彩。對于計算機技術來說,算法分析與設計是至關重要的。在一個大型軟件系統的開發中,設計出有效的算法將起到決定性的作用。

1.定義

通俗的講,算法是解決問題的一種方法。也因此算法分析與設計成為計算技術的核心問題之一,也是計算機科學與技術專業本科及研究生的一門重要的專業基礎課。算法分析與設計是計算機軟件開發人員必修課,軟件的效率和穩定性取決于軟件中所采用的算法;對于一般程序員和計算機專業學生,學習算法設計與分析課程,可以開闊編程思路,編寫出優質程序。一個算法應該具有以下五個重要的特征:有窮性、確切性、輸入、輸出、可行性。

算法的復雜性是算法效率的度量,是評價算法優劣的重要依據。一個算法的復雜性的高低體現在運行該算法所需要的計算機資源的多少上面,所需的資源越多,我們就說該算法的復雜性越高;反之,所需的資源越低,則該算法的復雜性越低。計算機的資源,最重要的是時間和空間(即存儲器)資源。因而,算法的復雜性有時間復雜性和空間復雜性之分。不言而喻,對于任意給定的問題,設計出復雜性盡可能地的算法是我們在設計算法是追求的一個重要目標;另一方面,當給定的問題已有多種算法時,選擇其中復雜性最低者,是我們在選用算法適應遵循的一個重要準則。因此,算法的復雜性分析對算法的設計或選用有著重要的指導意義和實用價值。

但我認為這些都是算法應該具備的最基本的特征,如果沒了這些,我們又為什么花費心思學習它呢,所以這些并不是讓我們熱衷算法的資本。高效,才是所有程序員所向往的,而算法又恰恰能滿足人們對高效的要求。

2.常見的算法

2.1貪心算法

貪心算法是一種比較好的算法,所謂貪心算法指的是為了解決在不回溯的前提之下,找出整體最優秀或者接近最優解的這樣一種類型的問題而設計出來的算法。貪心算法的基本思想是找出整體當中每個小小局部的最優解,并且將所有的這些局部最優解合起來形成整體上的一個最優解。

2.2遞歸算法

直接或間接地調用自身的算法稱為遞歸算法。用函數自身給出定義的函數稱為遞歸函數。遞歸算法的實質,是把問題轉化為規模縮小了的同類問題的子問題。然后遞歸調用函數(或過程)來表示問題的解。遞歸算法的特點,遞歸算法是一種直接或者間接地調用自身的算法。在計算機編寫程序中,遞歸算法對解決一大類問題是十分有效的,它往往使算法的描述簡潔而且易于理解。

遞歸算法解決問題的特點:

(1)遞歸就是在過程或函數里調用自身。

(2)在使用遞歸策略時,必須有一個明確的遞歸結束條件,稱為遞歸出口。

(3)遞歸算法解題通常顯得很簡潔,但遞歸算法解題的運行效率較低。所以一般不提倡用遞歸算法設計程序。

(4)在遞歸調用的過程當中系統為每一層的返回點、局部量等開辟了棧來存儲。遞歸次數過多容易造成棧溢出等。所以一般不提倡用遞歸算法設計程序。

2.3分治法

分治法,在計算機科學中,分治法是一種很重要的算法。字面上的解釋是“分而治之”,就是把一個復雜的問題分成兩個或更多的相同或相似的子問題,再把子問題分成更小的子問題……直到最后子問題可以簡單的直接求解,原問題的解即子問題的解的合并。這個技巧是很多高效算法的基礎,如排序算法(快速排序,歸并排序),傅立葉變換(快速傅立葉變換),分治策略是,對于一個規模為n的問題,若該問題可以容易地解決(比如說規模n較小)則直接解決,否則將其分解為k個規模較小的子問題,這些子問題互相獨立且與原問題形式相同,遞歸地解這些子問題,然后將各子問題的解合并得到原問題的解。

2.4回溯法

回溯法(探索與回溯法)是一種選優搜索法,按選優條件向前搜索,以達到目標。但當探索到某一步時,發現原先選擇并不優或達不到目標,就退回一步重新選擇,這種走不通就退回再走的技術為回溯法,而滿足回溯條件的某個狀態的點稱為“回溯點”。

2.5 動態規劃

動態規劃算法通常用于求解具有某種最優性質的問題。在這類問題中,可能會有許多可行解。每一個解都對應于一個值,我們希望找到具有最優值的解。動態規劃算法與分治法類似,其基本思想也是將待求解問題分解成若干個子問題,先求解子問題,然后從這些子問題的解得到原問題的解。與分治法不同的是,適合于用動態規劃求解的問題,經分解得到子問題往往不是互相獨立的。若用分治法來解這類問題,則分解得到的子問題數目太多,有些子問題被重復計算了很多次。如果我們能夠保存已解決的子問題的答案,而在需要時再找出已求得的答案,這樣就可以避免大量的重復計算,節省時間。我們可以用一個表來記錄所有已解的子問題的答案。不管該子問題以后是否被用到,只要它被計算過,就將其結果填入表中。這就是動態規劃法的基本思路。具體的動態規劃算法多種多樣,但它們具有相同的填表格式。

3.總結

總結或對比分析,五種算法都各有其優缺點,判斷用何種算法,取決于具體問題的具體分析,看是否適用本身,能達到最優算法。動態規劃算法與分治算法相似。用于貪心算法的有活動安排問題,最優裝載問題,哈夫曼編碼問題,單源最短路徑問題。對于回溯法,通過約束找到滿足條件的所有解,特點為能進就進,不能進就退回來,與遞歸類似。分支法與回溯法類似,但解的目標是通過約束找到滿足條件的一個解,或找到在某種意義下的最優解。回溯法以深度優先的方式搜索解空間樹,而分支限界法則以廣度優先或以最小耗費優先的方式搜索解空間樹。

主站蜘蛛池模板: 激情六月丁香婷婷| 久久综合色视频| 国产成人亚洲综合a∨婷婷| 色首页AV在线| 97精品伊人久久大香线蕉| аv天堂最新中文在线| 国产免费久久精品99re丫丫一| 国产精品美女免费视频大全| 国产精品自在在线午夜| 成年看免费观看视频拍拍| 亚洲狼网站狼狼鲁亚洲下载| 欧美不卡视频在线观看| 伊人91视频| 91探花国产综合在线精品| 天天躁夜夜躁狠狠躁图片| 国产又色又爽又黄| 久久亚洲黄色视频| 欧美日韩精品在线播放| 国产精品极品美女自在线网站| 国产精品福利在线观看无码卡| 2021国产在线视频| 一本无码在线观看| 中国毛片网| 一本大道香蕉久中文在线播放| 久久国产毛片| 国产人人干| 91po国产在线精品免费观看| 欧美成一级| 欧美在线导航| 91小视频在线| 成人免费午间影院在线观看| 亚洲精品午夜无码电影网| 国产人成在线观看| 日韩人妻精品一区| 国产打屁股免费区网站| 69视频国产| 欧美性精品| 国产三级毛片| 久久6免费视频| 毛片免费高清免费| 中文毛片无遮挡播放免费| 欧美在线中文字幕| 欧美影院久久| 国产美女丝袜高潮| 日韩一区二区三免费高清| 特级毛片免费视频| 亚洲精品第五页| 色亚洲激情综合精品无码视频| 国产香蕉97碰碰视频VA碰碰看 | 国产草草影院18成年视频| 亚洲自拍另类| 色综合激情网| 国产最爽的乱婬视频国语对白| 国产成+人+综合+亚洲欧美| 色AV色 综合网站| 国产在线拍偷自揄观看视频网站| 久久永久免费人妻精品| 亚洲美女高潮久久久久久久| 亚洲天堂视频在线观看| 韩日无码在线不卡| 找国产毛片看| h视频在线观看网站| 亚洲va欧美va国产综合下载| 蝌蚪国产精品视频第一页| 亚洲伦理一区二区| a级毛片免费网站| 亚洲精品免费网站| 亚洲精品波多野结衣| 成人午夜网址| 毛片大全免费观看| 中文字幕首页系列人妻| 国产午夜一级毛片| 麻豆国产在线观看一区二区| 国产麻豆精品手机在线观看| aaa国产一级毛片| 国产午夜福利在线小视频| 最新国产精品鲁鲁免费视频| 99re精彩视频| 另类重口100页在线播放| 亚洲一区网站| 精品人妻一区二区三区蜜桃AⅤ| 无码精品福利一区二区三区|