2023年海南省資料總結入門

2022-03-18 09:02:48 字數 748 閱讀 2554

1、氣泡排序演算法是把大的元素向上移(氣泡的上浮),也可以把小的元素向下移(氣泡的下沉)請給出上浮和下沉過程交替的氣泡排序演算法。

48.有n個記錄儲存在帶頭結點的雙向鍊錶中,現用雙向起泡排序法對其按上公升序進行排序,請寫出這種排序的演算法。(注:雙向起泡排序即相鄰兩趟排序向相反方向起泡)

2、矩陣中元素按行和按列都已排序,要求查詢時間複雜度為o(m+n),因此不能採用常規的二層迴圈的查詢。可以先從右上角(i=a,j=d)元素與x比較,只有三種情況:一是a[i,j]>x, 這情況下向j 小的方向繼續查詢;二是a[i,j]void search(datatype a[ ][ ], int a,b,c,d, datatype x)

//n*m矩陣a,行下標從a到b,列下標從c到d,本演算法查詢x是否在矩陣a中.

else if (a[i][j]>x) j--; else i++;

if(flag) printf(「a[%d][%d]=%d」,i,j,x假定x為整型.

else printf(「矩陣a中無%d 元素」,x);

}演算法search結束。

[演算法討論]演算法中查詢x的路線從右上角開始,向下(當x>a[i,j])或向左(當x3、假設k1,…,kn是n個關鍵詞,試解答:

試用二叉查詢樹的插入演算法建立一棵二叉查詢樹,即當關鍵詞的插入次序為k1,k2,…,kn時,用演算法建立一棵以llink / rlink 鏈結表示的二叉查詢樹。

4、設有一組初始記錄關鍵字為(45,80,48,40,22,78),要求構造一棵二叉排序樹並給出構造過程。

2023年海南省理論資料入門

1 根據二叉排序樹中序遍歷所得結點值為增序的性質,在遍歷中將當前遍歷結點與其前驅結點值比較,即可得出結論,為此設全域性指標變數pre 初值為null 和全域性變數flag,初值為true。若非二叉排序樹,則置flag為false。define true 1 define false 0 typede...

2023年海南省資料總結摘要

1 若第n件物品能放入揹包,則問題變為能否再從n 1件物品中選出若干件放入揹包 這時揹包可放入物品的重量變為s w n 若第n件物品不能放入揹包,則考慮從n 1件物品選若干件放入揹包 這時揹包可放入物品仍為s 若最終s 0,則有一解 否則,若s 0或雖然s 0但物品數n 1,則無解。1 s w n ...

2023年海南省資料總結綱要

1 若第n件物品能放入揹包,則問題變為能否再從n 1件物品中選出若干件放入揹包 這時揹包可放入物品的重量變為s w n 若第n件物品不能放入揹包,則考慮從n 1件物品選若干件放入揹包 這時揹包可放入物品仍為s 若最終s 0,則有一解 否則,若s 0或雖然s 0但物品數n 1,則無解。1 s w n ...