欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      算法流程總結(jié)

      時間:2019-05-15 13:44:51下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《算法流程總結(jié)》,但愿對你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《算法流程總結(jié)》。

      第一篇:算法流程總結(jié)

      前期處理:

      1.Mallat 小波的高頻增強(qiáng),解決低對比度圖像邊緣檢測困難。

      2.色彩空間處理,RGB->灰度,或提取H分量(不受光照強(qiáng)度影響)

      電線識別:

      方案一:Canny邊緣檢測+直線檢測 方案二:Ostu閾值分割+直線檢測

      混合高斯模型建立背景模型,進(jìn)行前景背景分割 HOG+SVM 樹木超高(svm需要正負(fù)樣本訓(xùn)練)

      檢索線狀目標(biāo)識別

      基于方向約束線狀目標(biāo)強(qiáng)化

      第二篇:算法總結(jié)

      算法分塊總結(jié)

      為備戰(zhàn)2005年11月4日成都一戰(zhàn),特將已經(jīng)做過的題目按算法分塊做一個全面詳細(xì)的總結(jié),主要突出算法思路,盡量選取有代表性的題目,盡量做到算法的全面性,不漏任何ACM可能涉及的算法思路。算法設(shè)計(jì)中,時刻都要牢記要減少冗余,要以簡潔高效為追求目標(biāo)。另外當(dāng)遇到陌生的問題時,要想方設(shè)法進(jìn)行模型簡化,轉(zhuǎn)化,轉(zhuǎn)化成我們熟悉的東西。

      圖論模型的應(yīng)用

      分層圖思想的應(yīng)用:

      用此思想可以建立起更簡潔、嚴(yán)謹(jǐn)?shù)臄?shù)學(xué)模型,進(jìn)而很容易得到有效算法。重要的是,新建立的圖有一些很好的性質(zhì): 由于層是由復(fù)制得到的,所以所有層都非常相似,以至于我們只要在邏輯上分出層的概念即可,根本不用在程序中進(jìn)行新層的存儲,甚至幾乎不需要花時間去處理。由于層之間的相似性,很多計(jì)算結(jié)果都是相同的。所以我們只需對這些計(jì)算進(jìn)行一次,把結(jié)果存起來,而不需要反復(fù)計(jì)算。如此看來,雖然看起來圖變大了,但實(shí)際上問題的規(guī)模并沒有變大。層之間是拓?fù)溆行虻?。這也就意味著在層之間可以很容易實(shí)現(xiàn)遞推等處理,為發(fā)現(xiàn)有效算法打下了良好的基礎(chǔ)。

      這些特點(diǎn)說明這個分層圖思想還是很有潛力的,尤其是各層有很多公共計(jì)算結(jié)果這一點(diǎn),有可能大大消除冗余計(jì)算,進(jìn)而降低算法時間復(fù)雜度。二分圖最大及完備匹配的應(yīng)用: ZOJ place the robots: 二分圖最優(yōu)匹配的應(yīng)用:

      最大網(wǎng)絡(luò)流算法的應(yīng)用:典型應(yīng)用就求圖的最小割。最小費(fèi)用最大流的應(yīng)用:

      容量有上下界的最大流的應(yīng)用:

      歐拉路以及歐拉回路的應(yīng)用:主要利用求歐拉路的套圈算法。最小生成樹:

      求最小生成樹,比較常用的算法有Prim算法和Kruskal算法。前者借助Fibonacci堆可以使復(fù)雜度降為O(Vlog2V+E),后者一般應(yīng)用于稀疏圖,其時間復(fù)雜度為O(Elog2V)。最小K度限制生成樹:

      抽象成數(shù)學(xué)模型就是:

      設(shè)G=(V,E,ω)是連通的無向圖,v0 ∈V是特別指定的一個頂點(diǎn),k為給定的一個正整數(shù)。首先考慮邊界情況。先求出問題有解時k 的最小值:把v0點(diǎn)從圖中刪去后,圖中可能會出 現(xiàn)m 個連通分量,而這m 個連通分量必須通過v0來連接,所以,在圖G 的所有生成樹中 dT(v0)≥m。也就是說,當(dāng)k

      首先,將 v0和與之關(guān)聯(lián)的邊分別從圖中刪去,此時的圖可能不再連通,對各個連通分量,分別求最小生成樹。接著,對于每個連通分量V’,求一點(diǎn)v1,v1∈V’,且ω(v0,v1)=min{ω(v0,v’)|v’∈V’},則該連通分量通過邊(v1,v0)與v0相連。于是,我們就得到了一個m度限制生成樹,不難證明,這就是最小m度限制生成樹。這一步的時間復(fù)雜度為O(Vlog2V+E)我們所求的樹是無根樹,為了解題的簡便,把該樹轉(zhuǎn)化成以v0為根的有根樹。

      假設(shè)已經(jīng)得到了最小p度限制生成樹,如何求最小p+1 度限制生成樹呢?在原先的樹中加入一條與v0相關(guān)聯(lián)的邊后,必定形成一個環(huán)。若想得到一棵p+1 度限制生成樹,需刪去一條在環(huán)上的且與v0無關(guān)聯(lián)的邊。刪去的邊的權(quán)值越大,則所得到的生成樹的權(quán)值和就越小。動態(tài)規(guī)劃就有了用武之地。設(shè)Best(v)為路徑v0—v上與v0無關(guān)聯(lián)且權(quán)值最大的邊。定義father(v)為v的父結(jié)點(diǎn),動態(tài)轉(zhuǎn)移方程:Best(v)=max(Best(father(v)),(father(v),v)),邊界條件為Best[v0]=-∞,Best[v’]=-∞|(v0,v’)∈E(T)。

      狀態(tài)共|V|個,狀態(tài)轉(zhuǎn)移的時間復(fù)雜度O(1),所以總的時間復(fù)雜度為O(V)。故由最小p度限制生成樹得到最小p+1度限制生成樹的時間復(fù)雜度為O(V)。1 先求出最小m度限制生成樹;

      2由最小m度限制生成樹得到最小m+1度限制生成樹;3 當(dāng)dT(v0)=k時停止。

      加邊和去邊過程,利用動態(tài)規(guī)劃優(yōu)化特別值得注意。

      次小生成樹:

      加邊和去邊很值得注意。

      每加入一條不在樹上的邊,總能形成一個環(huán),只有刪去環(huán)上的一條邊,才能保證交換后仍然是生成樹,而刪去邊的權(quán)值越大,新得到的生成樹的權(quán)值和越小。具體做法:

      首先做一步預(yù)處理,求出樹上每兩個結(jié)點(diǎn)之間的路徑上的權(quán)值最大的邊,然后,枚舉圖中不在樹上的邊,有了剛才的預(yù)處理,我們就可以用O(1)的時間得到形成的環(huán)上的權(quán)值最大的邊。如何預(yù)處理呢?因?yàn)檫@是一棵樹,所以并不需要什么高深的算法,只要簡單的BFS 即可。

      最短路徑的應(yīng)用:

      Dijkstra 算法應(yīng)用: Folyed 算法應(yīng)用:

      Bellman-Ford 算法的應(yīng)用:

      差分約束系統(tǒng)的應(yīng)用:

      搜索算法

      搜索對象和搜索順序的選取最為重要。一些麻煩題,要注意利用數(shù)據(jù)有序化,要找一個較優(yōu)的搜索出發(fā)點(diǎn),凡是能用高效算法的地方盡量爭取用高效算法?;镜倪f歸回溯深搜,記憶化搜索,注意剪枝: 廣搜(BFS)的應(yīng)用: 枚舉思想的應(yīng)用: ZOJ 1252 island of logic A*算法的應(yīng)用:

      IDA*算法的應(yīng)用,以及跳躍式搜索探索: 限深搜索,限次: 迭代加深搜索:

      部分搜索+高效算法(比如二分匹配,動態(tài)規(guī)劃): ZOJ milk bottle data: 剪枝優(yōu)化探索:

      可行性剪枝,最優(yōu)性剪枝,調(diào)整搜索順序是常用的優(yōu)化手段。

      動態(tài)規(guī)劃

      動態(tài)規(guī)劃最重要的就是狀態(tài)的選取,以及狀態(tài)轉(zhuǎn)移方程,另外還要考慮高效的預(yù)處理(以便更好更快的實(shí)現(xiàn)狀態(tài)轉(zhuǎn)移)。最常用的思想就是用枚舉最后一次操作。

      狀態(tài)壓縮DP,又叫帶集合的動態(tài)規(guī)劃:題目特點(diǎn)是有一維的維數(shù)特別小。類似TSP問題的DP:

      狀態(tài)劃分比較困難的題目: 樹形DP:

      四邊形不等式的應(yīng)用探索:四邊形不等式通常應(yīng)用是把O(n^3)復(fù)雜度O(n^2)

      高檔數(shù)據(jù)結(jié)構(gòu)的應(yīng)用

      并查集的應(yīng)用:

      巧用并查集中的路徑壓縮思想: 堆的利用: 線段樹的應(yīng)用:

      總結(jié)用線段樹解題的方法

      根據(jù)題目要求將一個區(qū)間建成線段樹,一般的題目都需要對坐標(biāo)離散。建樹時,不要拘泥于線段樹這個名字而只將線段建樹,只要是表示區(qū)間,而且區(qū)間是由單位元素(可以是一個點(diǎn)、線段、或數(shù)組中一個值)組成的,都可以建線段樹;不要拘泥于一維,根據(jù)題目要求可以建立面積樹、體積樹等等

      樹的每個節(jié)點(diǎn)根據(jù)題目所需,設(shè)置變量記錄要求的值

      用樹形結(jié)構(gòu)來維護(hù)這些變量:如果是求總數(shù),則是左右兒子總數(shù)之和加上本節(jié)點(diǎn)的總數(shù),如果要求最值,則是左右兒子的最大值再聯(lián)系本區(qū)間。利用每次插入、刪除時,都只對O(logL)個節(jié)點(diǎn)修改這個特點(diǎn),在O(logL)的時間內(nèi)維護(hù)修改后相關(guān)節(jié)點(diǎn)的變量。

      在非規(guī)則刪除操作和大規(guī)模修改數(shù)據(jù)操作中,要靈活的運(yùn)用子樹的收縮與葉子節(jié)點(diǎn)的釋放,避免重復(fù)操作。

      Trie的應(yīng)用:;

      Trie圖的應(yīng)用探索: 后綴數(shù)組的應(yīng)用研究:

      在字符串處理當(dāng)中,后綴樹和后綴數(shù)組都是非常有力的工具,其中后綴樹了解得比較多,關(guān)于后綴數(shù)組則很少見于國內(nèi)的資料。其實(shí)后綴數(shù)組是后綴樹的一個非常精巧的替代品,它比后綴樹容易編程實(shí)現(xiàn),能夠?qū)崿F(xiàn)后綴樹的很多功能而時間復(fù)雜度也不太遜色,并且,它比后綴樹所占用的空間小很多。

      樹狀數(shù)組的應(yīng)用探索:;

      計(jì)算幾何

      掌握基本算法的實(shí)現(xiàn)。凸包的應(yīng)用:;

      半平面交算法的應(yīng)用:;

      幾何+模擬類題目:幾何設(shè)計(jì)好算法,模擬控制好精度。掃描法:;

      轉(zhuǎn)化法:ZOJ 1606 將求所圍的格子數(shù),巧妙的轉(zhuǎn)化為求多邊形的面積。離散法思想的應(yīng)用:;

      經(jīng)典算法:找平面上的最近點(diǎn)對。

      貪心

      矩形切割

      二分思想應(yīng)用

      活用經(jīng)典算法

      利用歸并排序算法思想求數(shù)列的逆序?qū)?shù):

      利用快速排序算法思想,查詢N個數(shù)中的第K小數(shù):

      博弈問題

      博弈類題目通常用三類解法:第一類推結(jié)論; 第二類遞推,找N位置,P位置; 第三類SG函數(shù)的應(yīng)用。第四類極大極小法,甚至配合上αβ剪枝。最難掌握的就是第四類極大極小法。

      第一類:推結(jié)論。典型題目: 第二類:遞推。典型題目:

      比如有向無環(huán)圖類型的博弈。在一個有向圖中,我們把選手I有必勝策略的初始位置稱為N位置(Next player winning),其余的位置被稱為P位置(Previous player winning)。很顯然,P位置和N位置應(yīng)該具有如下性質(zhì):

      1. 所有的結(jié)束位置都是P位置。

      2. 對于每一個N位置,至少存在一種移動可以將棋子移動到一個P位置。3. 對于每一個P位置,它的每一種移動都會將棋子移到一個N位置。

      這樣,獲勝的策略就是每次都把棋子移動到一個P位置,因?yàn)樵谝粋€P位置,你的對手只能將棋子移動到一個N位置,然后你總有一種方法再把棋子移動到一個P位置。一直這樣移動,最后你一定會將棋子移動到一個結(jié)束位置(結(jié)束位置是P位置),這時你的對手將無法在移動棋子,你便贏得了勝利。

      與此同時,得到了這些性質(zhì),我們便很容易通過倒退的方法求出哪些位置是P位置,哪些位置是N位置,具體的算法為:

      1. 將所有的結(jié)束位置標(biāo)為P位置。

      2. 將所有能一步到達(dá)P位置的點(diǎn)標(biāo)為N位置。

      3. 找出所有只能到達(dá)N位置的點(diǎn),將它們標(biāo)為P位置。

      4. 如果在第三步中沒有找到新的被標(biāo)為P位置的點(diǎn),則算法結(jié)束,否則轉(zhuǎn)到步驟2。這樣我們便確定了所有位置,對于題目給出的任一初始位置,我們都能夠很快確定出是選手I獲勝還是選手II獲勝了。第三類:SG函數(shù)的應(yīng)用。

      關(guān)于SG函數(shù)的基本知識:對于一個有向圖(X, F)來說,SG函數(shù)g是一個在X上的函數(shù),并且它返回一個非負(fù)整數(shù)值,具體定義為

      g(x)?min{n?0,n?g(y)對于所有y?F(x)}

      1. 對于所有的結(jié)束位置x,g(x)= 0。

      2. 對于每一個g(x)≠ 0的位置x,在它可以一步到達(dá)的位置中至少存在一個位置y使得g(y)= 0。

      3.對于每一個g(x)= 0的位置x,所有可以由它一步到達(dá)的位置y都有g(shù)(y)≠ 0。

      定理 如果g(xi)是第i個有向圖的SG函數(shù)值,i = 1,…,n,那么在由這n個有向圖組成的狀態(tài)的SG函數(shù)值g(x1,…xn)= g(x1)xor g(x2)xor … xor g(xn)

      第四類:極大極小法。

      典型題目:ZOJ 1155:Triangle War

      ZOJ 1993:A Number Game

      矩陣妙用

      矩陣最基本的妙用就是利用快速乘法O(logn)來求解遞推關(guān)系(最基本的就是求Fibonacci數(shù)列的某項(xiàng))和各種圖形變換,以及利用高斯消元法變成階梯矩陣。典型題目:

      數(shù)學(xué)模型舉例

      向量思想的應(yīng)用:

      UVA 10089:注意降維和向量的規(guī)范化 ;

      利用復(fù)數(shù)思想進(jìn)行向量旋轉(zhuǎn)。

      UVA 10253:

      遞推

      數(shù)代集合

      數(shù)代集合的思想:

      ACM ICPC 2002-2003, Northeastern European Region, Northern Subregion 中有一題:Intuitionistic Logic 用枚舉+數(shù)代集合思想優(yōu)化,注意到題中有一句話:“You may assume that the number H = |H| of elements of H?doesn't exceed 100”,這句話告訴我們H的元素個數(shù)不會超過100,因此可以考慮用一個數(shù)代替一個集合,首先把所有的運(yùn)算結(jié)果都用預(yù)處理算出來,到計(jì)算的時候只要用O(1)的復(fù)雜度就可以完成一次運(yùn)算。

      組合數(shù)學(xué)

      Polya定理則是解決同構(gòu)染色計(jì)數(shù)問題的有力工具。

      補(bǔ)集轉(zhuǎn)化思想

      ZOJ 單色三角形:

      字符串相關(guān)

      擴(kuò)展的KMP算法應(yīng)用:;最長回文串; 最長公共子串; 最長公共前綴;

      填充問題

      高精度運(yùn)算

      三維空間問題專題

      無論什么問題,一旦擴(kuò)展到三難空間,就變得很有難度了。三維空間的問題,很考代碼實(shí)現(xiàn)能力。

      其它問題的心得

      解決一些判斷同構(gòu)問題的方法:同構(gòu)的關(guān)鍵在于一一對應(yīng),而如果枚舉一一對應(yīng)的關(guān)系,時間復(fù)雜度相當(dāng)?shù)母?,利用最小表示,就能把一個事物的本質(zhì)表示出來。求最小表示時,我們一定要仔細(xì)分析,將一切能區(qū)分兩個元素的條件都在最小表示中體現(xiàn),而且又不能主觀的加上其他條件。得到最小表示后,我們往往還要尋求適當(dāng)?shù)?、高效的匹配算法(例如KMP字符匹配之類的),來比較最小表示是否相同,這里常常要將我們熟悉的高效算法進(jìn)行推廣

      第三篇:算法總結(jié)

      算法分析與設(shè)計(jì)總結(jié)報(bào)告

      71110415 錢玉明

      在計(jì)算機(jī)軟件專業(yè)中,算法分析與設(shè)計(jì)是一門非常重要的課程,很多人為它如癡如醉。很多問題的解決,程序的編寫都要依賴它,在軟件還是面向過程的階段,就有程序=算法+數(shù)據(jù)結(jié)構(gòu)這個公式。算法的學(xué)習(xí)對于培養(yǎng)一個人的邏輯思維能力是有極大幫助的,它可以培養(yǎng)我們養(yǎng)成思考分析問題,解決問題的能力。作為IT行業(yè)學(xué)生,學(xué)習(xí)算法無疑會增強(qiáng)自己的競爭力,修煉自己的“內(nèi)功”。

      下面我將談?wù)勎覍@門課程的心得與體會。

      一、數(shù)學(xué)是算法的基礎(chǔ)

      經(jīng)過這門課的學(xué)習(xí),我深刻的領(lǐng)悟到數(shù)學(xué)是一切算法分析與設(shè)計(jì)的基礎(chǔ)。這門課的很多時間多花在了數(shù)學(xué)公式定理的引入和證明上。雖然很枯燥,但是有必不可少。我們可以清晰的看到好多算法思路是從這些公式定理中得出來的,尤其是算法性能的分析更是與數(shù)學(xué)息息相關(guān)。其中有幾個定理令我印象深刻。

      ①主定理

      本門課中它主要應(yīng)用在分治法性能分析上。例如:T(n)=a*T(n/b)+f(n),它可以看作一個大問題分解為a個子問題,其中子問題的規(guī)模為b。而f(n)可看作這些子問題的組合時的消耗。這些可以利用主定理的相關(guān)結(jié)論進(jìn)行分析處理。當(dāng)f(n)量級高于nlogba時,我們可以設(shè)法降低子問題組合時的消耗來提高性能。反之我們可以降低nlogba的消耗,即可以擴(kuò)大問題的規(guī)?;蛘邷p小子問題的個數(shù)。因此主定理可以幫助我們清晰的分析出算法的性能以及如何進(jìn)行有效的改進(jìn)。

      ②隨機(jī)算法中的許多定理的運(yùn)用

      在這門課中,我學(xué)到了以前從未遇見過的隨機(jī)算法,它給予我很大的啟示。隨機(jī)算法不隨機(jī),它可通過多次的嘗試來降低它的錯誤率以至于可以忽略不計(jì)。這些都不是空穴來風(fēng),它是建立在嚴(yán)格的定理的證明上。如素?cái)?shù)判定定理是個很明顯的例子。它運(yùn)用了包括費(fèi)馬小定理在內(nèi)的各種定理。將這些定理進(jìn)行有效的組合利用,才得出行之有效的素?cái)?shù)判定的定理。尤其是對尋找證據(jù)數(shù)算法的改進(jìn)的依據(jù),也是建立在3個定理上。還有檢查字符串是否匹配也是運(yùn)用了許多定理:指紋的運(yùn)用,理論出錯率的計(jì)算,算法性能的評價也都是建立在數(shù)學(xué)定理的運(yùn)用上。

      這些算法都給予了我很大啟發(fā),要想學(xué)好算法,學(xué)好數(shù)學(xué)是必不可少的。沒有深厚的數(shù)學(xué)功力作為地基,即使再漂亮的算法框架,代碼實(shí)現(xiàn)也只能是根底淺的墻上蘆葦。

      二、算法的核心是思想

      我們學(xué)習(xí)這門課不是僅僅掌握那幾個經(jīng)典算法例子,更重要的是為了學(xué)習(xí)蘊(yùn)含在其中的思想方法。為什么呢?舉個例子。有同學(xué)曾問我這樣一個問題:1000只瓶子裝滿水,但有一瓶有毒,且毒發(fā)期為1個星期。現(xiàn)在用10只老鼠在一個星期內(nèi)判斷那只瓶子有毒,每只老鼠可以喝多個瓶子的水,每個瓶子可以只喝一點(diǎn)。問如何解決?其實(shí)一開始我也一頭霧水,但是他提醒我跟計(jì)算機(jī)領(lǐng)域相關(guān),我就立馬有了思路,運(yùn)用二進(jìn)制。因?yàn)橛?jì)算機(jī)的最基本思想就是二進(jìn)制。所以說,我們不僅要學(xué)習(xí)算法,更得學(xué)習(xí)思想方法。

      ①算法最基本的設(shè)計(jì)方法包括分治法,動態(tài)規(guī)劃法,貪心法,周游法,回溯法,分支定界法。我們可利用分治法做快速排序,降低找n個元素中最大元和最小元的量級,降低n位二進(jìn)制x和y相乘的量級,做Strassen矩陣乘法等等。它的思想就是規(guī)模很大的問題分解為規(guī)模較小的獨(dú)立的子問題,關(guān)鍵是子問題要與原問題同類,可以采取平衡法來提高性能。

      動態(tài)規(guī)劃法是把大問題分解為子問題,但是子問題是重復(fù)的,后面的問題可以利用前面解決過的問題的結(jié)果。如構(gòu)造最優(yōu)二叉查找樹,解決矩陣連乘時最小計(jì)算次數(shù)問題,尋找最長公共子序列等等。

      貪心法就是局部最優(yōu)法,先使局部最優(yōu),再依次構(gòu)造出更大的局部直至整體。如Kruscal最小生成樹算法,求哈夫曼編碼問題。

      周游法就是簡單理解就是采取一定的策略遍歷圖中所有的點(diǎn),典型的應(yīng)用就是圖中的深度優(yōu)先搜索(DFS)和廣度優(yōu)先搜索(BFS)。

      回溯法就是就是在滿足一定的條件后就往前走,當(dāng)走到某步時,發(fā)現(xiàn)不滿足條件就退回一步重新選擇新的路線。典型的應(yīng)用就是8皇后問題,平面點(diǎn)集的凸包問題和0-1背包問題。

      分支定界法:它是解決整數(shù)規(guī)劃問題一種最常用的方法。典型應(yīng)用就是解決整數(shù)規(guī)劃問題。

      ②評價算法性能的方法如平攤分析中的聚集法,會計(jì)法和勢能法。聚集法就是把指令分為幾類,計(jì)算每一類的消耗,再全部疊加起來。會計(jì)法就是計(jì)算某個指令時提前將另一個指令的消耗也算進(jìn)去,以后計(jì)算另一個指令時就不必再算了。勢能法計(jì)算每一步的勢的變化以及執(zhí)行這步指令的消耗,再將每一步消耗全部累計(jì)。

      這幾種方法都是平攤分析法,平攤分析的實(shí)質(zhì)就是總體考慮指令的消耗時間,盡管某些指令的消耗時間很大也可以忽略不計(jì)。上述三種方法難易程度差不多,每種方法都有屬于它的難點(diǎn)。如聚集法中如何將指令有效分類,會計(jì)法中用什么指令提前計(jì)算什么指令的消耗,勢能法中如何選取勢能。因此掌握這些方法原理還不夠,還要學(xué)會去應(yīng)用,在具體的問題中去判斷分析。

      三、算法與應(yīng)用緊密相關(guān)

      我認(rèn)為學(xué)習(xí)算法不能局限于書本上的理論運(yùn)算,局限于如何提高性能以降低復(fù)雜度,我們要將它與實(shí)際生活聯(lián)系起來。其實(shí)算法問題的產(chǎn)生就來自于生活,設(shè)計(jì)出高效的算法就是為了更好的應(yīng)用。如尋找最長公共子序列算法可以應(yīng)用在生物信息學(xué)中通過檢測相似DNA片段的相似成分來檢測生物特性的相似性,也可以用來判斷兩個字符串的相近性,這可應(yīng)用在數(shù)據(jù)挖掘中??焖俑盗⑷~變換(FFT)可應(yīng)用在計(jì)算多項(xiàng)式相乘上來降低復(fù)雜度,脫線min算法就是利用了Union-Find這種結(jié)構(gòu)。還有圖中相關(guān)算法,它對于解決網(wǎng)絡(luò)流量分配問題起了很大的幫助,等等。

      這些應(yīng)用給了我很大的啟發(fā):因?yàn)閱渭冎v一個Union-Find算法,即使了解了它的實(shí)現(xiàn)原理,遇到具體的實(shí)際問題也不知去如何應(yīng)用。這就要求我們要將自己學(xué)到的算法要和實(shí)際問題結(jié)合起來,不能停留在思想方法階段,要學(xué)以致用,做到具體問題具體分析。

      四、對計(jì)算模型和NP問題的理解

      由于對這部分內(nèi)容不是很理解,所以就粗淺的談一下我的看法。

      首先談到計(jì)算模型,就不得不提到圖靈計(jì)算,他將基本的計(jì)算抽象化,造出一個圖靈機(jī),得出了計(jì)算的本質(zhì)。并提出圖靈機(jī)可以計(jì)算的問題都是可以計(jì)算的,否則就是不可計(jì)算的。由此引申出一個著名論題:任何合理的計(jì)算模型都是相互等價的。它說明了可計(jì)算性本身不依賴于任何具體的模型而客觀存在。

      NP問題比較復(fù)雜,我認(rèn)為它是制約算法發(fā)展的瓶頸,但這也是算法分析的魅力所在。NP問題一般可分為3類,NP-C問題,NP-hard問題以及頑型問題。NP-C它有個特殊的性質(zhì),如果存在一個NP-C問題找到一個多項(xiàng)式時間的解法,則所有的NP-C問題都能找到多項(xiàng)式時間解法。如哈密頓回路問題。NP-hard主要是解決最優(yōu)化問題。它不一定是NP問題。這些問題在規(guī)模較小時可以找出精確解,但是規(guī)模大時,就因時間太復(fù)雜而找不到最優(yōu)解。此時一般會采用近似算法的解法。頑型問題就是已經(jīng)證明不可能有多項(xiàng)式時間的算法,如漢諾塔問題。

      最后談?wù)剬@門課程的建議

      ①對于這門算法課,我認(rèn)為應(yīng)該加強(qiáng)對算法思想方法的學(xué)習(xí)。所以我建議老師可不可以先拋出問題而不給出答案,講完一章,再發(fā)課件。讓我們先思考一會兒,或者給出個獎勵機(jī)制,誰能解決這個問題,平時成績加分。這在一定程度上會將強(qiáng)我們思考分析問題的能力。因?yàn)槲腋杏X到,一個問題出來,未經(jīng)過思考就已經(jīng)知曉它的答案,就沒什么意思,得不到提高,而且也不能加深對問題的思考和理解。下次遇到類似的問題也就沒有什么印象。而且上課讓我們思考,點(diǎn)名回答問題可以一定程度上有效的防止不認(rèn)真聽課的現(xiàn)象。

      ②作業(yè)安排的不是很恰當(dāng)。本門課主要安排了三次作業(yè),個人感覺只有第一次作業(yè)比較有意思。后面兩次作業(yè)只是實(shí)現(xiàn)一下偽代碼,沒有太多的技術(shù)含量。而且對于培養(yǎng)我們的解決問題的能力也沒有太多的幫助,因?yàn)檫@間接成為了程序設(shè)計(jì)題,不是算法設(shè)計(jì)題。

      ③本門課的時間安排的不太恰當(dāng),因?yàn)楸緦W(xué)期的課程太多,壓力太大。沒有太多的時間去學(xué)習(xí)這門課程。因?yàn)槲蚁嘈糯蠹叶紝λ信d趣,比較重視,想花功夫,但苦于沒時間。所以可不可以將課程提前一個學(xué)期,那時候離散數(shù)學(xué)也已經(jīng)學(xué)過,且課程的壓力也不是很大。錯開時間的話,我覺得應(yīng)該能夠更好提高大家算法分析設(shè)計(jì)的能力。

      第四篇:web 算法總結(jié)

      1.去掉超鏈接的下畫線: 在 //添加這句就行。 2.格式為:你需要添加下畫線的文字 3.獲取時間

      我們可以通過使用DataTime這個類來獲取當(dāng)前的時間。通過調(diào)用類中的各種方法我們可以獲取不同的時間:如:日期(2008-09-04)、時間(12:12:12)、日期+時間(2008-09-04 12:11:10)等。

      //獲取日期+時間

      DateTime.Now.ToString();

      // 2008-9-4 20:02:10 DateTime.Now.ToLocalTime().ToString();

      // 2008-9-4 20:12:12 //獲取日期

      DateTime.Now.ToLongDateString().ToString();

      // 2008年9月4日 DateTime.Now.ToShortDateString().ToString();

      // 2008-9-4 DateTime.Now.ToString(“yyyy-MM-dd”);

      // 2008-09-04 DateTime.Now.Date.ToString();

      // 2008-9-4 0:00:00 //獲取時間 DateTime.Now.ToLongTimeString().ToString();

      // 20:16:16 DateTime.Now.ToShortTimeString().ToString();

      // 20:16 DateTime.Now.ToString(“hh:mm:ss”);

      // 08:05:57 DateTime.Now.TimeOfDay.ToString();

      // 20:33:50.7187500 //其他

      DateTime.ToFileTime().ToString();

      // ***000 DateTime.Now.ToFileTimeUtc().ToString();

      // ***750 DateTime.Now.ToOADate().ToString();

      // 39695.8461709606 DateTime.Now.ToUniversalTime().ToString();

      // 2008-9-4 12:19:14 DateTime.Now.Year.ToString();

      獲取年份

      // 2008 DateTime.Now.Month.ToString();

      獲取月份

      // 9 DateTime.Now.DayOfWeek.ToString();獲取星期

      // Thursday DateTime.Now.DayOfYear.ToString();獲取第幾天

      // 248 DateTime.Now.Hour.ToString();

      獲取小時

      // 20 DateTime.Now.Minute.ToString();

      獲取分鐘

      // 31 DateTime.Now.Second.ToString();

      獲取秒數(shù)

      // 45 //n為一個數(shù),可以數(shù)整數(shù),也可以事小數(shù) dt.AddYears(n).ToString();

      //時間加n年 dt.AddDays(n).ToString();

      //加n天 dt.AddHours(n).ToString();

      //加n小時 dt.AddMonths(n).ToString();

      //加n個月 dt.AddSeconds(n).ToString();

      //加n秒 dt.AddMinutes(n).ToString();

      //加n分 SQL語句使用時間和日期的函數(shù)

      getdate():獲取系統(tǒng)當(dāng)前時間

      dateadd(datepart,number,date):計(jì)算在一個時間的基礎(chǔ)上增加一個時間后的新時間值,比如:dateadd(yy,30,getdate())datediff(datepart,startdate,enddate):計(jì)算兩個時間的差值,比如:datediff(yy,getdate(),'2008-08-08')dataname(datepart,date):獲取時間不同部分的值,返回值為字符串 datepart(datepart,date):和datename相似,只是返回值為整型 day(date):獲取指定時間的天數(shù) month(date):獲取指定時間的月份 year(date):獲取指定時間的年份 select year(getdate()):當(dāng)前年份

      第五篇:EMD算法總結(jié)

      EMD算法總結(jié)

      本文主要總結(jié)EMD算法實(shí)現(xiàn)過程中遇到的問題:

      1、分解過程會出現(xiàn)局部極值點(diǎn),如圖所示:

      放大后如下圖:

      在404點(diǎn)上出現(xiàn)極小值,加入極值點(diǎn)間距判斷,這種極小值點(diǎn)多是由于細(xì)微誤差引起,發(fā)現(xiàn)兩例都是出現(xiàn)在極值點(diǎn)附近,故對極值點(diǎn)間距進(jìn)行判斷,閾值暫設(shè)為5

      2、端點(diǎn)延拓一個極大極小值點(diǎn),對端點(diǎn)效應(yīng)的壓制作用不理想,延拓兩個極大極小值點(diǎn)較理想

      下載算法流程總結(jié)word格式文檔
      下載算法流程總結(jié).doc
      將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
      點(diǎn)此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會在5個工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        算法總結(jié)材料

        源程序代碼: } 一、 自然數(shù)拆分(遞歸) } #include 二、快速排序(遞歸) int a[100]; void spilt(int t) #include { int k,j,l,i; main() for(k=1;k......

        F2 算法總結(jié)

        算法! ? High low method p62 ? Inventory control level p123 ? Formal of EOQ p125 ? Formal of EBQ p127 ? Efficiency,capacity and production volume ratios p140 ? Remuner......

        SNN算法總結(jié)

        Levent Ertoz等人提出了一種基于共享型鄰居聚類算法SNN。該算法的基本思想為:先構(gòu)造相似度矩陣,再進(jìn)行最近k鄰居的稀疏處理,并以此構(gòu)造出最近鄰居圖,使得具有較強(qiáng)聯(lián)系的樣本間......

        排序算法總結(jié)

        排序算法總結(jié) 所謂排序,就是要整理文件中的記錄,使之按關(guān)鍵字遞增(或遞減)次序排列起來。當(dāng)待排序記錄的關(guān)鍵字都不相同時,排序結(jié)果是惟一的,否則排序結(jié)果不惟一。 在待排序的......

        社團(tuán)算法總結(jié)

        社團(tuán)發(fā)現(xiàn)的算法 1.非重疊社團(tuán)發(fā)現(xiàn)算法 1.1 基于模塊度優(yōu)化的社團(tuán)發(fā)現(xiàn)算法 (1) Newman M E J. Fast Algorithm for Detecting Community Structure in Networks[J]. Phys Rev E......

        計(jì)算機(jī)算法總結(jié)

        算法總結(jié) 1.窮舉法 窮舉法,又稱暴力算法,即列舉問題解空間所有可能情況,并逐個測試,從而找出符合問題條件的解。這份通常是一種費(fèi)時算法,人工手動求解困難,但計(jì)算機(jī)的出現(xiàn)使得窮舉......

        ??妓惴偨Y(jié)

        ------------------------- void insertsort(int list[],int n) //直接插入排序 { int i,j,temp; for(i=1;i=0;j--) if(tempnext=p->next->next; ------------------------......

        鋼筋量算法總結(jié)

        鋼筋工程量計(jì)算方法總結(jié)以下是我對鋼筋計(jì)算的一些小總結(jié),對應(yīng)圖型可以參照相應(yīng)圖集,不正之處請各位高手指出。 鋼筋算量基本方法小結(jié) 一、梁 (1) 框架梁 一、首跨鋼筋的計(jì)算 1、......