導航:首頁 > 源碼編譯 > 演算法的描述方法優缺點

演算法的描述方法優缺點

發布時間:2023-04-22 02:37:03

A. 簡單說明運演算法和時域法的優缺點

信息量大、不易看出。簡單說明運演算法和時域法的優點在於信息量大,缺點不易看出。演算法是指解題方案的准確而完整的描述,是一系列解決問題的清晰指令,豎緩演算法代表著用系散擾統的方法描述解決問題的策略機制。是求解問題類的、機械沖纖旦的、統一的方法。

B. 比較演算法優缺點:

1.先來先服務先來先服務(FCFS, First Come First Serve)是最簡單的調度演算法,按先後順序進行調度。1. 定義按照作業提交或進程變為就緒狀態的先後次序,分派CPU;當前作業或進程佔用CPU,直到執行完或阻塞,才出讓CPU(非搶占方式)。在作業或進程喚醒後(如I/O完成),並不立即恢復執行,通常等到當前作業或進程出讓CPU。2.適用場景比較有利於長作業,而不利於短作業。有利於CPU繁忙的作業,而不利於I/O繁忙的作業。
2. 輪轉法輪轉法(Round Robin)是讓每個進程在就緒隊列中的等待時間與享受服務的時間成正比例。1. 定義將系統中所有的就緒進程按照FCFS原則,排成一個隊列。每次調度時將CPU分派給隊首進程,讓其執行一個時間片。時間片的長度從幾個ms到幾百ms。在一個時間片結束時,發生時鍾中斷。調度程序據此暫停當前進程的執行,將其送到就緒隊列的末尾,並通過上下文切換執行當前的隊首進程。進程可以未使用完一個時間片,就出讓CPU(如阻塞)。2. 時間片長度的確定時間片長度變化的影響過長->退化為FCFS演算法,進程在一個時間片內都執行完,響應時間長。過短->用戶的一次請求需要多個時間片才能處理完,上下文切換次數增加,響應時間長。對響應時間的要求:T(響應時間)=N(進程數目)*q(時間片)就緒進程的數目:數目越多,時間片越小系統的處理能力:應當使用戶輸入通常在一個時間片內能處理完,否則使響應時間,平均周轉時間和平均帶權周轉時間延長。
3. 多級反饋隊列演算法多級反饋隊列演算法(Round Robin with Multiple Feedback)是輪轉演算法和優先順序演算法的綜合和發展。1. 定義設置多個就緒隊列,分別賦予不同的優先順序,如逐級降低,隊列1的優先順序最高。每個隊列執行時間片的長度也不同,規定優先順序越低則時間片越長,如逐級加倍。新進程進入內存後,先投入隊列1的末尾,按FCFS演算法調度;若按隊列1一個時間片未能執行完,則降低投入到隊列2的末尾,同樣按FCFS演算法調度;如此下去,降低到最後的隊列,則按「時間片輪轉」演算法調度直到完成。僅當較高優先順序的隊列為空,才調度較低優先順序的隊列中的進程執行。如果進程執行時有新進程進入較高優先順序的隊列,則搶先執行新進程,並把被搶先的進程投入原隊列的末尾。2.優點為提高系統吞吐量和縮短平均周轉時間而照顧短進程。為獲得較好的I/O設備利用率和縮短響應時間而照顧I/O型進程。不必估計進程的執行時間,動態調節3. 幾點說明I/O型進程:讓其進入最高優先順序隊列,以及時響應I/O交互。通常執行一個小時間片,要求可處理完一次I/O請求的數據,然後轉入到阻塞隊列。計算型進程:每次都執行完時間片,進入更低級隊列。最終採用最大時間片來執行,減少調度次數。I/O次數不多,而主要是CPU處理的進程。在I/O完成後,放回優先I/O請求時離開的隊列,以免每次都回到最高優先順序隊列後再逐次下降。為適應一個進程在不同時間段的運行特點,I/O完成時,提高優先順序;時間片用完時,降低優先順序。
4. 優先順序法優先順序演算法(Priority Scheling)是多級隊列演算法的改進,平衡各進程對響應時間的要求。適用於作業調度和進程調度,可分成搶先式和非搶先式。1. 靜態優先順序作業調度中的靜態優先順序大多按以下原則確定:由用戶自己根據作業的緊急程度輸入一個適當的優先順序。由系統或操作員根據作業類型指定優先順序。系統根據作業要求資源情況確定優先順序。進程的靜態優先順序的確定原則:按進程的類型給予不同的優先順序。將作業的情態優先順序作為它所屬進程的優先順序。2. 動態優先順序進程的動態優先順序一般根據以下原則確定:根據進程佔用有CPU時間的長短來決定。根據就緒進程等待CPU的時間長短來決定。
5.短作業優先法短作業優先(SJF, Shortest Job First)又稱為「短進程優先」SPN(Shortest Process Next);這是對FCFS演算法的改進,其目標是減少平均周轉時間。1. 定義對預計執行時間短的作業(進程)優先分派處理機。通常後來的短作業不搶先正在執行的作業。2. SJF的特點(1) 優點:比FCFS改善平均周轉時間和平均帶權周轉時間,縮短作業的等待時間;提高系統的吞吐量;(2) 缺點:對長作業非常不利,可能長時間得不到執行;未能依據作業的緊迫程度來劃分執行的優先順序;難以准確估計作業(進程)的執行時間,從而影響調度性能。3. SJF的變型「最短剩餘時間優先」SRT(Shortest Remaining Time)(允許比當前進程剩餘時間更短的進程來搶占)「最高響應比優先」HRRN(Highest Response Ratio Next)(響應比R = (等待時間 + 要求執行時間) / 要求執行時間,是FCFS和SJF的折衷)6. 最高響應比優先法最高響應比優先法(HRN,Highest Response_ratio Next)是對FCFS方式和SJF方式的一種綜合平衡。FCFS方式只考慮每個作業的等待時間而未考慮執行時間的長短,而SJF方式只考慮執行時間而未考慮等待時間的長短。因此,這兩種調度演算法在某些極端情況下會帶來某些不便。HRN調度策略同時考慮每個作業的等待時間長短和估計需要的執行時間長短,從中選出響應比最高的作業投入執行。響應比R定義如下: R =(W+T)/T = 1+W/T其中T為該作業估計需要的執行時間,W為作業在後備狀態隊列中的等待時間。每當要進行作業調度時,系統計算每個作業的響應比,選擇其中R最大者投入執行。這樣,即使是長作業,隨著它等待時間的增加,W / T也就隨著增加,也就有機會獲得調度執行。這種演算法是介於FCFS和SJF之間的一種折中演算法。由於長作業也有機會投入運行,在同一時間內處理的作業數顯然要少於SJF法,從而採用HRN方式時其吞吐量將小於採用SJF 法時的吞吐量。另外,由於每次調度前要計算響應比,系統開銷也要相應增加。

C. 如何判斷一個數值計算方法的優劣

演算法代表著用系統的方法描述解決問題的策略機制。也就是說,能夠對一定規范的輸入,在有限時間內獲得所要求的輸出。如果一個演算法有缺陷,或不適合於某個問題,執行這個演算法將不會解決這個問題。不同的演算法可能用不同的時間、空間或效率來完成同樣的任務。一個演算法的優劣可以用空間復雜度與時間復雜度來衡量。

D. 演算法可以使用哪些描述方式,各有什麼優勢

演算法的描述方式主要有自然語言,流程圖,偽代碼等,它們的優勢和不足可以簡單地歸納如下:1、自然語言優勢:自然語言描述的演算法通俗易懂,不用專門的訓練不足:a.由於自然語言的歧義性,容易導致演算法執行的不確定性.b.自然語言的語句一般較長,導致描述的演算法太長.c.當一個禪蔽陪演算法中循環和分歧較多時就很並擾難清晰地表示出來.d.自然語言表示的演算法不便翻譯成計算機程序設計語言.2、流程圖優勢:流程圖描述的演算法清晰簡潔,容易表達選擇結構,它不依賴於任何具體的計算機和計算機程序設計語言,從而有利於不同環境的程序設計.不足:不易書寫,修改起來比較費事,可以藉助於專用的流程圖製作軟體來賀蠢提升繪制和修改.3、偽代碼優勢:偽代碼迴避了程序設計語言的嚴格、煩瑣的書寫格式,書寫方便,同時具備格式緊湊,易於理解,便於向計算機程序設計語言過渡的優點.不足:由於偽代碼的種類繁多,語句不容易規范,有時會產生誤讀.

E. 簡述各種排序演算法的優缺點

1、冒泡排序租肢法:優點是數據穩定誤差小。缺點是弊掘世速度慢。

2、選擇排序法:優點是移動數據的次數少。缺點是比較數據的次數多。

3、插入排散迅序法:優點是數據穩定且速度快。缺點是比較次數浮動較大。

4、縮小增量排序法:優點是速度快且數據可以按一定順序排列。缺點是數據不穩定。

F. 常見的分類演算法有哪些他們各自的優缺點是什麼

優點:
1)所需估計的參數少,對於缺失數據不敏感。
2)有著堅實的數學基礎,以及穩定的分類效率。
缺點:
1)假設屬性之間相互獨立,這往往並不成立。(喜歡吃番茄、雞蛋,卻不喜歡
吃番茄炒蛋)。
2)需要知道先驗概率。
3)分類決策存在錯誤率。

優點:
1)不需要任何領域知識或參數假設。
2)適合高鏈激維數據。
3)簡單易於理解。
4)短時間內處理大量數據,得到可行且效果較好的結果。
5)能夠同時處理數據型和常規性屬性。
缺點:
1)對於各類別樣本數量不一致數據,信息增益偏向於那些具有更多數值的特徵。
2)易於過擬合。
3)忽略屬性之間的相關性。
4)不支持在線學習。

優點:
1)可以解決小樣本下機器學習的問題。
2)提高泛化性能。
3)可以解決高維、非線性問題。超高維文本分類仍受歡迎。
4)避免神經網路結構選擇和局部極小的問題。
缺點:
1)對缺失數據敏感。
2)內存消耗大,難以解釋。
3)運行和調差略煩人。

優點:
1)思想簡單,理論成熟,既可以用來做分類也可以用來做回歸;
2)可用於非線性分類;
3)訓練時間復雜度為 O(n);
4)准確度高,對數據沒有假設,對 outlier 不敏感;
缺點:
1)計算量太大
2)對於枯喚盯樣本分類不均衡的問題,會產生誤判。
3)需要大量的內存。
4)輸出的可解釋性不強。

優點:
1)速度快。
2)簡單易於理解,直接看到各個特徵的權重。
3)能容易地更新模型吸收新的數據。
4)如果想要一個概率框架,動態調整分類閥值。
缺點:
特徵處理復雜。需要歸一化和較多的特徵工程。

優點:
1)分類准確率高。
2)並行處理能力強。
3)分布式存儲和學習能力強。
4)魯棒性較強,不易受雜訊影響。
缺點:
1)需要大量參數(網路拓撲、閥值、閾值)。
2)結果難以解釋。
3)訓練時間過長。

優點:
1)adaboost 是一種有很高精度的分類器。
2)可以使用各種方法構建子分類器,Adaboost 演算法提供的是框架。
3)當使用簡沒和單分類器時,計算出的結果是可以理解的。而且弱分類器構造極其
簡單。
4)簡單,不用做特徵篩選。
5)不用擔心 overfitting。
缺點:
對 outlier (離群值)比較敏感

G. 演算法三種描述方法的優缺點

本來演算法和語言沒有太大關系,用什麼來描述都可以。優點:Java語言對於一些小的演算法描述起來更方便,因為Java語言的抽象程度比較高。並且不用考略內存分配的問題。缺點:但是對於大型演算法要考略到執行效率的時候,Java就不太適合,Java的運行速度相對於C/C++要慢一些,並且Java是在JVM虛擬機上運行的,雖然優點是跨平台,但是很多演算法是要求和底層打交道,用Java反而顯得不太方便。

H. 演算法三種描述方法的優缺點

本來演算法和語言沒有太大關系,用什麼來描述都可以。優點兄祥芹:Java語言對於一些小的演算法描述起來更方便,因為Java語言的抽象程度比較高。並且不用考略內存分配的問題。缺點:但是對於大型演算法要考略到執宴尺行效率的時候,Java就不太適合,Java的運行速度相對於C/C++要慢一些,並且Java是在JVM虛擬機上運行的,雖然優點是跨平台,但是很多演算法是要求和底層打交道,用Java反羨畢而顯得不太方便。

I. 演算法的三中描述方法中,自然語言,流程圖,程序代碼的優缺點

一、自然語言:

優點:易於理解;

缺點:不能讓計算機執行。

二、流程圖:

優點:自然語言的時(順)序描述,介於自然語言和程序代碼之間;

缺點:不依賴於具體計算機CPU。

三、程序代碼:

優點能讓計算機理解執行,

缺點:需懂專業技能才能編寫,不直觀、錯誤不容易排查。

自然語言主要是指人類使用的語言,匯編語言是一種低級語言,是一種直接面向硬體的語言,C也算是一種高級語言,但是相對VB等就比較低級了,所以一般說是中級語言,別的基本都是高級語言。

(9)演算法的描述方法優缺點擴展閱讀:

例如,一張流程圖能夠成為解釋某個零件的製造工序,甚至組織決策制定程序的方式之一。這些過程的各個階段均用圖形塊表示,不同圖形塊之間以箭頭相連,代表它們在系統內的流動方向。下一步何去何從,要取決於上一步的結果,典型做法是用「是」或「否」的邏輯分支加以判斷。

J. 舉例說明何謂演算法,特點是什麼評價一個演算法的優劣,主要從哪些因素分析

評價演算法優劣的四個分析因素:

1.正確性

能正確地實現預定的功能,滿足具體問題的需要。處理數據使用的演算法是否得當,能不能得到預想的結果。

2.易讀性

易於閱讀、理解和交流,便於調試、修改和擴充。寫出的演算法,能不能讓別人看明白,能不能讓別人明白演算法的邏輯?如果通俗易懂,在系統調試和修改或者功能擴充的時候,使系統維護更為便捷。

3.健壯性

輸入非法數據,演算法也能適當地做出反應後進行處理,不會產生預料不到的運行結果。數據的形式多種多樣,演算法可能面臨著接受各種各樣的數據,當演算法接收到不適合演算法處理的數據,演算法本身該如何處理呢?如果演算法能夠處理異常數據,處理能力越強,健壯性越好。

4.時空性

演算法的時空性是該演算法的時間性能和空間性能。主要是說演算法在執行過程中的時間長短和空間佔用多少問題。

演算法處理數據過程中,不同的演算法耗費的時間和內存空間是不同的。

(10)演算法的描述方法優缺點擴展閱讀:

演算法是對特定問題求解步驟的一種描述,它是指令的有限序列,其中每一條指令表示一個或多個操作。此外,一個演算法還具有下列5個重要的特性。

(1)、有窮性

一個演算法必須總是(對任何合法的輸入值)在執行有窮步之後結束,且每一步都可在有窮時間內完成。

(2)、確定性

演算法中每一條指令必須有明確的含義,讀者理解時不會產生二義性。即對於相同的輸入只能得到相同的輸出。

(3)、可行性

一個演算法是可行的,即演算法中描述的操作都是可以通過已經實現的基本運算執行有限次來實現的。

(4)、輸入

一個演算法有零個或多個的輸入,這些輸入取自於某個特定的對象的集合。

(5)、輸出

一個演算法有一個或多個的輸出,這些輸出是同輸入有著某種特定關系的量。

閱讀全文

與演算法的描述方法優缺點相關的資料

熱點內容
演算法戰書籍 瀏覽:575
卸載網路伺服器是什麼意思 瀏覽:123
菜鳥app的收貨地址在哪裡 瀏覽:488
伺服器配什麼顯卡 瀏覽:369
動態壁紙不動了是怎麼回事安卓 瀏覽:412
申萬宏源app哪裡看總盈利 瀏覽:133
單片機測電感電容 瀏覽:165
android在子線程中更新ui 瀏覽:694
演算法分析師面試有什麼要求 瀏覽:994
容器演算法大全圖解 瀏覽:69
cad後置命令失效 瀏覽:692
殺手阻擊存檔文件夾是哪一個 瀏覽:212
禁書pdf 瀏覽:920
沒用app語音智能提醒怎麼設置 瀏覽:502
linuxwiki安裝 瀏覽:680
隔牆演算法 瀏覽:174
安卓手機為什麼app不通知 瀏覽:550
申請雲伺服器購買費用 瀏覽:115
雲伺服器鏡像下載到本地 瀏覽:4
電腦文件夾名有橫杠 瀏覽:154