• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      計算機編程中數學算法優(yōu)化的策略研究

      2020-04-24 14:50:40殷華英楊紅梅
      電腦知識與技術 2020年5期
      關鍵詞:建模優(yōu)化

      殷華英 楊紅梅

      摘要:當前,信息技術已經滲透到人們生活的各個方面,各種應用程序已經深刻影響著人們的日常生活。程序由某種編程語言進行編寫。很多應用都需要借助數學算法來完成,不同的算法在計算機中運行的效率是不一樣的。在某些場合,算法的選擇及對應的優(yōu)化方法尤為重要。該文通過對計算機編程和算法的關系進行分析說明,并給出了對算法進行優(yōu)化的相關策略。

      關鍵詞:數學算法;計算機編程;優(yōu)化;建模

      中圖分類號:TP311 文獻標識碼:A

      文章編號:1009-3044(2020)05-0090-02

      開放科學(資源服務)標識碼(OSID):

      1 數學算法與計算機編程概述

      數學算法是根據問題數據之間的關系,給出實現問題解決方案的準確描述。在計算機編程中,算法將轉換為一條條指令。一個算法的優(yōu)劣可以通過空間復雜度和時間復雜度來度量。通過在程序中合理使用數學算法,可以提高程序執(zhí)行效率。一般情況下,數學算法需要以數學程序和方法對工作問題進行分析、設計,使問題解決方法可以得到有效的簡化,同時還可以快速獲得準確的結果。在目前的計算機編程中,算法和編程語言的結合已經非常緊密,算法也成為計算機科學中一個重要分支。應用數學算法可以和諸如C語言等面向過程的語言結合,也可以和面向對象的語言結合,使語言的適用性更廣泛,同時還可以對建模思想進行有效的創(chuàng)新,使建立的模型更加規(guī)范,使計算機程序可以在短時間內執(zhí)行完成,得出正確結果。

      通過數學思想建立數學模型,可以為解決實際問題提供便利,可以使復雜的問題以直觀的方式進行展示,簡化問題的煩瑣性,使抽象的問題變得具體。數學模型可以將實際問題進行有效的轉化,對問題進行深入的分析和研究,發(fā)現問題蘊含的規(guī)律,從而確定合理的解決方案,使問題得到順利的解決。

      計算機編程就是使用某種語言編寫程序代碼,使程序實現某種功能。程序在電腦上執(zhí)行時,將按照設定的流程進行運行。在選擇和應用算法時,有著非常具體明確的要求,合理的算法選擇,可以保證程序運行的高效、準確、資源占用少。計算機語言是計算機編程的基本實現方式,需要對計算機語言進行深入的分析和研究,才能對基于該語言的算法進行完善[3]。從本質上來說,在編程中使用算法就是數學思維在計算機語言中的具體應用,是電腦對復雜問題進行處理的有效方法。對計算機編程進行算法優(yōu)化,提高編程的質量,使計算機更有效率地完成任務。

      2 計算機編程中數學算法優(yōu)化的目的和意義

      同一個問題解決方法可以有多個,對應的算法也會不一樣。不同的算法雖然在結果上是相同的,但步驟和過程卻有很大差異,有的復雜煩瑣,有的簡單明了。如計算1到100之間所有數的累加和,依次累加也可得出結果,使用高斯方法,用加法結合律,也能求出結果,很明顯后一種方法簡單快捷得多。不同算法應用到程序中,程序執(zhí)行的效率會有差異,這就涉及算法優(yōu)劣的一個度量。衡量一個算法的優(yōu)劣有兩個指標:時間復雜度和空間復雜度。對于問題規(guī)模n,時間復雜度對應的數量級別越低,時間效率就越高??臻g復雜度是指算法從運行開始到結束所需的最大存儲空間,它與程序本身空間、輸人數據占用空間以及輔助變量空間占用有關,其中輔助變量占用空間與算法息息相關。算法的優(yōu)化是建立在算法分析的基礎上,選擇合適的算法。

      信息化社會中,計算機程序已經深刻影響了人們生活的各個方面,隨著編程方式的不斷創(chuàng)新,計算機編程受到更多人的關注和重視。計算機軟件編程技術對于問題處理非常關鍵。數學模型建立后,需要通過程序對模型進行測試和檢驗,以測試結果為基礎對程序代碼進行調整和完善,使解決方案更加符合實際需要。當所有測試工作都全部結束后,就可以將優(yōu)化后方案付諸實施,在實際活動中進行應用,對復雜問題進行解決和處理,得到正確的結果。

      在計算機編程中對數學算法進行優(yōu)化,尋找解決問題的最佳方式,可以使數學和計算機理論知識完美結合,使理論知識可以發(fā)揮最大的作用和價值,使計算機發(fā)揮最優(yōu)性能。應用數學算法對計算機編程優(yōu)化進行分析,需要借助問題的全面數據,深入多元地分析和研究對象特點,發(fā)現內在規(guī)律,為問題解決提供幫助,使問題得到有效的處理。

      3 數學算法優(yōu)化編程策略

      衡量算法性能優(yōu)劣有多個指標,算法優(yōu)化是指對算法的有關性能指標進行優(yōu)化,如時間復雜度、空間復雜度、健壯性等,使其符合最優(yōu)要求。大數據時代,大量的數據在不同的應用場景中產生,這些數據體量巨大,甚至達到pb級,數據也分散在不同地方,如何基于這些數據產生有效的結果,算法的選擇及對應的優(yōu)化方法尤為重要。對于計算機編程來講,高質量的算法一直是程序編寫者追求的目標。

      3.1 使用合適算法,建立正確數學模型

      一個復雜問題的解決,數學建模是必不可少的。數學建模就是根據實際問題來建立數學模型,對數學模型來進行求解,然后根據結果去解決實際問題。在對計算機編程進行優(yōu)化時,需要結合數學理論先對問題建立科學、規(guī)范的數學模型。數學算法在建立模型的過程中是首要考慮和解決的問題,但是相對比較抽象。數學模型轉化為計算機程序代碼有時需要借助特殊的數據存儲結構,如鏈表、二叉樹、圖等。數學建模是算法優(yōu)化的關鍵,對于復雜的問題用模型進行定量規(guī)范的描述,使其可以轉換為方便計算的數學結構。構建規(guī)范的數學模型,可以使建立程序流程更加嚴謹、代碼更為精煉。數學建模不僅可以使數學算法與編程語言完美結合,同時,算法的準確性也對程序優(yōu)化程度產生直接的影響。在求兩個正整數的最大公約數時,對應的算法就有很多,可以從較小的數開始,通過反向循環(huán)找到最大公約數,也可利用輾轉相除法,不同算法,執(zhí)行效率是明顯不同的。

      計算機編程優(yōu)化的重點在于問題建模。整合計算機和數學的理論知識,可以為建模提供準確的依據,使建模順利完成。數學模型建立是計算機編程的重要前提,如果想要保證編程優(yōu)化的合理,就需要準確應用數學算法。數學算法對于編程具有決定性的作用。在分析的過程中,需要對計算機編程影響因素進行分析和考慮,對算法進行全面的優(yōu)化,可以使計算機以最高的效率完成任務。如在大數據的過濾和推薦應用中,常用的推薦算法有:基于內容的推薦算法、基于協同過濾的推薦算法、基于關聯規(guī)則的推薦算法、基于用戶使用效用的推薦算法、基于知識推理的推薦算法以及它們的組合推薦算法。這些算法都有其特定的應用場景和目標,在使用這些算法建立模型時,要針對解決問題實際情況進行優(yōu)化。

      3.2 合理設計數據結構

      數據結構是具有特定關系的元素集合,是計算機存儲和組織數據的方式。算法是基于數據結構的解題步驟,合理的數據結構可以為算法優(yōu)勢發(fā)揮產生重要的作用,從根本提升算法性能。此外,還可以結合實際需要對內存空間進行嚴格的控制,使算法可以在短時間內迅速完成計算。例如,對于稀疏矩陣來說,按照正常的數組進行存儲,空間利用將會受到嚴重的影響,很多空間會被浪費。此時,可以運用三元組或十字鏈表來壓縮高稀疏矩陣存儲空間,滿足其在內存方面的需要。一旦確定三元組或十字鏈表表示稀疏矩陣,則基于這些數據結構的稀疏矩陣相關運算如轉置、相加等實現的算法也需要和數據結構相一致。再比如,從一個由若干個活動組成的AOE網中查找關鍵路徑,這是影響整個工程進度的重要路徑。這時可以借助圖這種數據結構,用鄰接表來存儲數據?;谶@種數據結構設計解決問題的算法:根據每個活動的最早開始時間和最遲開始時間來判斷該活動是否為關鍵活動,進而形成關鍵路徑。

      3.3 編程語言運用數學算法的優(yōu)化方法

      建模及算法,最終要轉化為程序代碼去由計算機執(zhí)行。不同語言編寫的程序,在編譯運行過程中,執(zhí)行機制都會有差異。在對算法進行優(yōu)化時,要充分了解使用語言的特點,使用相應的代碼實現。如c語言是面向過程的一種語言,作為系統級的一門語言,其應用范圍非常廣泛,系統級應用,硬件開發(fā)、通用軟件都可以使用它進行開發(fā)。在面向過程程序設計中,大的問題或任務會被分解成一系列小任務,每個小的任務由函數來完成。解決問題依賴于這些眾多的函數。一個復雜的算法,也可以由多個函數組成。如何設計這些函數,可以采用自頂向下、逐步求精的程序設計方法,也可以采用自下而上的方法。還有遞歸函數,這是一種在很多特殊場景使用方便的一種函數,但對于在不同語言的中用法,還是要注意其使用限制。c語言中,指針是一種很常用的類型,它可以直接對內存地址直接操作。算法在優(yōu)化時,就可以結合該語言的特性,進行對應的邏輯設計和語言實現。

      面向對象程序設計語言(OOP)是現在廣泛流行的編程語言,如Java,C++等。與面向過程語言相比,程序由類和對象組成。類是對客觀世界的抽象,包含數據和動作兩部分,對象由類創(chuàng)建。封裝、繼承和多態(tài)是面向對象程序設計語言的基本特征。在面向對象程序設計時,需要明確設定問題涉及的類類型,對于不同類進行針對性的封裝和繼承,從而將問題中的對象轉變?yōu)槌绦蛑械膶ο?,使問題描述的概念與結構和問題解決方案的結構保持一致,便于軟件的開發(fā)和實現。同時對封裝處理方式進行應用,使編程效率得到顯著的提升,盡快實現編程目標。在面向對象程序設計合理運用建模思想,使程序設計語言優(yōu)勢得以發(fā)揮,可以保證程序設計的規(guī)范性。算法優(yōu)化時,要充分發(fā)揮不同程序設計語言特點,靈活進行設計,達到最優(yōu)效果。

      4 結束語

      軟件開發(fā)需要計算機編程才能得以實現,而數學算法是計算機編程的核心,為軟件性能和可靠性提升提供充足的保證,使計算機編程得到有效的創(chuàng)新。在進行計算機編程時,數學算法有時會起到決定作用,也是程序實現功能的重要基礎。數學算法與計算機編程具有緊密的聯系,隨著計算機技術和數學的不斷融合創(chuàng)新,數學算法在新技術、新場景中的應用將日益明顯。在軟件開發(fā)過程中,要充分利用數學算法建立模型,并進行針對性的算法優(yōu)化,從而滿足不同任務的需要。

      參考文獻:

      [1]姚玉閣,韓曉麗,數學算法對計算機編程優(yōu)化的研究[Jl.電子技術與軟件工程,2018,5(16):208-212.

      [2]歐陽玉峰,周瑩瑩.數學算法對計算機編程優(yōu)化的研究[Jl.黑龍江科技信息,2018,9(6):146-148.

      [3]曾鎮(zhèn)東,周宇飛,周鵬飛,數學算法對計算機編程優(yōu)化的分析與研究[Jl電腦知識與技術,2018,12(21):245-246.

      [4]汪海軍,王曉宇,朱艷芬.數學算法對計算機編程的優(yōu)化研究[J].電腦迷,2018,3(6):175-178.

      【通聯編輯:李雅琪】

      收稿日期:2019-12-25

      作者簡介:殷華英(1976-),男,河北承德人,講師,碩士,研究方向為服務計算、大數據應用;楊紅梅(1977-),女(滿族),河北承德人,講師,碩士,研究方向為數學教育。

      猜你喜歡
      建模優(yōu)化
      超限高層建筑結構設計與優(yōu)化思考
      房地產導刊(2022年5期)2022-06-01 06:20:14
      民用建筑防煙排煙設計優(yōu)化探討
      關于優(yōu)化消防安全告知承諾的一些思考
      一道優(yōu)化題的幾何解法
      由“形”啟“數”優(yōu)化運算——以2021年解析幾何高考題為例
      聯想等效,拓展建?!浴皫щ娦∏蛟诘刃鲋凶鰣A周運動”為例
      縝密審題,準確建模,學以致用
      基于PSS/E的風電場建模與動態(tài)分析
      電子制作(2018年17期)2018-09-28 01:56:44
      不對稱半橋變換器的建模與仿真
      IDEF3和DSM在拆裝過程建模中的應用
      连山| 连南| 江山市| 宁海县| 扎赉特旗| 家居| 昭通市| 元江| 海兴县| 册亨县| 虹口区| 罗平县| 蒙阴县| 合作市| 景东| 武定县| 逊克县| 东海县| 务川| 濮阳县| 虹口区| 萝北县| 彝良县| 道孚县| 河南省| 夹江县| 航空| 嘉鱼县| 大埔县| 浮梁县| 齐河县| 祁连县| 曲阳县| 农安县| 东山县| 通许县| 镇原县| 梁平县| 宣汉县| 富顺县| 祁东县|