计算机公共基础知识论文,计算机等级考试二级公共基础知识汇总.doc
計算機等級考試二級公共基礎知識匯總.doc
計算機等級考試二級公共基礎知識
第1章 數據結構與算法
1.1 算法
1.1.1 算法的基本概念
算法是指對解題方案的準確而完整的描述。簡單地說,就是解決問題的操作步驟。
值得注意的是,算法不等于數學上的計算方法,也不等于程序。在用計算機解決實際問題時,往往先設計算法,用某種表達方式(如流程圖)描述,然后再用具體的程序設計語言描述此算法(即編程)。在編程時由于要受到計算機系統運行環境的限制,因此,程序的編制通常不可能優于算法的設計。
1.1.1.1 算法的基本特征
一般來說,一個算法應具有以下4個基本特征。
(1)可行性(Effectiveness):算法在特定的執行環境中執行,應當能夠得出滿意的結果,即必須有一個或多個輸出。
(2)確定性(Definiteness):算法中的每一個步驟都必須有明確的定義,不允許有模棱兩可的解釋和多義性。
(3)有窮性(Finiteness):算法必需在有限時間內做完,即算法必需能在執行有限個步驟之后終止。
(4)擁有足夠的情報:要使算法有效必需為算法提供足夠的情報。當算法擁有足夠的情報時,此算法才是有效的;而當提供的情報不夠時,算法可能無效。
1.1.1.2 算法的基本要素
通常,一個算法由兩種基本要素組成。
?對數據對象的運算和操作;
?算法的控制結構,即運算或操作時間的順序。
(1)算法中對數據的運算和操作
在一般的計算機系統中,基本的運算和操作有以下4類,如表1-1所示。
表1-1 4類基本的運算和操作
運算類型 操作實 例算術運算+、-、×、÷a+b、3-1邏輯運算與(&)、或(‖)、非(!)!1、1‖0、1&1關系運算><=≠a>b、a=c 、b≠c數據傳輸賦值、輸入、輸出a=0、b=3(2)算法的控制結構
一個算法的功能不僅僅取決于所選用的操作,而且還與各操作之間的執行順序有關。算法中各操作之間的執行順序稱為算法的控制結構。
算法的控制結構給出了算法的基本框架,它不僅決定了算法中各操作的執行順序,而且也直接反映了算法的設計是否符合結構化原則。描述算法的工具通常有傳統流程圖、N-S結構化流程圖、算法描述語言等。一個算法一般都可以用順序、選擇、循環3種基本控制結構組合而成。
1.1.1.3 算法設計的基本方法
雖然設計算法是一件非常困難的工作,但是算法設計也不是無章可循,人們經過實踐,總結和積累了許多行之有效的方法。常用的幾種算法設計方法有列舉法、歸納法、遞推法、遞歸法、減半遞推技術和回溯法。
1.1.1.4 算法設計的要求
通常一個好的算法應達到如下目標:
(1)正確性(Correctness)
正確性大體可以分為以下4個層次:
①程序不含語法錯誤;
②程序對于幾組輸入數據能夠得出滿足規格說明要求的結果;
③程序對于精心選擇的典型、苛刻而帶有刁難性的幾組輸入數據能夠得出滿足規格說明要求的結果;
④程序對于一切合法的輸入數據都能產生滿足規格說明要求的結果。
(2)可讀性(Readability)
算法主要是為了方便人的閱讀與交流,其次才是其執行。可讀性好有助于用戶對算法的理解;晦澀難懂的程序易于隱藏較多錯誤,難以調試和修改。
(3)健壯性(Robustness)
當輸入數據非法時,算法也能適當地做出反應或進行處理,而不會產生莫名其妙的輸出結果。
(4)效率與低存儲量需求
效率指的是程序執行時,對于同一個問題如果有多個算法可以解決,執行時間短的算法效率高;存儲量需求指算法執行過程中所需要的最大存儲空間。
1.1.2 算法的復雜度
算法的復雜度是算法效率的度量,是評價算法優劣的重要依據。
算法復雜度包括算法的時間復雜度和算法的空間復雜的。
1.1.2.1 算法的時間復雜度
算法的時間復雜度是指執行算法所需要的計算工作量。
為了能夠比較客觀地反映出一個算法的效率,在度量一個算法的工作量時,不僅應該與所使用的計算機、程序設計語言以及程序編制者無關,而且還應該與算法實現過程中的許多細節無關。
算法的計算工作量是用算法所執行的基本運算次數來度量的,而算法所執行的基本運算次數是問題規模(通常用整數n表示)的函數。即
算法的工作量=f(n)
例如,在N×N矩陣相乘的算法中,整個算法的執行時間與該基本操作(乘法)重復執行的次數n3成正比,也就是時間復雜度為n3,即
f(n)=O(n3)
在有的情況下,算法中的基本操作重復執行的次數還隨問題的輸入數據集不同而不同。例如在起泡排序的算法中,當要排序的數組a初始序列為自小至大有序時,基本操作的執行次數為0;當初始序列為自大至小有序時,基本操作的執行次數為n(n-1)/2。對這類算法,可以采用平均性態和最壞情況復雜性兩種方法來分析。
1.1.2.2 算法的
總結
以上是生活随笔為你收集整理的计算机公共基础知识论文,计算机等级考试二级公共基础知识汇总.doc的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 服务器虚拟机网卡怎么配置文件,VMWAR
- 下一篇: 华为服务器维护岗位,服务器日常维护工作