1、設有乙個陣列中存放了乙個無序的關鍵序列k1、k
2、…、kn。現要求將kn放在將元素排序後的正確位置上,試編寫實現該功能的演算法,要求比較關鍵字的次數不超過n。
51. 借助於快速排序的演算法思想,在一組無序的記錄中查詢給定關鍵字值等於key的記錄。設此組記錄存放於陣列r[l..
h]中。若查詢成功,則輸出該記錄在r陣列中的位置及其值,否則顯示「not find」資訊。請編寫出演算法並簡要說明演算法思想。
2、設有兩個集合a和集合b,要求設計生成集合c=a∩b的演算法,其中集合a、b和c用鏈式儲存結構表示。
typedef struct node lklist;
void intersection(lklist *ha,lklist *hb,lklist *&hc) }}
3、本題應使用深度優先遍歷,從主調函式進入dfs(v)時,開始記數,若退出dfs()前,已訪問完有向圖的全部頂點(設為n個),則有向圖有根,v為根結點。將n個頂點從1到n編號,各呼叫一次dfs()過程,就可以求出全部的根結點。題中有向圖的鄰接表儲存結構、記頂點個數的變數、以及訪問標記陣列等均設計為全域性變數。
建立有向圖g的鄰接表儲存結構參見上面第2題,這裡只給出判斷有向圖是否有根的演算法。
int num=0, visited=0 //num記訪問頂點個數,訪問陣列visited初始化。
const n=使用者定義的頂點數;
adjlist g用鄰接表作儲存結構的有向圖g。
void dfs(v)
//if
p=g[v].firstarc;
while (p)
//while
visited[v]=0; num--; //恢復頂點v
}//dfs
void judgeroot()
//判斷有向圖是否有根,有根則輸出之。
}// judgeroot
演算法中列印根時,輸出頂點在鄰接表中的序號(下標),若要輸出頂點資訊,可使用g[i].vertex。
廣西壯族自治區概況
一 概況 廣西壯族自治區簡稱桂,地處祖國南疆,位於東經104 26 112 04 北緯20 54 26 24 之間,北回歸線橫貫全區中部。廣西區位優越,南臨北部灣,面向東南亞,西南與越南毗鄰,東鄰粵 港 澳,北連華中,背靠大西南。是西南地區最便捷的出海通道,也是中國西部資源型經濟與東南開放型經濟的結...
2023年廣西壯族自治區資料總結加強
1 給定n個村莊之間的交通圖,若村莊i和j之間有道路,則將頂點i和j用邊連線,邊上的wij表示這條道路的長度,現在要從這n個村莊中選擇乙個村莊建一所醫院,問這所醫院應建在哪個村莊,才能使離醫院最遠的村莊到醫院的路程最短?試設計乙個解答上述問題的演算法,並應用該演算法解答如圖所示的例項。20分 2 題...
2023年廣西壯族自治區資料總結高階
1 設有兩個集合a和集合b,要求設計生成集合c a b的演算法,其中集合a b和c用鏈式儲存結構表示。typedef struct node lklist void intersection lklist ha,lklist hb,lklist hc 2 將頂點放在兩個集合v1和v2。對每個頂點,檢...