摘 要:計算機軟件的基礎數據結構,主要負責講解計算機內信息的寄存方式、集合和整理,通常是與算法密不可分的。算法是能夠被計算機分辨和識別的指令,指令的內容就是通過計算機軟件基礎數據結構來進行寄存的信息。數據結構的算法分析,可以使計算機處理比較復雜的難題,提高了效率,本文對計算機基礎數據結構的算法進行了分析。
關鍵詞:計算機軟件;基礎數據結構;算法分析;復雜度
1 算法的概述
1.1 算法兩要素
算法主要包括兩部分:信息的處理操作和信息處理方式的操作結構,對信息的處理操作一般包括邏輯符號、數學計算、信息傳遞和信息對比,操作結構可以指引指令有序進行,通常用流程圖來描述。
1.2 算法的主要特征
有限指令的主要部分就是算法,有限指令能夠明確處理問題的步驟。面對問題,算法能夠對各種定值指令進行預算處理,通過運算傳達最后的計算結果。算法的特點主要為:指令的數量必須有限;指令不能超出計算機的能力范圍;被處理的對象不受指令影響,對象數量不影響指令,必須要有至少一個傳遞末端。
1.3 算法表示方法
目前編譯算法一般都用符號和文字來進行,主要包括程序圖、C語言、PAD圖,一般性文字等。C語言和一般性文字能夠具體詳細的描述算法,其他方法描述算法是大致內容并進行作圖,更加直觀的表達,便于學習理解。
1.4 常用的算法
常用的算法主要包括枚舉法、迭代法、遞推和遞歸法。枚舉法內容是指通過信息特點對運行結果的可能區域進行估計,然后利用一些方法手段檢查各個結果,直到所有結果都符合。在驗證過程中,驗證對象如果滿足算法要求,這個驗證對象就是最終計算機傳遞的結果,如果沒有達到要求的對象,那么算法就無解。迭代法是一種較為粗略的方法,可以把麻煩復雜的問題轉化為較為簡單的迭代式子,通過循環這個步驟,達到由繁化簡并最終得出答案的目的,該法適合非數值類問題的計算。遞推法和遞歸法是主要的算法制定編寫法,都通過運用特殊公式逐項推導而來的。
2 算法設計要求
算法像語言一樣,是計算機和人類溝通時的語言,通過算法,人們不僅可以跟計算機進行交流,還可以按照指令執行任務。因此所有的指令必須要符合一定的行為準則,算法的設計要求主要包括以下幾點:
2.1 具有正確性
設計者編譯指令時必須要按照算法的規則來進行,從而保證人和計算機正確的交流,保證計算機執行好任務。正確性中最重要的就是避免語法錯誤的出現,從而能夠為正確答案的得出做好準備。
2.2 具有可讀性
算法具有可持續性,是指算法總體思路容易讓人理解,是想一下,一個非常混亂的算法,即使再聰明的人也很難明白算法原理的,更不用說得出計算機答案。
2.3 具有穩定性
就像機械設備似的,如果工作狀態不穩定,那么就會很容易出現難懂奇怪的問題,算法如果不夠穩定,計算機在正常運行的時候,也會很容易出現錯誤。經常出現的錯誤就是亂碼,就會讓人感覺像是算法存在嚴重問題。
2.4 具有高效低耗的性能
計算機性能的好壞取決于內部的器件好壞,算法也是這樣的。好算法可以用最低能耗最短時間來得出答案,計算機內部的工作原理可以決定這些因素,其中最主要的就是存儲大小和運算速度的聯系。
3 算法復雜度的分析
算法復雜度決定了一個算法執行并得出結果需要的總時間,設計者通常是根據算法復雜度來判斷對算法的總效率來進行判斷的,這是因為時間的消耗和算法需要的內存情況是直接聯系掛鉤的。評判者主要是依據運行的時長以及內存的消耗來進行判斷的。下面就簡要介紹一下運行時長以及內存消耗:
3.1 運行的時長
通常來講設計者不是依據算法的總運行時間來衡量時間長短的,這是因為計算機仍然是算法正常運行的載體,計算機的運行速度跟許多因素有關,例如計算機的運行環境、計算機內部使用損耗等。因此,同一種算法在不同的計算機運行載體上運行的效果也是有很大差別的。一般來說,計算機運行時長的大小不是衡量算法效率的一種標準,而是判斷算法運行時間損耗的一項指標,能夠在一定程度上評判算法運行的好壞。
3.2 內存的消耗
計算機運行算法,會暫時占用相關的空間,被占用的空間大小尺度就是常說的內存消耗,內存消耗與相關的函數緊密聯系。內存消耗主要內容是傳入和傳出信息占用的內存、算法在運行過程中暫時占用的內存等。傳入和傳出信息占用的內存跟需要解決處理的問題是相關的,不會因算法變化而變化;算法運行中暫時占用的內存大小是由算法來決定的,不同的算法需要不同的內存,因此,比較好的算法需要的內存也比較少,這也是內存消耗成為評判算法好壞的又一個非常重要的標準。
[參考文獻]
[1]鄧龍.計算機軟件基礎數據結構算法[J].信息與電腦(理論版),2012(6).
[2]李毅波.數據結構與算法學習系統的設計與實現[D].中南大學,2012.
[3]曹林,繆旻,樊文波.計算機軟件基礎課程設計的探索與實踐[J].中國科教創新導刊,2013(4).
[4]王曉蓉,陳笑蓉,陳梅.基于計算機軟件開放實驗平臺的《數據結構》動態演示設計[J].貴州大學學報(自然科學版),2011(3).