上大資料結構

2022-05-11 09:50:06 字數 2582 閱讀 6393

var low ,high ,i ,j, t:integer;

begin

low:=1; high:=n;

repeat

t:=a[low]; i:=low; j:=high;

repeat

while( ij:=j-1;

if ( ibegin

a[i]:=a[j];

i:=i+1;

end;

while (ii:=i+1;

if (ibegin

a[j]:=a[i];

j:=j-1

enduntil i=j;

a[i]:=t;

if1then

if ilow2)

else

high3)

until4

search-pascal:= a[k]

end;

2. 假設root是一棵給定的非空查詢樹,對於下面給出的子程式,當執行注釋中給出的呼叫語句時,就可以實現如下的操作:在非空查詢樹root中查詢值為k 的結點,同時置success為「真」;若值為k的結點不在樹中,或者雖然在樹中,但不是葉子結點,則不進行刪除,僅置success為「假」。應注意到非空查詢樹只包含乙個結點情況,此時樹中的唯一結點,也是葉子結點。

(8分)

程式(a)

#include <>

typedef struct node node;

node *root;

int k.,success;

viod del-lef(node **t, int k, int *sn)

/*call form :del-leaf( &root, k,&success);*/

程式(b)

const maxn=50;

type datatype = integer;

nodeptr =^nodetype;

nodetype = record

key: datatype;

left, right:nodeptr

end;

var root :nodeptr; k:integer; success:boolean;

procedure del-leaf (var t: nodeptr; k:integer; var sn :boolean);

var p,pf:nodeptr;

begin

p:=t; sn:=false;

while1and not sn do

if (k=p^.key) then sn:=true;

else begin

(2if (kp:=p^.left;

else

p:=p^.right ;

end;

if sn and (p^.left = nil) and (p^.right = nil) then

begin

if3then

if (pf^.left = p) then pf^.left :=nil

else4) ;

dispose(p);

enddlse sn := false

end;

(*call form:del-leaf (root,k,success);*)

3 約瑟夫問題敘述如下:有1至n編號的n個人按順時針方向圍坐一圈,每人持有乙個密碼(正整數),一開始以正整數m作為報數上限值,從第乙個人開始順時針方向自1開始順序報數,報到m時停止報數,報m的人出列,將他的密碼作為新的報數上限值,從他的順時針方向上的下乙個人開始重新報數,如此下去,至到所有的人全部出列為止,要求產生記錄出列順序的表。如每個人的密碼依次是:

3,1,7,2,4,8,的值為20,則列出順序為6,1,4,7,2,3,5。所有人用乙個迴圈單鏈表表示,表中每個結點代表乙個人,按出列次序依次將結點從迴圈單鏈表中刪除,並按順序存放乙個單鏈表中,鍊錶的每個結點包括三個字段:code代表密碼,no代表人的編號,。

(10分)

演算法(a)

演算法 (b)

4 二叉樹用二叉鍊錶表示,下面是前序遍歷二叉樹root的非遞迴演算法,p為當前結點s為輔助棧,s:stack[1..max] ofpointer,pointerb即為二叉鍊錶的結點型別。

(10分)

二請編寫完整的程式。(共32分)

1 請列印出不大於m(m為》=3的正整數)的所有史密斯數。史密斯數是指滿足下列條件的可分解的整數其所有數字上的數字和等於其全部素數因子之和。如9975=3*5*5*7*17,9+9+7+5=3+5+5+17=30。

(14分)

2 設有順序放置的n個桶,每個桶中裝有一粒礫石,每粒礫石的顏色是紅,白,藍之一。要求重新安排這些礫石,使的所有紅色礫石在前,所有白色礫石居中,所有藍色礫石居後,重新安排時對每粒礫石的顏色只能看一次並且只允許交換操作來調整礫石的位置(18分)

三請用流程圖或類高階語言(pascal或c)表示演算法。(共14分)

1 一棵二叉樹以二叉鍊錶來表示,求其指定的某一層k(k>1)上的葉自結點的個數。(18分)

2 寫演算法判別以鄰接方式儲存的無向圖中是否存在由頂點vi到頂點vj的路徑(i≠j)。(14分)

華東交大資料結構2019試卷

華東交通大學2013 2014學年第一學期考試卷 試卷編號 a 卷 資料結構課程課程類別 必 閉卷考試日期 考生注意事項 1 本試卷共 4 頁,答題紙4頁,總分 100 分,考試時間 120 分鐘。2 考試結束後,考生不得將試卷 答題紙和草稿紙帶出考場。一 選擇題 每題2分,共20分 1 根據資料元...

資料結構與拓撲資料結構

資料結構在gis中對於資料的採集 儲存 查詢 檢索和應用分析等操作方式有著重要的影響,一種高效率的資料結構應該具備以下幾個要求 1 組織的資料能夠表示要素之間的層次關係,便於不同資料聯絡於覆蓋 2 正確反映地理實體之間的空間排列方式和各實體之間的相互關係 3 便於訪問與檢索 4 節省儲存空間,減少資...

天大資料結構》期末大作業考核要求

資料結構 要求 1.獨立完成,作答時要按照模版資訊填寫完整,寫明題型 題號 2.作答方式 手寫作答或電腦錄入,使用學院統一模版 模版詳見附件 3.提交方式 以下兩種方式任選其一,1 手寫作答的同學可以將作業以 形式打包壓縮上傳 2 提交電子文件的同學可以將作業以word文件格式上傳 4.上傳檔案命名...