chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

這5個(gè)牛逼的算法設(shè)計(jì)你知道幾個(gè)

jf_B3xDfZry ? 來(lái)源:C語(yǔ)言學(xué)習(xí)聯(lián)盟 ? 作者:C語(yǔ)言學(xué)習(xí)聯(lián)盟 ? 2022-11-25 10:57 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1、分治法

概念:

將一個(gè)難以直接解決的大問(wèn)題,分割成一些規(guī)模較小的相同問(wèn)題,以便各個(gè)擊破,分而治之。

思想策略:

對(duì)于一個(gè)規(guī)模為n的問(wèn)題,若該問(wèn)題可以容易地解決(比如說(shuō)規(guī)模n較?。﹦t直接解決,否則將其分解為k個(gè)規(guī)模較小的子問(wèn)題,這些子問(wèn)題互相獨(dú)立且與原問(wèn)題形式相同,遞歸地解這些子問(wèn)題,然后將各子問(wèn)題的解合并得到原問(wèn)題的解。

特征:

該問(wèn)題的規(guī)??s小到一定的程度就可以容易地解決

該問(wèn)題可以分解為若干個(gè)規(guī)模較小的相同問(wèn)題,即該問(wèn)題具有最優(yōu)子結(jié)構(gòu)性質(zhì)。

利用該問(wèn)題分解出的子問(wèn)題的解可以合并為該問(wèn)題的解;

該問(wèn)題所分解出的各個(gè)子問(wèn)題是相互獨(dú)立的,即子問(wèn)題之間不包含公共的子子問(wèn)題。

第一條特征是絕大多數(shù)問(wèn)題都可以滿足的,因?yàn)閱?wèn)題的計(jì)算復(fù)雜性一般是隨著問(wèn)題規(guī)模的增加而增加; 第二條特征是應(yīng)用分治法的前提它也是大多數(shù)問(wèn)題可以滿足的,此特征反映了遞歸思想的應(yīng)用; 第三條特征是關(guān)鍵,能否利用分治法完全取決于問(wèn)題是否具有第三條特征,如果具備了第一條和第二條特征,而不具備第三條特征,則可以考慮用貪心法或動(dòng)態(tài)規(guī)劃法。 第四條特征涉及到分治法的效率,如果各子問(wèn)題是不獨(dú)立的則分治法要做許多不必要的工作,重復(fù)地解公共的子問(wèn)題,此時(shí)雖然可用分治法,但一般用動(dòng)態(tài)規(guī)劃法較好。

基本步驟:

1 分解:將原問(wèn)題分解為若干個(gè)規(guī)模較小,相互獨(dú)立,與原問(wèn)題形式相同的子問(wèn)題; 2 解決:若子問(wèn)題規(guī)模較小而容易被解決則直接解,否則遞歸地解各個(gè)子問(wèn)題 3 合并:將各個(gè)子問(wèn)題的解合并為原問(wèn)題的解。

適用分治法求解的經(jīng)典問(wèn)題:

1)二分搜索

2)大整數(shù)乘法

3)Strassen矩陣乘法

4)棋盤覆蓋

5)合并排序

6)快速排序

7)線性時(shí)間選擇

8)最接近點(diǎn)對(duì)問(wèn)題

9)循環(huán)賽日程表

10)漢諾塔

2、動(dòng)態(tài)規(guī)劃

概念:

每次決策依賴于當(dāng)前狀態(tài),又隨即引起狀態(tài)的轉(zhuǎn)移。一個(gè)決策序列就是在變化的狀態(tài)中產(chǎn)生出來(lái)的,所以,這種多階段最優(yōu)化決策解決問(wèn)題的過(guò)程就稱為動(dòng)態(tài)規(guī)劃。

思想策略:

將待求解的問(wèn)題分解為若干個(gè)子問(wèn)題(階段),按順序求解子階段,前一子問(wèn)題的解,為后一子問(wèn)題的求解提供了有用的信息。 在求解任一子問(wèn)題時(shí),列出各種可能的局部解,通過(guò)決策保留那些有可能達(dá)到最優(yōu)的局部解,丟棄其他局部解。 依次解決各子問(wèn)題,最后一個(gè)子問(wèn)題就是初始問(wèn)題的解。

特征:

能采用動(dòng)態(tài)規(guī)劃求解的問(wèn)題的一般要具有3個(gè)性質(zhì): (1) 最優(yōu)化原理:如果問(wèn)題的最優(yōu)解所包含的子問(wèn)題的解也是最優(yōu)的,就稱該問(wèn)題具有最優(yōu)子結(jié)構(gòu),即滿足最優(yōu)化原理。 (2) 無(wú)后效性:即某階段狀態(tài)一旦確定,就不受這個(gè)狀態(tài)以后決策的影響。也就是說(shuō),某狀態(tài)以后的過(guò)程不會(huì)影響以前的狀態(tài),只與當(dāng)前狀態(tài)有關(guān)。 (3)有重疊子問(wèn)題:即子問(wèn)題之間是不獨(dú)立的,一個(gè)子問(wèn)題在下一階段決策中可能被多次使用到。(該性質(zhì)并不是動(dòng)態(tài)規(guī)劃適用的必要條件,但是如果沒(méi)有這條性質(zhì),動(dòng)態(tài)規(guī)劃算法同其他算法相比就不具備優(yōu)勢(shì))

基本步驟:

(1)分析最優(yōu)解的性質(zhì),并刻畫其結(jié)構(gòu)特征。 (2)遞歸的定義最優(yōu)解。 (3)以自底向上或自頂向下的記憶化方式(備忘錄法)計(jì)算出最優(yōu)值 (4)根據(jù)計(jì)算最優(yōu)值時(shí)得到的信息,構(gòu)造問(wèn)題的最優(yōu)解

適用動(dòng)態(tài)規(guī)劃求解的經(jīng)典問(wèn)題:

矩陣連乘,

走金字塔

最長(zhǎng)公共子序列(LCS) ,

最長(zhǎng)遞增子序列(LIS) ,

凸多邊形最優(yōu)三角剖分 ,

背包問(wèn)題 ,

雙調(diào)歐幾里得旅行商問(wèn)題

微信搜索C語(yǔ)言中文社區(qū)回復(fù)”C語(yǔ)言“,免費(fèi)獲取200G編程資料。

3、貪心法

概念:

在對(duì)問(wèn)題求解時(shí),總是做出在當(dāng)前看來(lái)是最好的選擇。也就是說(shuō),不從整體最優(yōu)上加以考慮,他所做出的僅是在某種意義上的局部最優(yōu)解。

思想策略:

貪心算法沒(méi)有固定的算法框架,算法設(shè)計(jì)的關(guān)鍵是貪心策略的選擇。必須注意的是,貪心算法不是對(duì)所有問(wèn)題都能得到整體最優(yōu)解,選擇的貪心策略必須具備無(wú)后效性,即某個(gè)狀態(tài)以后的過(guò)程不會(huì)影響以前的狀態(tài),只與當(dāng)前狀態(tài)有關(guān)。所以對(duì)所采用的貪心策略一定要仔細(xì)分析其是否滿足無(wú)后效性。

基本步驟:

建立數(shù)學(xué)模型來(lái)描述問(wèn)題。

把求解的問(wèn)題分成若干個(gè)子問(wèn)題。

對(duì)每一子問(wèn)題求解,得到子問(wèn)題的局部最優(yōu)解。

把子問(wèn)題的解局部最優(yōu)解合成原來(lái)解問(wèn)題的一個(gè)解。

適用貪心法求解的經(jīng)典問(wèn)題:

活動(dòng)選擇問(wèn)題,

錢幣找零問(wèn)題,

再論背包問(wèn)題,

小船過(guò)河問(wèn)題,

區(qū)間覆蓋問(wèn)題,

銷售比賽,

Huffman編碼,

Dijkstra算法(求解最短路徑),

最小生成樹算法

4、回溯法

概念:

回溯算法實(shí)際上一個(gè)類似枚舉的搜索嘗試過(guò)程,主要是在搜索嘗試過(guò)程中尋找問(wèn)題的解,當(dāng)發(fā)現(xiàn)已不滿足求解條件時(shí),就“回溯”返回,嘗試別的路徑?;厮莘ㄊ且环N選優(yōu)搜索法,按選優(yōu)條件向前搜索,以達(dá)到目標(biāo)。 但當(dāng)探索到某一步時(shí),發(fā)現(xiàn)原先選擇并不優(yōu)或達(dá)不到目標(biāo),就退回一步重新選擇,這種走不通就退回再走的技術(shù)為回溯法,而滿足回溯條件的某個(gè)狀態(tài)的點(diǎn)稱為“回溯點(diǎn)”。 許多復(fù)雜的,規(guī)模較大的問(wèn)題都可以使用回溯法,有“通用解題方法”的美稱。

思想策略:

在包含問(wèn)題的所有解的解空間樹中,按照深度優(yōu)先搜索的策略,從根結(jié)點(diǎn)出發(fā)深度探索解空間樹。當(dāng)探索到某一結(jié)點(diǎn)時(shí),要先判斷該結(jié)點(diǎn)是否包含問(wèn)題的解,如果包含,就從該結(jié)點(diǎn)出發(fā)繼續(xù)探索下去,如果該結(jié)點(diǎn)不包含問(wèn)題的解,則逐層向其祖先結(jié)點(diǎn)回溯。(其實(shí)回溯法就是對(duì)隱式圖的深度優(yōu)先搜索算法)。若用回溯法求問(wèn)題的所有解時(shí),要回溯到根,且根結(jié)點(diǎn)的所有可行的子樹都要已被搜索遍才結(jié)束。

特征:

(1)針對(duì)所給問(wèn)題,確定問(wèn)題的解空間:首先應(yīng)明確定義問(wèn)題的解空間,問(wèn)題的解空間應(yīng)至少包含問(wèn)題的一個(gè)(最優(yōu))解。 (2)確定結(jié)點(diǎn)的擴(kuò)展搜索規(guī)則 (3)以深度優(yōu)先方式搜索解空間,并在搜索過(guò)程中用剪枝函數(shù)避免無(wú)效搜索。

適用回溯法求解的經(jīng)典問(wèn)題:

八皇后問(wèn)題,

圖的著色問(wèn)題,

裝載問(wèn)題,

批處理作業(yè)調(diào)度問(wèn)題,

再再論背包問(wèn)題,

最大團(tuán)問(wèn)題,

連續(xù)郵資問(wèn)題,

符號(hào)三角形問(wèn)題,

5、分支限界法

概述:

類似于回溯法,也是一種在問(wèn)題的解空間樹T上搜索問(wèn)題解的算法。但在一般情況下,分支限界法與回溯法的求解目標(biāo)不同。 回溯法的求解目標(biāo)是找出T中滿足約束條件的所有解,而分支限界法的求解目標(biāo)則是找出滿足約束條件的一個(gè)解,或是在滿足約束條件的解中找出使某一目標(biāo)函數(shù)值達(dá)到極大或極小的解,即在某種意義下的最優(yōu)解。

策略:

在擴(kuò)展結(jié)點(diǎn)處,先生成其所有的兒子結(jié)點(diǎn)(分支),然后再?gòu)漠?dāng)前的活結(jié)點(diǎn)表中選擇下一個(gè)擴(kuò)展對(duì)點(diǎn)。為了有效地選擇下一擴(kuò)展結(jié)點(diǎn),以加速搜索的進(jìn)程,在每一活結(jié)點(diǎn)處,計(jì)算一個(gè)函數(shù)值(限界),并根據(jù)這些已計(jì)算出的函數(shù)值,從當(dāng)前活結(jié)點(diǎn)表中選擇一個(gè)最有利的結(jié)點(diǎn)作為擴(kuò)展結(jié)點(diǎn),使搜索朝著解空間樹上有最優(yōu)解的分支推進(jìn),以便盡快地找出一個(gè)最優(yōu)解。

與回溯法的區(qū)別:

回溯法:【方式不同】深度優(yōu)先搜索堆?;罱Y(jié)點(diǎn)的所有可行子結(jié)點(diǎn)被遍歷后才被從棧中彈出找出滿足約束條件的所有解【目標(biāo)不同】。分支限界法:【方式不同】廣度優(yōu)先或最小消耗優(yōu)先搜索隊(duì)列、優(yōu)先隊(duì)列每個(gè)結(jié)點(diǎn)只有一次成為活結(jié)點(diǎn)的機(jī)會(huì)找出滿足約束條件的一個(gè)解或特定意義下的最優(yōu)解【目標(biāo)不同】。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 算法
    +關(guān)注

    關(guān)注

    23

    文章

    4739

    瀏覽量

    96725
  • C語(yǔ)言
    +關(guān)注

    關(guān)注

    183

    文章

    7634

    瀏覽量

    143928
  • 算法設(shè)計(jì)
    +關(guān)注

    關(guān)注

    0

    文章

    24

    瀏覽量

    8899

原文標(biāo)題:5 個(gè)牛逼的算法設(shè)計(jì),你知道幾個(gè)?

文章出處:【微信號(hào):C語(yǔ)言學(xué)習(xí)聯(lián)盟,微信公眾號(hào):C語(yǔ)言學(xué)習(xí)聯(lián)盟】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    嵌入式 超 的語(yǔ)言 C++ 學(xué)習(xí)寶典!?。?/a>

    嵌入式 超 的語(yǔ)言 C++學(xué)習(xí)寶典!??!
    發(fā)表于 09-19 11:42

    ,這是什么軟件制作的,求解答

    ,這是什么軟件制作的,求解答
    發(fā)表于 11-29 10:09

    就他了新人報(bào)道,感覺(jué)這是個(gè)的論壇,

    感覺(jué)這是個(gè)的論壇 這輩子就他了, 技術(shù)宅屌絲就這樣過(guò)一生了 新人報(bào)道{:4_95:}
    發(fā)表于 07-14 23:30

    嵌入式開發(fā)比較的培訓(xùn)機(jī)構(gòu)

    要說(shuō)嵌入式比較正規(guī)的機(jī)構(gòu)首推華清遠(yuǎn)見,嵌入式起家的,不過(guò)物聯(lián)網(wǎng)的情況不清楚,我只報(bào)了嵌入式的開發(fā),小伙伴們,注意了,別以為嵌入式薪資高就學(xué)他,嵌入式比andriod難多了,要根據(jù)個(gè)人情況來(lái),我
    發(fā)表于 01-07 20:31

    見過(guò)防水、防塵,還這么便宜的電容觸控芯片嗎?

    、防塵、防光照的三防電容觸控芯片SPT10 T系列,國(guó)內(nèi)一家芯片設(shè)計(jì)商做的,小創(chuàng)業(yè)公司,三個(gè)普林斯頓博士研發(fā)的遠(yuǎn)距離電容感應(yīng)芯片。聽起來(lái)很,但人確實(shí)
    發(fā)表于 08-07 11:37

    matlab函數(shù)總結(jié)

    matlab函數(shù)總結(jié),想大家會(huì)因?yàn)镸ATLAB函數(shù)不懂吧!自己看看吧!
    發(fā)表于 11-06 17:18 ?0次下載

    小米5s和榮耀8撞到了一起,同樣的價(jià)格會(huì)選誰(shuí)

    2016年無(wú)疑出現(xiàn)過(guò)非常多的手機(jī),其中一些的手機(jī)~它們都很的同時(shí),還都賣一樣的價(jià)錢,
    發(fā)表于 04-16 11:16 ?941次閱讀

    MIUI的10個(gè)小設(shè)置知道

    其實(shí)在MIUI里,藏著很多個(gè)性化的選擇,接下來(lái)的10個(gè)小設(shè)置,知道嗎?
    的頭像 發(fā)表于 05-08 16:53 ?4806次閱讀

    的程序員是怎么樣

    長(zhǎng)期臥底各大程序員圈,總結(jié)出現(xiàn)實(shí)中那些程序員的主要表現(xiàn)癥狀,如下:
    的頭像 發(fā)表于 12-01 11:51 ?3414次閱讀

    關(guān)于STM32的這幾個(gè)寄存器, 知道嗎?

    關(guān)于STM32的這幾個(gè)寄存器,知道嗎?
    的頭像 發(fā)表于 03-06 15:19 ?1.1w次閱讀

    分享幾個(gè)vscode必備精品插件

    今天分享幾個(gè) vscode 必備精品插件,讓的 vscode 更!
    的頭像 發(fā)表于 09-07 09:13 ?3699次閱讀

    16個(gè)網(wǎng)絡(luò)工程知識(shí),知道幾個(gè)

    網(wǎng)絡(luò)工程師需要掌握哪些知識(shí)呢?下面的16個(gè)網(wǎng)絡(luò)工程相關(guān)知識(shí),可以看看,會(huì)幾個(gè)?
    的頭像 發(fā)表于 01-04 10:50 ?1448次閱讀

    pcb菲林是什么?5個(gè)作用你知道

    pcb菲林是什么?5個(gè)作用你知道
    的頭像 發(fā)表于 11-22 11:14 ?1.2w次閱讀

    測(cè)測(cè)10個(gè)AI關(guān)鍵詞清楚幾個(gè)?第4個(gè)今年最火

    原文標(biāo)題:測(cè)測(cè)10個(gè)AI關(guān)鍵詞清楚幾個(gè)?第4個(gè)今年最火 文章出處:【微信公眾號(hào):微軟科技】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
    的頭像 發(fā)表于 12-21 08:15 ?834次閱讀
    測(cè)測(cè)<b class='flag-5'>這</b>10<b class='flag-5'>個(gè)</b>AI關(guān)鍵詞<b class='flag-5'>你</b>清楚<b class='flag-5'>幾個(gè)</b>?第4<b class='flag-5'>個(gè)</b>今年最火

    知道激光鉆孔技術(shù)有多嗎?看完這篇文章就明白了

    知道激光鉆孔技術(shù)有多嗎?看完這篇文章就明白了
    的頭像 發(fā)表于 02-29 17:09 ?1691次閱讀