著名計算機科學家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.算法的'空間複雜度
算法的空間複雜度是指執行這個算法所需要的內存空間。