數(shù)據(jù)結(jié)構(gòu)II試卷(B)答案_第1頁
數(shù)據(jù)結(jié)構(gòu)II試卷(B)答案_第2頁
數(shù)據(jù)結(jié)構(gòu)II試卷(B)答案_第3頁
數(shù)據(jù)結(jié)構(gòu)II試卷(B)答案_第4頁
數(shù)據(jù)結(jié)構(gòu)II試卷(B)答案_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

PAGEPAGE1課程名稱:數(shù)據(jù)結(jié)構(gòu)II東北大學(xué)繼續(xù)教育學(xué)院數(shù)據(jù)結(jié)構(gòu)II試卷(作業(yè)考核線上)B卷(共10頁)總分題號一二三四五六七得分一、單選題(每小題2分,共10小題,20分)[A]1.抽象數(shù)據(jù)類型的三個組成部分分別為A.?dāng)?shù)據(jù)對象、數(shù)據(jù)關(guān)系和基本操作B.?dāng)?shù)據(jù)元素、邏輯結(jié)構(gòu)和存儲結(jié)構(gòu)C.?dāng)?shù)據(jù)項、數(shù)據(jù)元素和數(shù)據(jù)類型D.?dāng)?shù)據(jù)元素、數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)類型[D]2.下列各式中,按增長率由小至大的順序正確排列的是A.,n!,2n,n3/2B.n3/2,2n,nlogn,2100C.2n,logn,nlogn,n3/2D.2100,logn,2n,nn[A]3.已知指針p和q分別指向某單鏈表中第一個結(jié)點和最后一個結(jié)點。假設(shè)指針s指向另一個單鏈表中某個結(jié)點,則在s所指結(jié)點之后插入上述鏈表應(yīng)執(zhí)行的語句為A.q->next=s->next;s->next=p;B.s->next=p;q->next=s->next;C.p->next=s->next;s->next=q;D.s->next=q;p->next=s->next;[C]4.二維數(shù)組A[20][10]采用行優(yōu)先的存儲方法,若每個元素占2個存儲單元,且第1個元素的首地址為200,則元素A[8][9]的存儲地址為A.374B.576C.378D.580[B]5.設(shè)有一個順序棧的入棧序列是a、b、c,則3個元素都出棧的可能不同排列個數(shù)為A.4B.5C.6D.7[D]6.設(shè)樹T的度為4,其中度為1,2,3和4的結(jié)點個數(shù)分別為4,2,1,1則T中的葉子數(shù)為A.5B.6C.7D.8[C]7.以下說法不正確的是A.無向圖中的極大連通子圖稱為連通分量B.連通圖的廣度優(yōu)先搜索中一般要采用隊列來暫存剛訪問過的頂點C.圖的深度優(yōu)先搜索中一般要采用棧來暫存剛訪問過的頂點D.有向圖的遍歷不可采用廣度優(yōu)先搜索[B]8.假設(shè)在構(gòu)建散列表時,采用線性探測解決沖突。若連續(xù)插入的n個關(guān)鍵字都是同義詞,則查找其中最后插入的關(guān)鍵字時,所需進(jìn)行的比較次數(shù)為A.n-1 B.n C.n+l D.n+2[B]9.設(shè)置溢出區(qū)的文件是A.索引非順序文件 B.ISAM文件C.VSAM文件 D.順序文件[A]10.已知一組關(guān)鍵字為{25,48,36,72,79,82,23,40,16,35},其中每相鄰兩個為有序子序列。對這些子序列進(jìn)行一趟兩兩歸并的結(jié)果是A.{25,36,48,72,23,40,79,82,16,35}B.{25,36,48,72,16,23,40,79,82,35}C.{25,36,48,72,16,23,35,40,79,82}D.{16,23,25,35,36,40,48,72,79,82}二、填空題(每小題1分,共10小題,10分)11.下面程序段中帶下劃線的語句的執(zhí)行次數(shù)的數(shù)量級是(log2n)。i=1;WHILE(i<n)i=i*2;12.假設(shè)帶頭結(jié)點的非空單循環(huán)鏈表中僅設(shè)尾指針L,則在第1個結(jié)點之前插入指針s所指結(jié)點的語句依次是(s->nest=L->next->next;L->next->next=S)。13.無表頭結(jié)點的鏈隊列Q為空的條件是(Q->real==Q->front=NULL)。14.設(shè)Q[0..N-1]為循環(huán)隊列,其頭、尾指針分別為P和R,則隊Q中當(dāng)前所含元素個數(shù)為((R-P+N)%N)。15.一棵含999個結(jié)點的完全二叉樹的深度為(10)。16.在AOV網(wǎng)中,存在環(huán)意味著某項活動以自己為先決條件;對程序的數(shù)據(jù)流圖來說,它表明存在(死循環(huán))。17.有向圖G可拓?fù)渑判虻呐袆e條件是(不存在環(huán))。18.如果結(jié)點A有3個兄弟,而且B是A的雙親,則B的度是(4)。19.應(yīng)用回溯與分支限界法解決實際問題時,在搜索過程中利用判定函數(shù),也稱為(限界函數(shù))。20.若以1234作為雙端隊列的輸入序列,則既不能由輸入受限的雙端隊列得到,也不能由輸出受限的雙端隊列得到的輸出序列是(4231)。三、應(yīng)用題(每小題6分,共5小題,30分)21.比較線性表和棧的基本操作的不同點。解答:主要區(qū)別是對插入和刪除操作的限制。如線性表允許在表內(nèi)任一位置進(jìn)行插入和刪除;而隊列只允許在表尾一端進(jìn)行插入,在表頭一端進(jìn)行刪除;所以也稱隊列為受限的線性表。表頭為隊列頭;表尾為隊列尾。插入刪除線性表Insert(L,i,x)Delete(L,i)(1≤i≤n+1)(1≤i≤n)隊列Insert(L,n+1,x)Delete(L,1)22.有一個二叉樹按層次順序存放在一維數(shù)組中,如下圖所示:試求:(1)該樹的后序遍歷序列。(2)畫出該樹的后序線索樹。1234567891011ACBED解答:(1)后序遍歷序列CEDBA(2)后序線索樹AABEDC23.分析順序查找算法的“監(jiān)視哨”設(shè)置作用解答:為了考慮查找不成功的情況,在每次進(jìn)行關(guān)鍵字的比較前,首先要判斷循環(huán)變量i是否數(shù)組越界,這對算法來說是必要的。如果每步省略數(shù)組下標(biāo)是否越界的判斷,則可以大大提高算法運行的效率。為此,可以利用預(yù)留的0號單元,作為所設(shè)的“監(jiān)視哨”控制循環(huán)變量i的出界。假設(shè)數(shù)據(jù)從后向前比較,監(jiān)視哨設(shè)在數(shù)組低端L.elem[0]=k將算法中的判斷語句while(i<=L.length&&L.elem[i]!=k)++i;改為while(L.elem[i]!=k)--i;這樣,當(dāng)在查找表中不存在其關(guān)鍵字等于給定值的數(shù)據(jù)元素時,i必等于0,并且這樣的處理并不影響查找成功的情況。24.對n個整數(shù)的序列進(jìn)行直接選擇排序。(1)算法描述。(2)并給出實例(5249803614586123)的排序過程。解答:(1)直接選擇算法描述:[1]第1趟,從n個記錄中,經(jīng)過比較選出關(guān)鍵字值為最小的記錄,并與第1個記錄交換位置。[2]第2趟,從余下的n-1個記錄中選擇出當(dāng)前關(guān)鍵字最小的排序,并與第2個記錄交換位置。[3]第i趟,在無序的第i個到第n個的n-i+1個記錄中選出關(guān)鍵字最小的記錄,與第i個記錄進(jìn)行互換。[4]以此類推,直至第n-1趟排序結(jié)束。(2)初始狀態(tài)5249803614586123i=1[14]49803652586123i=2[1423]803652586149i=3[142336]8052586149i=4[14233649]52586180i=5[1423364952]586180i=6[142336495258]6180i=7[14233649525861]80排序結(jié)果[1423364952586180]25.已知有一個10個頂點的連通圖,頂點編號為1至10,其邊的關(guān)系集合表示為{(1,2)(1,3),(1,8),(2,4),(3,9),(3,10),(5,7),(6,7),(7,8),(8,9)},試求:畫出該連通圖及以頂點1為根的深度優(yōu)先生成樹。解答:四、算法閱讀題(本題10分)26.設(shè)計算法實現(xiàn)以鏈表作存儲結(jié)構(gòu),將線性表中前m個元素和后n個元素進(jìn)行整體互換,即(a1,…,am,b1,…,bn)改變成(b1,…,bn,a1,…,am)。閱讀算法,在橫線處填入語句或注釋。voidexchangeL(Linklist&L,intm){

//本算法實現(xiàn)單鏈表中前m個結(jié)點和后n個結(jié)點的整體互換

if(m&&L->next){//鏈表不空且p=L->next;(1)while(k<m&&p){//(2)

p=p->next;++k;

}//whileif(p&&(3)){//n!=0時才需要修改指針

ha=L->next;//以指針ha記a1結(jié)點的位置(4)=p->next;//將b1結(jié)點鏈接在頭結(jié)點之后

p->next=NULL;//設(shè)am的后繼為空

q=L->next;//令q指向b1結(jié)點while(q->next)q=q->next;//查找bn結(jié)點q->next=ha;//(5)

}//if(p)

}//if(m)}//exchangeL解答:(1)k=1;(2)查找第am個結(jié)點(3)p->next(4)L->next(5)將第a1結(jié)點鏈接到bn結(jié)點之后五、算法閱讀題(本題10分)27.設(shè)任意n個整數(shù)存放于數(shù)組A(1:n)中,閱讀算法,指出功能及分析指針i和j的作用。voidArrange(intA[],intn){//n個整數(shù)存于數(shù)組A中inti=0,j=n-1,x;//數(shù)組下標(biāo)從0開始while(i<j){while(i<j&&A[i]>0)i++;while(i<j&&A[j]<0)j--;if(i<j){//交換A[i]與A[j]x=A[i];A[i++]=A[j];A[j--]=x;}//if}//while}//Arrange功能:解答:1.把數(shù)組中從A(1:n)->A(1:0)中第一個大于0的數(shù),賦給數(shù)組中從A(1:0)->A(1:n)中第一個小于0的后面第一個數(shù)組;2.把數(shù)組中從A(1:0)->A(1:n)中第一個小于0的數(shù),賦給數(shù)組中從A(1:n)->A(1:0)中第一個大于0的后面第一個數(shù)組;(2)指針i和j的作用:解答:I為計數(shù)器作用,從0開始遞增1關(guān)系,遞增到數(shù)組中從低到高第一個小于0截止J為計數(shù)器作用,從大數(shù)開始遞減1關(guān)系,遞減到數(shù)組中從高到低第一個大于0截止六、算法設(shè)計題(本題10分)28.設(shè)計算法purgeSq實現(xiàn)刪除順序表SqList中重復(fù)元素,指出其算法的時間復(fù)雜度。解答:voidpurgeSq(SqList&L){//刪除順序表L中的重復(fù)元素k=-1;//k指示新表的表尾

for(i=0;i<L.length;++i){//順序考察表中每個元素j=0;while(j<=k&&L.elem[j]!=L.elem[i])

++j;//在新表中查詢是否存在和L.elem[i]相同的元素

if(k==-1||j>k)//k=-1表明當(dāng)前考察的是第一個元素

L.elem[++k]=L.elem[i];}//for

L.length=k+1;//修改表長}//purgeSq此算法的時間復(fù)雜度為O(L.length2)。七、算法設(shè)計題(本題10分)29.設(shè)計算法從圖的鄰接表結(jié)構(gòu)轉(zhuǎn)換成鄰接矩陣結(jié)構(gòu)的算法。解答:#include<stdio.h>#include<string.h>#include<stdlib.h>inta[100][100];//鄰接矩陣的載體typedefstructArcNode{intadjvex;structArcNode*nextarc;}ArcNode;//表結(jié)點typedefstructVNode{chardata;ArcNode*firstarc;}VNode,AdjList[20];//頭結(jié)點typedefstruct{AdjListvertices;intvexnum,arcnum;}ALGraph;//鄰接表intLocateVex(ALGraphG,chare){inti;for(i=0;i<G.vexnum;i++){if(G.vertices[i].data==e)returni;//找到后返回i}return-1;}voidCreatAdList(ALGraph&G){//根據(jù)輸入的有向圖G的頂點數(shù)及邊數(shù),建立圖G的鄰接表inti,j,k;charv1,v2;ArcNode*s,*p;scanf("%d%d",&G.vexnum,&G.arcnum);getchar();for(i=0;i<G.vexnum;i++)//初始化頭結(jié)點{scanf("%c",&G.vertices[i].data);getchar();G.vertices[i].firstarc=NULL;}for(i=0;i<G.vexnum;i++)//輸出一遍這些頭{printf("%c",G.vertices[i].data);}printf("\n");for(k=0;k<G.arcnum;k++){//輸入邊scanf("%c%c",&v1,&v2);getchar();i=LocateVex(G,v1);j=LocateVex(G,v2);s=(ArcNode*)malloc(sizeof(ArcNode));s->adjvex=j;s->nextarc=NULL;p=G.vertices[i].firstarc;if(!p){G.vertices[i].firstarc=s;}else{while(p->nextarc)p=p->nextarc;p->nextarc=s;}}}voidtrans(ALGraphG){//轉(zhuǎn)換函數(shù)inti,j;ArcNode*p;for(i=0;i<=G.vexnum;i++)//先初始化,全部賦值為0for(j=0;j<=G.vexnum;j++){a[i][j]=0;}for(i=0;i<G.vexnum;i++){p=G.vertices[i].firstarc;while(p){a[i][p->adjvex]=1;p=p->nextarc;}}}voidOutput(ALGraph&G){inti,j;for(i=0;i<G.vexnum;i++){for(j=0;j<G.vexnum;j++){printf("%d",a[i][j]);}printf("\n");}}intmain(){ALGraphG;printf("有向圖處理篇\n");CreatAdList(G);trans(G);Output(G);return0;}

公司印章管理制度一、目的公司印章是公司對內(nèi)對外行使權(quán)力的標(biāo)志,也是公司名稱的法律體現(xiàn),因此,必須對印章進(jìn)行規(guī)范化、合理化的嚴(yán)格管理,以保證公司各項業(yè)務(wù)的正常運作,由公司指定專人負(fù)責(zé)管理。二、印章的種類公章,是按照政府規(guī)定,由主管部門批準(zhǔn)刻制的代表公司權(quán)力的印章。專用章,為方便工作專門刻制的用于某種特定用途的印章,如:合同專用章、財務(wù)專用章、業(yè)務(wù)專用章、倉庫簽收章等。3、手章(簽名章),是以公司法人代表名字刻制的用于公務(wù)的印章。三、印章的管理規(guī)定印章指定專人負(fù)責(zé)保管和使用,保管印章的地方(桌、柜等)要牢固加鎖,印章使用后要及時收存。財務(wù)專用章由財務(wù)部負(fù)責(zé)保管,向銀行備案的印章,應(yīng)由財務(wù)部會計、總經(jīng)辦分別保管。3、印章要注意保養(yǎng),防止碰撞,還要及時清洗,以保持印跡清晰。4、一般情況下不得將印章攜出公司外使用,如確實因工作所需,則應(yīng)由印章管理員攜帶印章到場蓋章或監(jiān)印。5、印章管理人員離職或調(diào)任時,須履行印章交接手續(xù)。四、公章刻制印章需本公司法人代表批準(zhǔn),并由印章管理專責(zé)人負(fù)責(zé)辦理刻制并啟用并交由專人進(jìn)行保管。五、印章的使用使用任何的印章,需由相應(yīng)負(fù)責(zé)人審核簽字。為方便工作,總經(jīng)理可授權(quán)印章管理專責(zé)人審核一般性事務(wù)用印。用印前印章管理人員須認(rèn)真審核,明確了解用印的內(nèi)容和目的,確認(rèn)符合用印的手續(xù)后,在用印登記簿上逐項登記,方可蓋章。3、對需要留存的材料,蓋印后應(yīng)留存一份立卷歸檔。4、不得在空白憑證、便箋上蓋章。5、上報有關(guān)部門的文件資料,未經(jīng)部門經(jīng)理、總經(jīng)理審簽,不得蓋章。6、以公司名義行文,未經(jīng)總經(jīng)理簽發(fā),不得蓋章。7、按照合同會簽制度的規(guī)定,所有合同和協(xié)議在會簽手續(xù)齊全后方可蓋章。8、各印章管理人員如出差,應(yīng)把印章移交有關(guān)人員,并辦理有關(guān)交接手續(xù)。六、印章管理人員的責(zé)任1、印章管理人員要與公司簽訂《印章管理責(zé)任書》,并在“印章管理制度”上簽名。2、印章管理人員不得擅自使用印章,對于非法使用印章者,造成經(jīng)濟(jì)損失的除賠償損失外,還要追究其行政責(zé)任或法律責(zé)任。用章申請事由:部門負(fù)責(zé)人核準(zhǔn)時間副經(jīng)理核準(zhǔn)時間總經(jīng)理核準(zhǔn)時間

“用計算器計算稍復(fù)雜的小數(shù)加、減法”教學(xué)設(shè)計[教學(xué)目標(biāo)]:1、會用計算器進(jìn)行一些稍復(fù)雜的小數(shù)加、減法計算。

2、讓學(xué)生體驗用計算器進(jìn)行計算的方便與快捷,進(jìn)一步培養(yǎng)對數(shù)學(xué)學(xué)習(xí)的興趣,感受計算器在人們生活和工作中的價值。

[教材簡析]:例題通過相對復(fù)雜的問題情境,引入用計算器計算小數(shù)加、減法,教給學(xué)生在計算器上按出整數(shù)部分是0的小數(shù)的簡便按法,再用計算器解決小數(shù)加法的實際問題?!霸囈辉嚒崩^續(xù)通過例4的問題情境,引導(dǎo)學(xué)生借助計算器解決小數(shù)減法的實際問題。

[教學(xué)過程]:

一、談話導(dǎo)入,激發(fā)興趣

談話:同學(xué)們都有去超市購物的經(jīng)驗,購?fù)晡?,營業(yè)員都能借助計算器準(zhǔn)確、快速地算出應(yīng)付的價錢,今天我們也來用計算器解決一些計算問題。

二、創(chuàng)設(shè)情境,解決問題

1、教學(xué)例4

(1)出示例題,理解題意。談話:怎樣用計算器算出她一共用了多少元?

(2)先讓學(xué)生獨立思考,然后指名回答。在全班交流中達(dá)成共識:只要把“金額”一欄的數(shù)據(jù)加起來。

(3)提問:那在計算器上,怎樣才能按出買鉛筆的錢呢?先讓學(xué)生自己試著按一按,再交流方法。學(xué)生的方法可能有:①按照“0”、“·”、“8”、“0”的`次序按鍵。②先按“·”再按“8”,顯示“0·8”,就是買鉛筆的錢數(shù)。

(4)嘗試計算。

(5)集體校對。提問:怎樣才能計算得又對又快?學(xué)生的想法可能有:①先記牢這個數(shù),然后再按。②看到零點幾的小數(shù),可以直接按小數(shù)點和小數(shù)部分,這樣能節(jié)省計算時間。③按好一個數(shù),還要看看顯示屏,核對一下。④算完還可以用計算器再算一遍。

2、完成“試一試”

(1)提問:如果李蕓付出100元,應(yīng)找回多少元?請你用計算器算一算。

(2)學(xué)生嘗試用計算器計算。

(3)小結(jié)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論