潛江市醫療保障局 湖北 潛江 433100
計算機借助運行程序解決相關問題,而所運行的程序主要由兩部分構成,分別為數據結構以及算法。后者作為一組程序的核心,通常是用做解決做什么以及如何做,這樣才能讓程序得到有效執行。目前,主要通過三種方式來表示算法,分別為偽代碼、文字以及流程圖,然而計算機無法直接識別算法,所以必須把算法轉變成相應的程序語言,這樣才能最大程度利用算法的價值,這說明算法設計以及評價極具重要意義。
1.1 最優化問題 算法的價值在于借助運算有效解決特定或者某一種問題。然而,就確定問題而言,通常會同時存在諸多算法設計方法,另外其所占有的時間或者資源明顯相應區別。那么,站在技術人員的角度,應對對比分析相關設計方法,進而篩選最優方案。以處理算法設計最優化問題為例,技術人員應該充分考慮具體的篩選規范,例如設計成本以及運算速度等,需要注意的是,此類篩選規范既可以為組合或者單一的,具體采取何種形式需要結合實際狀況加以明確,在處理內容極為復雜以及難度較高的問題時,高度精確的設計方案往往會花費巨額策劃你根本,因此處理最優化問題,是每一位計算機人員需要高度關注的問題之一。
1.2 復雜性問題 通常情況下,算法設計復雜性表現在空間以及時間上。具體而言,在面臨難度較高的問題時,涉及到大量的程序語句,這給計算機算法運行空間提出較高要求,一旦計算機無法有效匹配相應空間,會在一定程度上加大算法設計的整體難度[1]。另外,無論何種形式的算法,其執行環節到結束環節會持續一定時間,有效平衡算法運行時間以及工作效率已經成為算法設計必須高度重視的問題。此外,計算機算法的運用還應該分析在單位時間內能夠完成何種比例的工作量,以及相關問題是否得到徹底解決。因此技術人員需要有針對性的把算法的空間、時間復雜度。
1.3 可靠性問題 在計算機實際執行程序的過程中,其自身無法準確判斷程序具體數值精確性,這會引發初始值誤差。比如,如果受估算錯誤的影響,形成的實際值和設定值具有明顯誤差的初始值,未被計算機系統及時檢測并篩選出來,最終滲透之了全部程序之中。就程序運行而言,計算機是否可以控制存在存在誤差的程序片段,也應該是算法設計需要重點考慮的問題。不同類型的算法控制相關運算步驟的程度有一定差異,因此在設計算法過程中,應該結合程序運算的具體要求,首先應該應用控制力具有明顯優勢的方法,這是增強整個程序穩定性的重要家住。
從前文可知,計算機算法設計必須要把握可靠性以及最優性,這說明在評價算法時既需要研究其結果,也要考慮算法的資源占用情況以及持續時間,本文將借助案例來研究評價標準。
2.1 算法案例 利用歐幾里得算法,計算任意兩個正整數的最大公約數。利用C語言,其具體的算法設計詳細情況如下:

利用以上算法確定任意兩個素數最大公約數,應確定相應的兩個素數,即M與N,M與N不相同,同時也要選取參數y,讓條件得以成立,即Gcd(y,(M-1)(N-1))=1。基于互素條件,確定額外的參數m,把ym=1(mod(M-1)(N-1))的參量視作后續運算的一個重要環節,結束該環節后,可得出關系式n=M*N,而滿足此條件的所有M、N值,形成了最終集合。從所有滿足的條件的數值中,選擇其中的最大值,就是最大公約數。
2.2 算法評價 在無序表中實施查詢與操作,按照執行順序基于檢索,對于從屬于查找類行的算法而言,其擁有平均長度不超過(n+1)/2的約束條件,在二分法中,其運算長度是[log2n]+1。那么,基于實際應用的視角,如果對查詢效率具有嚴格要求,應借助無序性算法特點來對有序性線性特征加以評價。所以,就實際案例而言,應該通過較短的運算時間來逐步化解其負責程度,而借助平均運算效果來評價其實際占用的存儲空間。設計計算機算法已經出現了相應的經典操作,例如最大期 望(EM)算法、A*搜尋算法、歐幾里得算法以及二分取中查找算法等,以上算法都已經廣泛應用于相關實踐工作中,所以將其視作對比參考。把設計算法和以往的經典算法予以對比,把計算機真實運行效率視作評估條件,以此來證明算法是否可以消除復雜性以及獲得最優方案的計算能力[2]。在最開始分析算法是否導致了相應的復雜性,需應用大致估算數量評估模式,將實際運算效率的對比分析視作評價指標,應對其運算效果加以分析和判斷。另外,還應借助相互比較的方式,對計算機算法實施模糊定量,同時由此篩選抽象描述方案,通過這種方式來分析算法的復雜性程度。
綜上所述,可以把計算機算法理解成把輸入參與,基于相應的規范以及條件,轉變成輸出的全部過程。由于計算機實現的功能具有差異,因此應該借助對應的算法,這樣才可以獲得更高的運算效率,并且減少對資源的占用情況。對于技術人員而言,需要把握可靠性以及最優性原則,并把其應用在設計以及評價的各個環節。此外,就已設計好的算法而言,應該考慮程序語言予以充分驗證,不斷對算法展開優化,這樣才能增強設計方案的合理化程度。