1樓:
窮舉也叫列舉,它的基本思想是先依據題目的部分條件來確定答案的大致範圍(可能解),然後在此範圍內用其餘的條件對所有可能解進行一一驗證,刪去那些不符合條件的解,剩下符合條件的解就是整個問題的解。
窮舉法是什麼,有什麼用,怎麼計算?
2樓:愛笑的剛剛好呀
窮舉法又稱列舉法、列舉法,是蠻力策略的具體體現,是一種簡單而直接地解決問題的方法。其基本思想是逐一列舉問題所涉及的所有情形,並根據問題提出的條件檢驗哪些是問題的解,哪些應予排除。
窮舉的作用
1、理論上,窮舉可以解決可計算領域中的各種問題。尤其處在計算機計算速度非常高的今天,窮舉的應用領域是非常廣闊的。
2、 在實際應用中,通常要解決的問題規模不大,用窮舉設計的演算法其運算速度是可以接受的。此時,設計一個更高效率的演算法代價不值得。
3、 窮舉可作為某類問題時間效能的底限,用來衡量同樣問題的更高效率的演算法。
窮舉怎麼計算:
1、根據問題的具體情況確定窮舉量(簡單變數或陣列);
2、根據確定的範圍設定窮舉迴圈;
3、根據問題的具體要求確定篩選約束條件;
4、設計窮舉程式並執行、除錯,對執行結果進行分析與討論。 當問題所涉及數量非常大時,窮舉的工作量也就相應較大,程式執行時間也就相應較長。為此,應用窮舉求解時,應根據問題的具體情況分析歸納,尋找簡化規律,精簡窮舉迴圈,優化窮舉策略。
3樓:末你要
窮舉法就是根據題目的部分條件確定答案的大致範圍,並在此範圍內對所有可能的情況逐一驗證,直到全部情況驗證完畢。
在窮舉法中,若某個情況驗證符合題目的全部條件,則為本問題的一個解;若全部情況驗證後都不符合題目的全部條件,則本題無解。
使用窮舉法列出100以內的素數,如下:
#include
int main()
顯示結果為:2,3,5,7,11,13,17,19,23,29,31,37,41,47,53,59,61,67,71,73,83,89,97。
4樓:匿名使用者
窮舉法是一種針對於密碼的破譯方法,這種方法很像數學上的「完全歸納法」。
窮舉法基本思路是:對於要解決的問題,列舉出它的所有可能的情況,逐個判斷有哪些是符合問題所要求的條件,從而得到問題的解。它也常用於對於密碼的破譯,即將密碼進行逐個推算直到找出真正的密碼為止。
擴充套件資料
用窮舉法解題時,就是按照某種方式列舉問題答案的過程。針對問題的資料型別而言,常用的列舉方法一有如下三種:
(1)順序列舉 是指答案範圍內的各種情況很容易與自然數對應甚至就是自然數,可以按自然數的變化順序去列舉。
(2)排列列舉 有時答案的資料形式是一組數的排列,列舉出所有答案所在範圍內的排列,為排列列舉。
(3)組合列舉 當答案的資料形式為一些元素的組合時,往往需要用組合列舉。組合是無序的。
例子如下:在公元五世紀我國數學家張丘建在其《算經》一書中提出了「百雞問題 」:
「雞翁一值錢5,雞母一值錢3,雞雛三值錢1。百錢買百雞,問雞翁、母、雛各幾何?」這個數學問題的數學方程可列出如下:
cock+hen+chick=100
cock*5+hen*3+chick/3=100
該問題的c語言程式演算法如下:
int cock,hen,chick; /*定義公雞,母雞,雞雛三個變數*/
cock=0;
while (cock<=19) /*公雞最多不可能大於19*/
cock=cock+1;}
5樓:眼淚的錯覺
窮舉法就是把可能的情況一一列舉,帶入實際,一個個檢驗是否是符合。這種方法一般在計算機中運用,因為計算機計算速度快,可以很快驗證答案是否正確。
比如統計一個班男生身高高於1.7m的人數,用窮舉法就是依次測量每個男生身高,高於1.7m的就記下,直到每個人都量測了一邊。
窮舉法可視為最簡單的搜尋:即是在一個可能存在可行狀態(可行解)的狀態全集中依次遍歷所有的元素,並判斷是否為可行狀態。
6樓:匿名使用者
窮舉法是一種針對於密碼的破譯方法,可以用來破解密碼,計算方法簡單來說就是將密碼進行逐個推算直到找出真正的密碼為止。
窮舉法也稱為列舉法,基本思想是根據題目的部分條件確定答案的大致範圍,並在此範圍內對所有可能的情況逐一驗證,直到全部情況驗證完畢。若某個情況驗證符合題目的全部條件,則為本問題的一個解;若全部情況驗證後都不符合題目的全部條件,則本題無解。
這種方法很像數學上的「完全歸納法」,並在密碼破譯方面得到了廣泛的應用。比如一個四位並且全部由數字組成其密碼共有10000種組合,也就是說最多我們會嘗試9999次才能找到真正的密碼。利用這種方法可以運用計算機來進行逐個推算,也就是說用這種方法破解任何一個密碼也都只是一個時間問題。
7樓:demon陌
窮舉法是最常見的密碼破解方法。也就是一個一個地試。如比密碼為123,窮舉法從1位數0開始,一直到碰對為止。
一般來說,窮舉法適用於6位以下純數字密碼,超過6位數或較複雜窮舉法就很難了,即使可以,也需要很長時間。
打個比方,如果1到9中有個是密碼,那麼就一個一個去試,把1到9中所有的數字都列舉出來,這就是窮舉法。
用窮舉法解題時,就是按照某種方式列舉問題答案的過程。針對問題的資料型別而言,常用的列舉方法一有如下三種:
(1)順序列舉 是指答案範圍內的各種情況很容易與自然數對應甚至就是自然數,可以按自然數的變化順序去列舉。
(2)排列列舉 有時答案的資料形式是一組數的排列,列舉出所有答案所在範圍內的排列,為排列列舉。
(3)組合列舉 當答案的資料形式為一些元素的組合時,往往需要用組合列舉。組合是無序的。
8樓:匿名使用者
窮舉法是什麼呢?這個也不是很清楚,是不是講所有的方法列舉下來從中注意選呢?
9樓:匿名使用者
所謂窮舉法
就是把所有可能性都拿出來試一試
比如說我不知道你生日
我就問你
是不是1月1號?
是不是1月2號?
是不是1月3號?
....
......
......
是不是12月31號?
就是這樣
至於破解密碼,也一樣
比如我知道你密碼是6位的
那就試 啊
000000
000001
000002
000003
......
...999999
總會成功的
10樓:果汁_粒粒
打個比方,如果1到9中有個是密碼,那麼就一個一個去試,把1到9中所有的數字都列舉出來,這就是窮舉法
11樓:garfield_百
就是把所有符合定義或者條件的組合可能都嘗試一遍。它的優點就是肯定能夠破解,但是缺點是要花大量的時間
12樓:匿名使用者
就是把一切可能的密碼一一去試,直到正確為止......
回溯法的基本思想是什麼?
13樓:靜觀陌路
回溯演算法的基本思想是:從一條路往前走,能進則進,不能進則內
退回來,換一條路容再試。 補充:
層次分析法的基本思想是什麼?求答案,謝謝
14樓:手機使用者
層次分析
法的bai
基本du思路是將所要分析的問題層zhi
次化dao;根據問題的性版質和所要達成的總目標,權將問題分解為不同的組成因素,並按照這些因素間的關聯影響及其隸屬關係,將因素按不同層次凝聚組合,形成一個多層次分析結構模型;最後,對問題進行優劣比較並排列。
15樓:匿名使用者
把複雜的問題分解為若干層次,在最低層次通過兩兩對比得出個因素的權重,通過由低到高的層層分析計算,最後計算出各方案對總目標的權數,權數最大的方案即為最優方案。
16樓:匿名使用者
哈哈,考《優化理論與技術》吧?
什麼是分支定界法?基本思想是什麼?一般用於解決什麼問題?
17樓:匿名使用者
分支定界 (branch and bound) 演算法是復一種在問題的解制空間樹上搜尋問題的解的方法。但與回溯演算法不同,分支定界演算法採用廣度優先或最小耗費優先的方法搜尋解空間樹,並且,在分支定界演算法中,每一個活結點只有一次機會成為擴充套件結點。
利用分支定界演算法對問題的解空間樹進行搜尋,它的搜尋策略是:
1 .產生當前擴充套件結點的所有子結點;
2 .在產生的子結點中,拋棄那些不可能產生可行解(或最優解)的結點;
3 .將其餘的子結點加入活結點表;
4 .從活結點表中選擇下一個活結點作為新的擴充套件結點。
如此迴圈,直到找到問題的可行解(最優解)或活結點表為空。
分支定界法本質還是一種列舉法,但是是隱列舉法。它是整數規劃領域中非常重要的一類演算法思想。是很多重要演算法的源頭。它能解決的實際問題很多,最著名的一個應該就是求解揹包問題。
18樓:匿名使用者
用c#程式設計通過分支定界法解決揹包問題。急急急。 using system; using 問題解決函式 ///
PASCAL迴圈語句與窮舉法請高手用簡單易懂的for語句
for i 1 to 4 do 列舉小偷是第i個人begin integer n n 0 計數器,記錄真話的個數 if i 1 then inc n 判斷甲說的話是否為真if i 3 then inc n 判斷乙說的話是否為真if i 4 then inc n 判斷丙if i 4 then inc ...
什麼是發展傳播學,基本思想是什麼
人類傳播的四個發展階段 口語傳播時代 文字傳播時代 印刷傳播時代 電子傳播時代。一.口語傳播時代特徵 1.是人類傳播時代的第一個發展階段,口語是人類傳播所使用的第一個媒介 2.口語傳播時代漫長 3.口語是最初始 最重要的媒介,也是最基本的媒介 4.侷限性 空間距離與時間距離上受到限制。二.文字傳播時...
唯識宗主旨是什麼,唯識宗的基本思想是什麼說
唯識宗是玄奘大師留印十六年所專門研究的。其學說最突出的特點就是建立了阿賴耶識,用現在的語言來講大體就是說精神方面有一個統一的作用。在唯識家看來,無量的世界似乎是一塊,實際上各是各的,這就是唯識的道理,一句話,就是 心外無境 即通常所的 萬法唯識 此宗條理謹嚴,分析周密,非常接近科學,但法相詞彙很多,...