2012年3月計算機二級公共基礎(chǔ)知識補充知識點:數(shù)據(jù)結(jié)構(gòu)與算法

字號:

算法的基本特性:可行性,確定性,有窮性,擁有足夠的情報。
    算法是指解題方案準確而完善的描述。
    算法復(fù)雜度包括時間復(fù)雜度和空間復(fù)雜度。
    時間復(fù)雜度:執(zhí)行算法所需要的計算機工作量。
    空間復(fù)雜度:執(zhí)行算法所要的內(nèi)存空間。
    數(shù)據(jù)結(jié)構(gòu)分為邏輯結(jié)構(gòu)和存儲結(jié)構(gòu)。常用的存儲結(jié)構(gòu)有順序結(jié)構(gòu)、鏈式存儲結(jié)構(gòu)、索引存儲結(jié)構(gòu)、
    數(shù)據(jù)邏輯結(jié)構(gòu):反映數(shù)據(jù)元素之間邏輯關(guān)系的數(shù)據(jù)結(jié)構(gòu)。
    數(shù)據(jù)存儲結(jié)構(gòu):數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機存儲空間中的存放形式。
    隊:FIFO,一頭進,另一頭出來。循環(huán)隊列,一般題型:概念、計算隊列中還有幾個元素(尾指針減去頭指針)。
    棧:FILO,只能從一個頭進,出。一般題型:概念、問A B C D四個選項中不能出棧的次序。
    線性表的基本概念。記住線性表頂多有一個頭節(jié)點和一個后繼節(jié)點。所以棧、隊列、單向鏈表都是線性表,樹、雙向鏈表不是線性表。
    樹;葉子節(jié)點最多的個數(shù):2n-1個節(jié)點。一共的節(jié)點數(shù)目2n-1,節(jié)點為2的數(shù)目為節(jié)點為1的數(shù)目減一。也就是n2=n0-1
    滿二叉樹:_____________________。
    完全二叉樹:_____________________。
    二叉樹中,度為0的數(shù)目比度為2的數(shù)目多一個。 n0=n2+1
    二叉樹的前序遍歷、中序遍歷、后序遍歷是考試重點。
    順序查找:長度為n的線性表,平均要進行n/2,最壞要進行n次比較。(??迹?BR>    二分查找:對于長度為n的線性表,在最壞情況進行 log2n 次。
    要背的話:
    算法的時間復(fù)雜度和空間復(fù)雜度沒有必然的聯(lián)系。
    一個數(shù)據(jù)結(jié)構(gòu)的邏輯結(jié)構(gòu)根據(jù)需要可以有多個存儲結(jié)構(gòu)。存儲結(jié)構(gòu)的不同,會造成處理的效率不同。
    棧具有記憶性。如果要存的數(shù)據(jù)是1 2 3 4 5,??梢圆豁樞虼鎯?。
    我們存放數(shù)據(jù)的時候,存儲空間不一定是連續(xù)的,并且各個元素的存儲順序可以是任意的。如:鏈表。
    在線性鏈表中查找一個元素比在順序表中查找一個元素要快,
    冒泡排序、選擇排序、交換排序、堆排序中平均排序次數(shù)最快的是 堆排序。
    能夠用二分查找的是順序存儲的有序線性表。