二級公共基礎(chǔ)知識考試要點:數(shù)據(jù)結(jié)構(gòu)與算法

字號:

1.1算法
     算法:是指解題方案的準確而完整的描述。
     算法不等于程序,也不等于計算機方法,程序的編制不可能優(yōu)于算法的設(shè)計。
     算法的基本特征:是一組嚴謹?shù)囟x運算順序的規(guī)則,每一個規(guī)則都是有效的,是明確的,此順序?qū)⒃谟邢薜拇螖?shù)下終止。
     特征包括:
     (1)可行性;
     (2)確定性,算法中每一步驟都必須有明確定義,不允許有模棱兩可的解釋,不允許有多義性;
     (3)有窮性,算法必須能在有限的時間內(nèi)做完,取能在執(zhí)行有限個步驟后終止,包括合理的執(zhí)行時間的含義;
     (4)擁有足夠的情報。
     算法的基本要素:一是對數(shù)據(jù)對象的運算和操作;二是算法的控制結(jié)構(gòu)。
     指令系統(tǒng):一個計算機系統(tǒng)能執(zhí)行的所有指令的集合。
     基本運算和操作包括:算術(shù)運算、邏輯運算、關(guān)系運算、數(shù)據(jù)傳輸。
     算法的控制結(jié)構(gòu):列舉法、歸納法、遞推、遞歸、減斗遞推技術(shù)、回溯法。
     算法復(fù)雜度:算法時間復(fù)雜和算法空間復(fù)雜度。
     算法時間復(fù)雜度是指執(zhí)行算法所需要的計算工作量。
     算法空間復(fù)雜度是指執(zhí)行這個算法所需要的內(nèi)存空間。
     1.2數(shù)據(jù)結(jié)構(gòu)的基本概念
     數(shù)據(jù)結(jié)構(gòu)研究的三個方面:
     (1)數(shù)據(jù)集合中和數(shù)元素之間所固有的邏輯關(guān)系,即數(shù)據(jù)的邏輯結(jié)構(gòu);
     (2)在對數(shù)據(jù)進行處理時,各數(shù)據(jù)元素在計算機中的存儲關(guān)系,即數(shù)據(jù)的存儲結(jié)構(gòu);
     (3)對各種數(shù)據(jù)結(jié)構(gòu)進行的運算。
     數(shù)據(jù)結(jié)構(gòu)是指相互有關(guān)聯(lián)的數(shù)據(jù)元素的集合。
     數(shù)據(jù)的邏輯結(jié)構(gòu)包含:
     (1)表示數(shù)據(jù)元素的信息;
     (2)表示各數(shù)據(jù)元素之間的前后件關(guān)系。
     數(shù)據(jù)的存儲結(jié)構(gòu)有順序、鏈接、索引等。
     線性結(jié)構(gòu)條件:
     (1)有且只有一個根結(jié)點;
     (2)每一個結(jié)點最多有一個前件,也最多有一個后件。
     非線性結(jié)構(gòu):不滿足線性結(jié)構(gòu)條件的數(shù)據(jù)結(jié)構(gòu)。