著名計算機科學家Edsger Dijkstra曾經指出:“電腦科學並不只是關於計算機,就像天文學並不只是關於望遠鏡一樣。”下面是小編整理的關於計算機二級公共基礎知識常見的知識點,歡迎大家參考!
資料結構與演算法
經過對部分考生的調查以及對近年真題的總結分析,筆試部分經常考查的是演算法複雜度、資料結構的概念、棧、二叉樹的遍歷、二分法查詢,讀者應對此部分進行重點學習。
詳細重點學習知識點:
1.演算法的概念、演算法時間複雜度及空間複雜度的概念
2.資料結構的定義、資料邏輯結構及物理結構的定義
3.棧的定義及其運算、線性連結串列的儲存方式
4.樹與二叉樹的概念、二叉樹的基本性質、完全二叉樹的概念、二叉樹的遍歷
5.二分查詢法
6.氣泡排序法
1.1演算法
考點1 演算法的基本概念
考試連結:
考點1在筆試考試會考核的機率為30%,主要是以填空題的形式出現,分值為2分,此考點為識記內容,讀者還應該瞭解演算法中對資料的基本運算。
計算機解題的過程實際上是在實施某種演算法,這種演算法稱為計算機演算法。
1.演算法的基本特徵:可行性、確定性、有窮性、擁有足夠的情報。
2.演算法的基本要素:
(1)演算法中對資料的運算和操作
一個演算法由兩種基本要素組成:一是對資料物件的運算和操作;二是演算法的控制結構。
在一般的計算機系統中,基本的運算和操作有以下4類:算術運算、邏輯運算、關係運算和資料傳輸。
(2)演算法的控制結構:演算法中各操作之間的執行順序稱為演算法的控制結構。
描述演算法的工具通常有傳統流程圖、N-S結構化流程圖、演算法描述語言等。一個演算法一般都可以用順序、選擇、迴圈3種基本控制結構組合而成。
考點2 演算法複雜度
考試連結:
考點2在筆試考試中,是一個經常考查的內容,在筆試考試中出現的機率為70%,主要是以選擇的形式出現,分值為2分,此考點為重點識記內容,讀者還應該識記演算法時間複雜度及空間複雜度的概念。
1.演算法的時間複雜度
演算法的時間複雜度是指執行演算法所需要的計算工作量。
同一個演算法用不同的語言實現,或者用不同的編譯程式進行編譯,或者在不同的計算機上執行,效率均不同。這表明使用絕對的時間單位衡量演算法的效率是不合適的。撇開這些與計算機硬體、軟體有關的因素,可以認為一個特定演算法"執行工作量"的大小,只依賴於問題的規模(通常用整數n表示),它是問題規模的函式。即
演算法的工作量=f(n)
2.演算法的'空間複雜度
演算法的空間複雜度是指執行這個演算法所需要的記憶體空間。