潛江市醫(yī)療保障局 湖北 潛江 433100
計算機借助運行程序解決相關(guān)問題,而所運行的程序主要由兩部分構(gòu)成,分別為數(shù)據(jù)結(jié)構(gòu)以及算法。后者作為一組程序的核心,通常是用做解決做什么以及如何做,這樣才能讓程序得到有效執(zhí)行。目前,主要通過三種方式來表示算法,分別為偽代碼、文字以及流程圖,然而計算機無法直接識別算法,所以必須把算法轉(zhuǎn)變成相應的程序語言,這樣才能最大程度利用算法的價值,這說明算法設(shè)計以及評價極具重要意義。
1.1 最優(yōu)化問題 算法的價值在于借助運算有效解決特定或者某一種問題。然而,就確定問題而言,通常會同時存在諸多算法設(shè)計方法,另外其所占有的時間或者資源明顯相應區(qū)別。那么,站在技術(shù)人員的角度,應對對比分析相關(guān)設(shè)計方法,進而篩選最優(yōu)方案。以處理算法設(shè)計最優(yōu)化問題為例,技術(shù)人員應該充分考慮具體的篩選規(guī)范,例如設(shè)計成本以及運算速度等,需要注意的是,此類篩選規(guī)范既可以為組合或者單一的,具體采取何種形式需要結(jié)合實際狀況加以明確,在處理內(nèi)容極為復雜以及難度較高的問題時,高度精確的設(shè)計方案往往會花費巨額策劃你根本,因此處理最優(yōu)化問題,是每一位計算機人員需要高度關(guān)注的問題之一。
1.2 復雜性問題 通常情況下,算法設(shè)計復雜性表現(xiàn)在空間以及時間上。具體而言,在面臨難度較高的問題時,涉及到大量的程序語句,這給計算機算法運行空間提出較高要求,一旦計算機無法有效匹配相應空間,會在一定程度上加大算法設(shè)計的整體難度[1]。另外,無論何種形式的算法,其執(zhí)行環(huán)節(jié)到結(jié)束環(huán)節(jié)會持續(xù)一定時間,有效平衡算法運行時間以及工作效率已經(jīng)成為算法設(shè)計必須高度重視的問題。此外,計算機算法的運用還應該分析在單位時間內(nèi)能夠完成何種比例的工作量,以及相關(guān)問題是否得到徹底解決。因此技術(shù)人員需要有針對性的把算法的空間、時間復雜度。
1.3 可靠性問題 在計算機實際執(zhí)行程序的過程中,其自身無法準確判斷程序具體數(shù)值精確性,這會引發(fā)初始值誤差。比如,如果受估算錯誤的影響,形成的實際值和設(shè)定值具有明顯誤差的初始值,未被計算機系統(tǒng)及時檢測并篩選出來,最終滲透之了全部程序之中。就程序運行而言,計算機是否可以控制存在存在誤差的程序片段,也應該是算法設(shè)計需要重點考慮的問題。不同類型的算法控制相關(guān)運算步驟的程度有一定差異,因此在設(shè)計算法過程中,應該結(jié)合程序運算的具體要求,首先應該應用控制力具有明顯優(yōu)勢的方法,這是增強整個程序穩(wěn)定性的重要家住。
從前文可知,計算機算法設(shè)計必須要把握可靠性以及最優(yōu)性,這說明在評價算法時既需要研究其結(jié)果,也要考慮算法的資源占用情況以及持續(xù)時間,本文將借助案例來研究評價標準。
2.1 算法案例 利用歐幾里得算法,計算任意兩個正整數(shù)的最大公約數(shù)。利用C語言,其具體的算法設(shè)計詳細情況如下:
利用以上算法確定任意兩個素數(shù)最大公約數(shù),應確定相應的兩個素數(shù),即M與N,M與N不相同,同時也要選取參數(shù)y,讓條件得以成立,即Gcd(y,(M-1)(N-1))=1?;诨ニ貤l件,確定額外的參數(shù)m,把ym=1(mod(M-1)(N-1))的參量視作后續(xù)運算的一個重要環(huán)節(jié),結(jié)束該環(huán)節(jié)后,可得出關(guān)系式n=M*N,而滿足此條件的所有M、N值,形成了最終集合。從所有滿足的條件的數(shù)值中,選擇其中的最大值,就是最大公約數(shù)。
2.2 算法評價 在無序表中實施查詢與操作,按照執(zhí)行順序基于檢索,對于從屬于查找類行的算法而言,其擁有平均長度不超過(n+1)/2的約束條件,在二分法中,其運算長度是[log2n]+1。那么,基于實際應用的視角,如果對查詢效率具有嚴格要求,應借助無序性算法特點來對有序性線性特征加以評價。所以,就實際案例而言,應該通過較短的運算時間來逐步化解其負責程度,而借助平均運算效果來評價其實際占用的存儲空間。設(shè)計計算機算法已經(jīng)出現(xiàn)了相應的經(jīng)典操作,例如最大期 望(EM)算法、A*搜尋算法、歐幾里得算法以及二分取中查找算法等,以上算法都已經(jīng)廣泛應用于相關(guān)實踐工作中,所以將其視作對比參考。把設(shè)計算法和以往的經(jīng)典算法予以對比,把計算機真實運行效率視作評估條件,以此來證明算法是否可以消除復雜性以及獲得最優(yōu)方案的計算能力[2]。在最開始分析算法是否導致了相應的復雜性,需應用大致估算數(shù)量評估模式,將實際運算效率的對比分析視作評價指標,應對其運算效果加以分析和判斷。另外,還應借助相互比較的方式,對計算機算法實施模糊定量,同時由此篩選抽象描述方案,通過這種方式來分析算法的復雜性程度。
綜上所述,可以把計算機算法理解成把輸入?yún)⑴c,基于相應的規(guī)范以及條件,轉(zhuǎn)變成輸出的全部過程。由于計算機實現(xiàn)的功能具有差異,因此應該借助對應的算法,這樣才可以獲得更高的運算效率,并且減少對資源的占用情況。對于技術(shù)人員而言,需要把握可靠性以及最優(yōu)性原則,并把其應用在設(shè)計以及評價的各個環(huán)節(jié)。此外,就已設(shè)計好的算法而言,應該考慮程序語言予以充分驗證,不斷對算法展開優(yōu)化,這樣才能增強設(shè)計方案的合理化程度。