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