欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      數(shù)據(jù)結(jié)構(gòu)期中考試試卷答案(最終定稿)

      時(shí)間:2019-05-15 10:48:05下載本文作者:會(huì)員上傳
      簡(jiǎn)介:寫(xiě)寫(xiě)幫文庫(kù)小編為你整理了多篇相關(guān)的《數(shù)據(jù)結(jié)構(gòu)期中考試試卷答案》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫(xiě)寫(xiě)幫文庫(kù)還可以找到更多《數(shù)據(jù)結(jié)構(gòu)期中考試試卷答案》。

      第一篇:數(shù)據(jù)結(jié)構(gòu)期中考試試卷答案

      2014-2015學(xué)年度第一學(xué)期《數(shù)據(jù)結(jié)構(gòu)》

      期中考試試卷

      一、選擇題(每題2分,共20分)

      1.計(jì)算機(jī)內(nèi)部數(shù)據(jù)處理的基本單位是(B)。

      A.數(shù)據(jù) B.數(shù)據(jù)元素

      C.數(shù)據(jù)項(xiàng)

      D.數(shù)據(jù)庫(kù) 2.設(shè)語(yǔ)句x++的時(shí)間是單位時(shí)間,則以下語(yǔ)句的時(shí)間復(fù)雜度為(B)。

      for(i=1;i<=n;i++)for(j=i;j<=n;j++)x++;A.O(1)B.O(n)C.O(n)

      D.O(n)

      33.在一個(gè)長(zhǎng)度為n的順序表中刪除第i個(gè)元素(0<=i<=n)時(shí),需向前移動(dòng)(A)個(gè)元素。

      A.n-i B.n-i+l C.n-i-1 D.i 4.在一個(gè)單鏈表中,已知q結(jié)點(diǎn)是p結(jié)點(diǎn)的前趨結(jié)點(diǎn),若在q和p之間插入s結(jié)點(diǎn),則須執(zhí)行(B)。

      A.s->next=p->next;p->next=s B.q->next=s;s->next=p C.p->next=s->next;s->next=p D.p->next=s;s->next=q 5.在一個(gè)具有n個(gè)單元的順序棧中,假定以地址低端(即0單元)作為棧底,以top作為棧頂指針,當(dāng)做出棧處理時(shí),top變化為_(kāi)_____。C A.top不變

      B.top=0 C.top--D.top++ 6.在具有n個(gè)單元的順序存儲(chǔ)的循環(huán)隊(duì)列中,假定front和rear分別為隊(duì)頭指針和隊(duì)尾指針,則判斷隊(duì)滿(mǎn)的條件為_(kāi)_______。D A.rear%n= = front B.(front+l)%n= = rear C.rear%n-1= = front D.(rear+l)%n= = front 7.兩個(gè)字符串相等的條件是(D)。

      A.兩串的長(zhǎng)度相等 B.兩串的長(zhǎng)度相等,并且兩串包含的字符相同 C.兩串包含的字符相同 D.兩串的長(zhǎng)度相等,并且對(duì)應(yīng)位置上的字符相同

      8.數(shù)組A中,每個(gè)元素的長(zhǎng)度為3個(gè)字節(jié),行下標(biāo)i從1到8,列下標(biāo)j從1到10,從首地址SA開(kāi)始連續(xù)存放在存儲(chǔ)器內(nèi),該數(shù)組按行存放時(shí),元素A[8][5]的起始地址為(C)。A.SA+141 B.SA+144 C.SA+222 D.SA+225 9.設(shè)有廣義表D=(a,b,D),其長(zhǎng)度為(B),深度為(A)。A.無(wú)窮大 B.3

      C.2 D.5 10.假設(shè)在一棵二叉樹(shù)中,雙分支結(jié)點(diǎn)數(shù)為15,單分支結(jié)點(diǎn)數(shù)為30個(gè),則葉子結(jié)點(diǎn)數(shù)為(B)個(gè)。

      A.15

      B.16

      C.17

      D.47

      二、填空題(每空1分,共20分)

      1.數(shù)據(jù)的邏輯結(jié)構(gòu)有四種基本形態(tài),分別是________________、__________________、__________________和__________________。2.集合,線性,樹(shù),圖

      2.一個(gè)算法的效率可分為_(kāi)_________________效率和__________________效率。4.時(shí)間,空間

      3.當(dāng)對(duì)一個(gè)線性表經(jīng)常進(jìn)行存取操作,而很少進(jìn)行插入和刪除操作時(shí),則采用_______存儲(chǔ)結(jié)構(gòu)為宜。相反,當(dāng)經(jīng)常進(jìn)行的是插入和刪除操作時(shí),則采用_______存儲(chǔ)結(jié)構(gòu)為宜。7.順

      (第1頁(yè),共3頁(yè))

      序,鏈接

      4.對(duì)于一個(gè)具有n個(gè)結(jié)點(diǎn)的單鏈表,在已知的結(jié)點(diǎn)p后插入一個(gè)新結(jié)點(diǎn)的時(shí)間復(fù)雜度為_(kāi)_____,在給定值為x的結(jié)點(diǎn)后插入一個(gè)新結(jié)點(diǎn)的時(shí)間復(fù)雜度為_(kāi)______。12.O(1),O(n)5.可以在線性表的______位置插入和刪除元素;對(duì)于棧只能在_______位置刪除元素;對(duì)于隊(duì)列只能在_______位置插入元素。9任何,棧頂,隊(duì)尾 6.設(shè)字符串S1= “ABCDEF”,S2= “PQRS”,則運(yùn)算S=CONCAT(SUB(S1,2,LEN(S2)),SUB(S1,LEN(S2),2))后的串值為_(kāi)__________________。3.“BCDEDE”

      7.一維數(shù)組的邏輯結(jié)構(gòu)是______________,存儲(chǔ)結(jié)構(gòu)是______________;對(duì)于二維或多維數(shù)組,分為_(kāi)_____________和______________兩種不同的存儲(chǔ)方式。1.線性結(jié)構(gòu),順序結(jié)構(gòu),以行為主序,以列為主序

      8.三維數(shù)組R[c1?d1,c2?d2,c3?d3]共含有______________個(gè)元素。(其中:c1≤d1,c2≤d2,c3≤d3)9.(d1-c1+1)×(d2-c2+1)×(d3-c3+1)

      9.數(shù)組A[1?10,-2?6,2?8]以行優(yōu)先的順序存儲(chǔ),設(shè)第一個(gè)元素的首地址是100,每個(gè)元素占3個(gè)存儲(chǔ)長(zhǎng)度的存儲(chǔ)空間,則元素A[5,0,7]的存儲(chǔ)地址為_(kāi)_____________。10.913

      三、簡(jiǎn)答題(每題6分,共18分)1.已知L是無(wú)表頭結(jié)點(diǎn)的單鏈表,且P結(jié)點(diǎn)既不是首元結(jié)點(diǎn)也不是尾元結(jié)點(diǎn),試寫(xiě)出合適的語(yǔ)句序列。(1)在P結(jié)點(diǎn)后插入S結(jié)點(diǎn)。(2)在表首插入S結(jié)點(diǎn)。(3)在表尾插入S結(jié)點(diǎn)。2已知L是帶表頭結(jié)點(diǎn)的非空單鏈表,且P結(jié)點(diǎn)既不是首元結(jié)點(diǎn)也不是尾元結(jié)點(diǎn),試寫(xiě)出合適的語(yǔ)句序列。(1)刪除P結(jié)點(diǎn)的直接后繼結(jié)點(diǎn)。(2)刪除P結(jié)點(diǎn)。(3)刪除尾元結(jié)點(diǎn)。3. LinkList mynote(LinkList L){//L是不帶頭結(jié)點(diǎn)的單鏈表的頭指針 if(L&&L->next){ q=L;L=L->next;p=L;

      S1: while(p->next)p=p->next; S2: p->next=q;q->next=NULL;

      } return L; } 請(qǐng)回答下列問(wèn)題:(1)說(shuō)明語(yǔ)句S1的功能;(2)說(shuō)明語(yǔ)句組S2的功能;(3)設(shè)鏈表表示的線性表為(a1,a2, ?,an),寫(xiě)出算法執(zhí)行后的返回值所表示的線性表。

      該算法的功能是:將開(kāi)始結(jié)點(diǎn)摘下鏈接到終端結(jié)點(diǎn)之后成為新的終端結(jié)點(diǎn),而原來(lái)的第二個(gè)結(jié)點(diǎn)成為新的開(kāi)始結(jié)點(diǎn),返回新鏈表的頭指針。

      四、算法設(shè)計(jì)題(每題14分,共42分)1.假設(shè)有一個(gè)循環(huán)鏈表的長(zhǎng)度大于1,且表中既無(wú)頭結(jié)點(diǎn)也無(wú)頭指針,已知p為指向鏈表中某結(jié)點(diǎn)的指針,設(shè)計(jì)在鏈表中刪除p所指結(jié)點(diǎn)的前趨結(jié)點(diǎn)的算法。

      解:可引入一個(gè)指針q,當(dāng)q->next=p時(shí),說(shuō)明此時(shí)q所指的結(jié)點(diǎn)為p所指結(jié)點(diǎn)的前趨結(jié)點(diǎn),從而可得算法如下:

      void delete(LinkList *p){ //在鏈表中刪除p所指結(jié)點(diǎn)的前趨結(jié)點(diǎn) LinkList *q,*t;

      q=p;

      while(q->next->next!=p)//q->next不是p的前趨結(jié)點(diǎn)

      (第2頁(yè),共3頁(yè))

      q=q->next;

      t=q->next;//t指向要?jiǎng)h除結(jié)點(diǎn)

      q->next=p;//刪除t結(jié)點(diǎn)

      free(t);}

      2.已知線性表的元素是無(wú)序的,且以帶頭結(jié)點(diǎn)的單鏈表作為存儲(chǔ)結(jié)構(gòu)。設(shè)計(jì)一個(gè)刪除表中所有值小于max但大于min的元素的算法。

      2.算法描述如下:

      delete(LinkList *head, int max, int min){ LinkList *p,*q;

      q=head;

      p=head->next;

      while(p!=NULL)

      if((p->data<=min)||(p->data>=max))

      { q=p;

      p=p->next;

      } else { q->next=p->next;free(p);p=q->next;} }

      3.假設(shè)表達(dá)式有單字母變量和雙目四則運(yùn)算符構(gòu)成。試寫(xiě)一個(gè)算法,對(duì)一個(gè)通常書(shū)寫(xiě)形式且書(shū)寫(xiě)正確的表達(dá)式求值。

      (第3頁(yè),共3頁(yè))

      第二篇:數(shù)據(jù)結(jié)構(gòu)期中試卷及答案

      一、選擇題(每小題2分,共30分)1.數(shù)據(jù)結(jié)構(gòu)是(D)。

      A.一種數(shù)據(jù)類(lèi)型 B.?dāng)?shù)據(jù)的存儲(chǔ)結(jié)構(gòu) C.一組性質(zhì)相同的數(shù)據(jù)元素的集合

      D.相互之間存在一種或多種特定關(guān)系的數(shù)據(jù)元素的集合

      2.以下與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)無(wú)關(guān)的術(shù)語(yǔ)是(D)。

      A.鏈隊(duì)列 B.鏈表 C.順序表 D.棧

      3.以下數(shù)據(jù)結(jié)構(gòu)中,(A)是非線性數(shù)據(jù)結(jié)構(gòu)

      A.樹(shù) B.字符串 C.隊(duì) D.棧

      4.一個(gè)順序存儲(chǔ)線性表的第一個(gè)元素的存儲(chǔ)地址是90,每個(gè)元素的長(zhǎng)度是2,則第6個(gè)元素的存儲(chǔ)地址是(B)。

      A.98 B.100 C.102 D.106

      5.在線性表的下列運(yùn)算中,不改變數(shù)據(jù)元素之間結(jié)構(gòu)關(guān)系的運(yùn)算是(D)。A.插入 B.刪除 C.排序 D.查找

      6.線性表采用鏈?zhǔn)酱鎯?chǔ)時(shí),其地址(D)。

      A.必須是連續(xù)的 B.一定是不連續(xù)的 C.部分地址必須連續(xù) D.連續(xù)與否均可以

      7.線性表是(A)。

      A.一個(gè)有限序列,可以為空 B.一個(gè)有限序列,不可以為空 C.一個(gè)無(wú)限序列,可以為空 D.一個(gè)無(wú)限序列,不可以為空

      8.若進(jìn)棧序列為1,2,3,4,5,6,且進(jìn)棧和出??梢源┎暹M(jìn)行,則可能出現(xiàn)的出棧序列為(B)。

      A.3,2,6,1,4,5 B.3,4,2,1,6,5 C.1,2,5,3,4,6 D.5,6,4,2,3,1

      9.若一個(gè)棧的輸人序列是1,2,3,…,n,輸出序列的第一個(gè)元素是n,則第k個(gè)輸出元素是(C)。

      A.k B.n-k-1 C.n-k+1 D.不確定

      10.對(duì)于隊(duì)列操作數(shù)據(jù)的原則是(A)。

      A.先進(jìn)先出 B.后進(jìn)先出 C.先進(jìn)后出 D.不分順序 11.棧和隊(duì)列的共同點(diǎn)是(C)。

      A.都是先進(jìn)先出 B.都是先進(jìn)后出 C.只允許在端點(diǎn)處插入和刪除元素 D.沒(méi)有共同點(diǎn)

      12.在一個(gè)鏈隊(duì)列中,假定front和rear分別為頭指針和尾指針,刪除一個(gè)結(jié)點(diǎn)的操作是(A)。

      A.front=front->next B.rear=rear->next C.rear->next=front D.front->next=rear

      13.空串與空格串(B)。

      A.相同 B.不相同 C.可能相同 D.無(wú)法確定

      14.串與普通的線性表相比較,它的特殊性體現(xiàn)在(C)。A.順序的存儲(chǔ)結(jié)構(gòu) B.鏈接的存儲(chǔ)結(jié)構(gòu) C.?dāng)?shù)據(jù)元素是一個(gè)字符 D.?dāng)?shù)據(jù)元素可以任意

      15.串的長(zhǎng)度是指(B)。

      A.串中所含不同字母的個(gè)數(shù) B.串中所含字符的個(gè)數(shù)

      C.串中所含不同字符的個(gè)數(shù) D.串中所含非空格字符的個(gè)數(shù)

      二、填空題(每空2分,共20分)

      1. 線性表、棧和隊(duì)列,串都是__線性_____結(jié)構(gòu)。2. 數(shù)據(jù)的基本單位是__數(shù)據(jù)元素_______________。

      3. 當(dāng)線性表的元素總數(shù)基本穩(wěn)定,且很少進(jìn)行插入和刪除操作,但要求以最快的速度存取線性表中的元素時(shí),應(yīng)采用_順序______存儲(chǔ)結(jié)構(gòu)。4. 已知具有n個(gè)元素的一維數(shù)組采用順序存儲(chǔ)結(jié)構(gòu),每個(gè)元素占k個(gè)存儲(chǔ)單元,第一個(gè)元素的地址為L(zhǎng)oc(a1),那么,第i個(gè)元素的存儲(chǔ)地址Loc(ai)= Loc(a1)+(i-1)*k。5. 棧(stack)是限定在表尾進(jìn)行插人或刪除操作的線性表。在棧中,允許插人和刪除操作的一端稱(chēng)為_(kāi)_棧頂________,而另一端稱(chēng)為_(kāi)棧底________。6. 一個(gè)循環(huán)隊(duì)列Q中,頭指針和尾指針?lè)謩e為Q.front和Q.rear,且最大隊(duì)列長(zhǎng)度為MaxQSize,則判斷隊(duì)空的條件為 Q.rear==Q.front,判斷隊(duì)滿(mǎn)的條件為(Q.rear+1)%MaxQSize==Q.front。隊(duì)列的長(zhǎng)度為(.rear-Q.front+MaxQSize)%MaxQSize

      7. 兩個(gè)串相等的充分必要條件是 兩個(gè)串的長(zhǎng)度相等,且各個(gè)對(duì)應(yīng)位置的字符都相等。

      三、程序填空題(每空3分,共30分)

      1.在帶頭結(jié)點(diǎn)的單鏈表L中第i個(gè)數(shù)據(jù)元素之前插入數(shù)據(jù)元素e的C語(yǔ)言描述算法如下,其中L為鏈表頭結(jié)點(diǎn)指針。請(qǐng)?zhí)畛渌惴ㄖ袠?biāo)出的空白處,完成其功能。

      typedef struct node {int data;

      struct node *next;

      }linknode,*link;

      int ListInsert_L(link &L, int i, int e){ Linknode *p;int j; p = L; j = 0;

      while(p && j < i-1){ p=p->next ; ++j; } // 尋找第i-1個(gè)結(jié)點(diǎn) if(!p || j > i-1)return 0;

      s=(link)malloc(sizeof(linknode));// 生成新結(jié)點(diǎn)s s->data = e;

      s->next=p->next ; p->next = s; // 插入L中 return 1; }

      2.對(duì)順序棧的C語(yǔ)言描述算法如下,其中top為棧頂指針,請(qǐng)?zhí)畛渌惴ㄖ袠?biāo)出的空白處,插入元素e為新的棧頂元素。

      #define STACK_INIT_SIZE 100 #define STACKINCREMENT 10 typedef struct{ char *base;char *top;int stacksize;}SqStack;

      int Push(SqStack &S, char e){ //

      if((s.top-s.base)>=s.stacksize)//棧滿(mǎn),追加存儲(chǔ)空間 { S.base=(SElemType *)realloc(S.base,S.stacksize+STACKINCREMENT)*sizeof(SElemType)); if(!S.base)return 0;

      S.top = s.base+s.stacksize ; //修改棧頂指針 S.stacksize += STACKINCREMENT; } *s.top++=e ;//插入元素 return 1; }

      3.對(duì)鏈隊(duì)列的C語(yǔ)言描述算法如下,請(qǐng)?zhí)畛渌惴ㄖ袠?biāo)出的空白處,刪除隊(duì)列Q 的隊(duì)頭元素并用e返回其值。typedef struct QNode{ QElemType data; struct QNode *next; }QNode, *QueuePtr;

      typedef struct { QueuePtr front; QueuePtr rear; }LinkQueue;

      int DeQueue(LinkQueue &Q, QElemType &e){ Linknode *p;

      if(Q.front==Q.rear)retrun 0;//隊(duì)列空,返回 p = Q.front-> next; e = p->data;

      Q.front-> next=p->next;//修改指針

      if(Q.rear==p)Q.rear= Q.front ; //隊(duì)列只有一個(gè)元素的情況 free(p);//釋放結(jié)點(diǎn)空間 return 1; }

      三、算法設(shè)計(jì)與分析題(每題10分,共20分)

      1、簡(jiǎn)述下列算法實(shí)現(xiàn)的功能:(每題5分,共10分)(1)typedef struct LNode{

      Char data;

      struct LNode *next;}LNode,*LinkList;LinkList Demo(LinkList &L){ // L 是無(wú)頭結(jié)點(diǎn)單鏈表 LNode *Q,*P;if(L&&L->next){

      Q=L;L=L->next;P=L;while(P->next)P=P->next;

      P->next=Q;Q->next=NULL;

      } return L;}// Demo 答:將單鏈表的第一個(gè)結(jié)點(diǎn)刪除,放到鏈尾。

      ———————————————————————————————————————————————————

      (2)#define STACK_INIT_SIZE 100 #define STACKINCREMENT 10 typedef struct{ int *base;int *top;int stacksize;

      } Stack;void Demo1(Stack &S, int m){ Stack T;int i;

      InitStack(T);//初始化棧

      while(!StackEmpty(S))//判斷棧是否為空

      if((i=Pop(S))!=m)Push(T,i);//入棧操作

      while(!StackEmpty(T))

      {

      i=Pop(T);//出棧操作

      Push(S,i);

      }

      } 答:刪除棧S中所有值為m的數(shù)據(jù)元素

      2.有一個(gè)帶頭結(jié)點(diǎn)的單鏈表,頭指針為head,編寫(xiě)一個(gè)算法計(jì)算所有數(shù)據(jù)域?yàn)閄的結(jié)點(diǎn)的個(gè)數(shù)(不包括頭結(jié)點(diǎn))。typedef struct node {int data;struct node *next;}linknode,*link;int sample(link head, int X){ int count=0;link p=head->next;while(p){if(p->data==X)count++;p=p->next;} return count;}

      第三篇:數(shù)據(jù)結(jié)構(gòu)試卷(一)及答案

      數(shù)據(jù)結(jié)構(gòu)試卷

      (一)一、選擇題(20分)

      1.組成數(shù)據(jù)的基本單位是()。

      (A)數(shù)據(jù)項(xiàng)(B)數(shù)據(jù)類(lèi)型(C)數(shù)據(jù)元素(D)數(shù)據(jù)變量

      2.設(shè)數(shù)據(jù)結(jié)構(gòu)A=(D,R),其中D={1,2,3,4},R={r},r={<1,2>,<2,3>,<3,4>,<4,1>},則數(shù)據(jù)結(jié)構(gòu)A是()。

      (A)線性結(jié)構(gòu)(B)樹(shù)型結(jié)構(gòu)(C)圖型結(jié)構(gòu)(D)集合 3.?dāng)?shù)組的邏輯結(jié)構(gòu)不同于下列()的邏輯結(jié)構(gòu)。

      (A)線性表(B)棧(C)隊(duì)列(D)樹(shù) 4.二叉樹(shù)中第i(i≥1)層上的結(jié)點(diǎn)數(shù)最多有()個(gè)。

      ii-1(A)2i(B)2(C)2(D)2i-1 5.設(shè)指針變量p指向單鏈表結(jié)點(diǎn)A,則刪除結(jié)點(diǎn)A的后繼結(jié)點(diǎn)B需要的操作為()。

      (A)p->next=p->next->next(B)p=p->next

      (C)p=p->next->next(D)p->next=p 6.設(shè)棧S和隊(duì)列Q的初始狀態(tài)為空,元素E1、E2、E3、E4、E5和E6依次通過(guò)棧S,一個(gè)元素出棧后即進(jìn)入隊(duì)列Q,若6個(gè)元素出列的順序?yàn)镋2、E4、E3、E6、E5和E1,則棧S的容量至少應(yīng)該是()。

      (A)6(B)4(C)3(D)2 7.將10階對(duì)稱(chēng)矩陣壓縮存儲(chǔ)到一維數(shù)組A中,則數(shù)組A的長(zhǎng)度最少為()。

      (A)100(B)40(C)55(D)80 8.設(shè)結(jié)點(diǎn)A有3個(gè)兄弟結(jié)點(diǎn)且結(jié)點(diǎn)B為結(jié)點(diǎn)A的雙親結(jié)點(diǎn),則結(jié)點(diǎn)B的度數(shù)數(shù)為()。

      (A)3(B)4(C)5(D)1 9.根據(jù)二叉樹(shù)的定義可知二叉樹(shù)共有()種不同的形態(tài)。

      (A)4(B)5(C)6(D)7 10.設(shè)有以下四種排序方法,則()的空間復(fù)雜度最大。

      (A)冒泡排序(B)快速排序(C)堆排序(D)希爾排序

      二、填空題(30分)1.設(shè)順序循環(huán)隊(duì)列Q[0:m-1]的隊(duì)頭指針和隊(duì)尾指針?lè)謩e為F和R,其中隊(duì)頭指針F指向當(dāng)前隊(duì)頭元素的前一個(gè)位置,隊(duì)尾指針R指向當(dāng)前隊(duì)尾元素所在的位置,則出隊(duì)列的語(yǔ)句為F =____________。

      2.設(shè)線性表中有n個(gè)數(shù)據(jù)元素,則在順序存儲(chǔ)結(jié)構(gòu)上實(shí)現(xiàn)順序查找的平均時(shí)間復(fù)雜度為_(kāi)__________,在鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)上實(shí)現(xiàn)順序查找的平均時(shí)間復(fù)雜度為_(kāi)__________。3.設(shè)一棵二叉樹(shù)中有n個(gè)結(jié)點(diǎn),則當(dāng)用二叉鏈表作為其存儲(chǔ)結(jié)構(gòu)時(shí),該二叉鏈表中共有________個(gè)指針域,__________個(gè)空指針域。

      4.設(shè)指針變量p指向單鏈表中結(jié)點(diǎn)A,指針變量s指向被插入的結(jié)點(diǎn)B,則在結(jié)點(diǎn)A的后面插入結(jié)點(diǎn)B的操作序列為_(kāi)_____________________________________。

      5.設(shè)無(wú)向圖G中有n個(gè)頂點(diǎn)和e條邊,則其對(duì)應(yīng)的鄰接表中有_________個(gè)表頭結(jié)點(diǎn)和_________個(gè)表結(jié)點(diǎn)。

      6.設(shè)無(wú)向圖G中有n個(gè)頂點(diǎn)e條邊,所有頂點(diǎn)的度數(shù)之和為m,則e和m有______關(guān)系。7.設(shè)一棵二叉樹(shù)的前序遍歷序列和中序遍歷序列均為ABC,則該二叉樹(shù)的后序遍歷序列為_(kāi)_________。

      8.設(shè)一棵完全二叉樹(shù)中有21個(gè)結(jié)點(diǎn),如果按照從上到下、從左到右的順序從1開(kāi)始順序編號(hào),則編號(hào)為8的雙親結(jié)點(diǎn)的編號(hào)是___________,編號(hào)為8的左孩子結(jié)點(diǎn)的編號(hào)是_____________。

      9.下列程序段的功能實(shí)現(xiàn)子串t在主串s中位置的算法,要求在下劃線處填上正確語(yǔ)句。

      int index(char s[ ], char t[ ]){ i=j=0;while(i

      三、應(yīng)用題(30分)

      1.設(shè)完全二叉樹(shù)的順序存儲(chǔ)結(jié)構(gòu)中存儲(chǔ)數(shù)據(jù)ABCDE,要求給出該二叉樹(shù)的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)并給出該二叉樹(shù)的前序、中序和后序遍歷序列。

      2.設(shè)給定一個(gè)權(quán)值集合W=(3,5,7,9,11),要求根據(jù)給定的權(quán)值集合構(gòu)造一棵哈夫曼樹(shù)并計(jì)算哈夫曼樹(shù)的帶權(quán)路徑長(zhǎng)度WPL。

      3.設(shè)一組初始記錄關(guān)鍵字序列為(19,21,16,5,18,23),要求給出以19為基準(zhǔn)的一趟快速排序結(jié)果以及第2趟直接選擇排序后的結(jié)果。

      4.設(shè)一組初始記錄關(guān)鍵字集合為(25,10,8,27,32,68),散列表的長(zhǎng)度為8,散列函數(shù)H(k)=k mod 7,要求分別用線性探測(cè)和鏈地址法作為解決沖突的方法設(shè)計(jì)哈希表。5.設(shè)無(wú)向圖G(所右圖所示),要求給出該圖的深度優(yōu)先和廣度優(yōu)先遍歷的序列并給出該圖的最小生成樹(shù)。

      四、算法設(shè)計(jì)題(20分)1.設(shè)計(jì)判斷單鏈表中結(jié)點(diǎn)是否關(guān)于中心對(duì)稱(chēng)算法。2.設(shè)計(jì)在鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)上建立一棵二叉樹(shù)的算法。3.設(shè)計(jì)判斷一棵二叉樹(shù)是否是二叉排序樹(shù)的算法。

      數(shù)據(jù)結(jié)構(gòu)試卷

      (一)參考答案

      一、選擇題

      1.C 2.C 3.D 4.C 5.A 6.C 7.C 8.B 9.B 10.B

      二、填空題 1.(F+1)% m 2.O(n),O(n)3.2n,n+1 4.s->next=p->next;s->next=s 5.n, 2e 6.m=2e 7.CBA 8.4,16 9.i-j+1,0 10.n-1

      三、應(yīng)用題

      1.鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)略,前序ABDEC,中序DBEAC,后序DEBCA。2.哈夫曼樹(shù)略,WPL=78 3.(18,5,16,19,21,23),(5,16,21,19,18,23)

      h0h1??8h2012345674.線性探測(cè): 鏈地址法:h3??10

      ?8?1025322768h4??25??32h5??68h6??275.深度:125364,廣度:123456,最小生成樹(shù)T的邊集為E={(1,4),(1,3),(3,5),(5,6),(5,6)}

      四、算法設(shè)計(jì)題

      1.設(shè)計(jì)判斷單鏈表中結(jié)點(diǎn)是否關(guān)于中心對(duì)稱(chēng)算法。

      typedef struct {int s[100];int top;} sqstack;int lklistsymmetry(lklist *head){

      sqstack stack;stack.top=-1;lklist *p;

      for(p=head;p!=0;p=p->next){stack.top++;stack.s[stack.top]=p->data;}

      for(p=head;p!=0;p=p->next)if(p->data==stack.s[stack.top])stack.top=stack.top-1;else return(0);

      return(1);} 2.設(shè)計(jì)在鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)上建立一棵二叉樹(shù)的算法。

      typedef char datatype;typedef struct node {datatype data;struct node *lchild,*rchild;} bitree;void createbitree(bitree *&bt){

      char ch;scanf(“%c”,&ch);

      if(ch=='#'){bt=0;return;} bt=(bitree*)malloc(sizeof(bitree));bt->data=ch;createbitree(bt->lchild);createbitree(bt->rchild);} 3.設(shè)計(jì)判斷一棵二叉樹(shù)是否是二叉排序樹(shù)的算法。

      int minnum=-32768,flag=1;typedef struct node{int key;struct node *lchild,*rchild;}bitree;void inorder(bitree *bt){

      if(bt!=0)

      {inorder(bt->lchild);if(minnum>bt->key)flag=0;minnum=bt->key;inorder(bt->rchild);} }

      第四篇:廣東海洋大學(xué)數(shù)據(jù)結(jié)構(gòu)試卷及答案

      廣東海洋大學(xué)

      2013 ——

      2014 學(xué)年第 1 學(xué)期

      《數(shù)據(jù)結(jié)構(gòu)與算法》課程試題

      一、選擇題(6小題,每題3分)

      1.若某線性表中最常用的操作是取第i個(gè)元素和找第i個(gè)元素的前驅(qū),則采用(A)存儲(chǔ)方法最節(jié)省時(shí)間 A 順序表

      B單鏈表

      C 雙鏈表

      D單循環(huán)鏈表 2.一個(gè)棧的入棧序列是1,2,3,4,5,則不可能的出棧序列是(C)A 5,4,3,2,1

      B 4,5,3,2,1

      C 4,3,5,1,2

      D 1,2,3,4,5 3.深度為k的完全二叉樹(shù)至多有(C)個(gè)結(jié)點(diǎn) A 2k?2?

      1B 2k?1

      C

      D 2k?1?1

      k4.G是一個(gè)非連通無(wú)向圖,共28條邊,則該圖至少有(D)個(gè)頂點(diǎn)2A 6

      B 7

      C 8

      D 9

      ?1

      5.在平衡二叉樹(shù)中插入一個(gè)結(jié)點(diǎn)后造成不平衡,設(shè)最低的不平衡結(jié)點(diǎn)為A,并已知A的左孩子平衡因子為0,右孩子平衡因子為1,則應(yīng)該做(C)型調(diào)整以使其平衡 A LL

      B LR

      C RL

      D RR 6.下述排序方法中,時(shí)間性能和待排序記錄的初始狀態(tài)無(wú)關(guān)的是(C)A 插入排序和快速排序

      B 歸并排序和快速排序 C 選擇排序和歸并排序

      D 插入排序和歸并排序

      二、填空題

      1.數(shù)組Q[n]用來(lái)表示一個(gè)循環(huán)隊(duì)列,front為隊(duì)頭元素的前一個(gè)位置,rear為隊(duì)尾元素位置,計(jì)算隊(duì)列中元素個(gè)數(shù)的公式為_(kāi)_____(rear-front+n)%n______________。

      2.已知一棵度為3的樹(shù)有2個(gè)度為1的結(jié)點(diǎn),3個(gè)度為2的結(jié)點(diǎn),4個(gè)度為3的結(jié)點(diǎn)。則該樹(shù)中有__12_________個(gè)葉子結(jié)點(diǎn)。

      3.已知無(wú)向圖的頂點(diǎn)數(shù)為n,邊數(shù)為e,其鄰接表表示的空間復(fù)雜度為_(kāi)___________O(n+e)____。4.假定一個(gè)數(shù)列{25,43,62,31,48,56},采用散列函數(shù)為H(k)=k mod 7,則元素48的同義詞是____62_______。5.利用簡(jiǎn)單選擇排序?qū)個(gè)記錄進(jìn)行排序,最壞情況下,記錄交換次數(shù)為_(kāi)____n-1_______。

      三、(15分)已知一棵二叉樹(shù)的中序遍歷序列為DBKEHJAFCIG,后序遍歷序列為DKJHEBFIGCA,試畫(huà)出該二叉樹(shù)并給出其前序遍歷序列

      四、(15分)設(shè)用于通信的電文由字符集{a,b,c,d,e,f,g,h}中的字母構(gòu)成,它們?cè)陔娢闹谐霈F(xiàn)的頻度分別為{0.02,0.30,0.08,0.14,0.17,0.11,0.12, 0.06},回答下面問(wèn)題:(1)為這八個(gè)字符設(shè)計(jì)哈夫曼編碼(2)對(duì)這八個(gè)字符進(jìn)行等長(zhǎng)編碼需要幾位二進(jìn)制數(shù),哈夫曼編碼比等長(zhǎng)編碼電文總長(zhǎng)壓縮多少?

      五、(20分)已知一個(gè)長(zhǎng)度為11的線性表List=(12, 24, 36, 90, 52, 30, 41, 8, 10, 38, 61),試回答下面問(wèn)題(1)將線性表元素依次插入一個(gè)空的平衡二叉樹(shù),畫(huà)出所得平衡二叉樹(shù),如果假設(shè)每個(gè)元素查找概率相同,則平均查找長(zhǎng)度為多少?

      (2)如果對(duì)線性表元素排序后進(jìn)行折半查找,畫(huà)出折半查找判定樹(shù),假設(shè)每個(gè)元素查找概率相同,計(jì)算平均查找長(zhǎng)度。

      六、(12分)已知數(shù)據(jù)序列為(11,4,8,19,6,31,23),寫(xiě)出快速排序及堆排序每一趟的結(jié)果 解:

      七、(11分)設(shè)單鏈表以非遞減有序排列,設(shè)計(jì)算法實(shí)現(xiàn)在單鏈表中刪除值相同的多余結(jié)點(diǎn)。

      第五篇:數(shù)據(jù)結(jié)構(gòu)試卷(八)及答案

      數(shù)據(jù)結(jié)構(gòu)試卷

      (八)一、選擇題(30分)1.字符串的長(zhǎng)度是指()。

      (A)串中不同字符的個(gè)數(shù)(B)串中不同字母的個(gè)數(shù)

      (C)串中所含字符的個(gè)數(shù)(D)串中不同數(shù)字的個(gè)數(shù) 2.建立一個(gè)長(zhǎng)度為n的有序單鏈表的時(shí)間復(fù)雜度為()(A)O(n)(B)O(1)(C)O(n)(D)O(log2n)3.兩個(gè)字符串相等的充要條件是()。

      (A)兩個(gè)字符串的長(zhǎng)度相等(B)兩個(gè)字符串中對(duì)應(yīng)位置上的字符相等

      (C)同時(shí)具備(A)和(B)兩個(gè)條件(D)以上答案都不對(duì)

      4.設(shè)某散列表的長(zhǎng)度為100,散列函數(shù)H(k)=k % P,則P通常情況下最好選擇()。

      (A)99(B)97(C)91(D)93 5.在二叉排序樹(shù)中插入一個(gè)關(guān)鍵字值的平均時(shí)間復(fù)雜度為()。(A)O(n)(B)O(1og2n)(C)O(nlog2n)(D)O(n)6.設(shè)一個(gè)順序有序表A[1:14]中有14個(gè)元素,則采用二分法查找元素A[4]的過(guò)程中比較元素的順序?yàn)?)。

      (A)A[1],A[2],A[3],A[4](B)A[1],A[14],A[7],A[4](C)A[7],A[3],A[5],A[4](D)A[7],A[5],A[3],A[4] 7.設(shè)一棵完全二叉樹(shù)中有65個(gè)結(jié)點(diǎn),則該完全二叉樹(shù)的深度為()。

      (A)8(B)7(C)6(D)5 8.設(shè)一棵三叉樹(shù)中有2個(gè)度數(shù)為1的結(jié)點(diǎn),2個(gè)度數(shù)為2的結(jié)點(diǎn),2個(gè)度數(shù)為3的結(jié)點(diǎn),則該三叉鏈權(quán)中有()個(gè)度數(shù)為0的結(jié)點(diǎn)。

      (A)5(B)6(C)7(D)8 9.設(shè)無(wú)向圖G中的邊的集合E={(a,b),(a,e),(a,c),(b,e),(e,d),(d,f),(f,c)},則從頂點(diǎn)a出發(fā)進(jìn)行深度優(yōu)先遍歷可以得到的一種頂點(diǎn)序列為()。

      (A)aedfcb(B)acfebd(C)aebcfd(D)aedfbc 10.隊(duì)列是一種()的線性表。

      (A)先進(jìn)先出(B)先進(jìn)后出(C)只能插入(D)只能刪除

      二、判斷題(20分)1.如果兩個(gè)關(guān)鍵字的值不等但哈希函數(shù)值相等,則稱(chēng)這兩個(gè)關(guān)鍵字為同義詞。()2.設(shè)初始記錄關(guān)鍵字基本有序,則快速排序算法的時(shí)間復(fù)雜度為O(nlog2n)。()3.分塊查找的基本思想是首先在索引表中進(jìn)行查找,以便確定給定的關(guān)鍵字可能存在的塊號(hào),然后再在相應(yīng)的塊內(nèi)進(jìn)行順序查找。()4.二維數(shù)組和多維數(shù)組均不是特殊的線性結(jié)構(gòu)。()

      5.向二叉排序樹(shù)中插入一個(gè)結(jié)點(diǎn)需要比較的次數(shù)可能大于該二叉樹(shù)的高度。()6.如果某個(gè)有向圖的鄰接表中第i條單鏈表為空,則第i個(gè)頂點(diǎn)的出度為零。()7.非空的雙向循環(huán)鏈表中任何結(jié)點(diǎn)的前驅(qū)指針均不為空。()8.不論線性表采用順序存儲(chǔ)結(jié)構(gòu)還是鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),刪除值為X的結(jié)點(diǎn)的時(shí)間復(fù)雜度均為O(n)。()

      9.圖的深度優(yōu)先遍歷算法中需要設(shè)置一個(gè)標(biāo)志數(shù)組,以便區(qū)分圖中的每個(gè)頂點(diǎn)是否被訪問(wèn)過(guò)。()10.稀疏矩陣的壓縮存儲(chǔ)可以用一個(gè)三元組表來(lái)表示稀疏矩陣中的非0元素。()

      三、填空題(30分)1. 設(shè)一組初始記錄關(guān)鍵字序列為(49,38,65,97,76,13,27,50),則以d=4為增量的一趟希爾排序結(jié)束后的結(jié)果為_(kāi)____________________________。2. 下面程序段的功能是實(shí)現(xiàn)在二叉排序樹(shù)中插入一個(gè)新結(jié)點(diǎn),請(qǐng)?jiān)谙聞澗€處填上正確的內(nèi)容。

      typedef struct node{int data;struct node *lchild;struct node *rchild;}bitree;void bstinsert(bitree *&t,int k){ if(t==0){____________________________;t->data=k;t->lchild=t->rchild=0;} else if(t->data>k)bstinsert(t->lchild,k);else__________________________;} 3. 設(shè)指針變量p指向單鏈表中結(jié)點(diǎn)A,指針變量s指向被插入的結(jié)點(diǎn)X,則在結(jié)點(diǎn)A的后面插入結(jié)點(diǎn)X需要執(zhí)行的語(yǔ)句序列:s->next=p->next;_________________。4. 設(shè)指針變量head指向雙向鏈表中的頭結(jié)點(diǎn),指針變量p指向雙向鏈表中的第一個(gè)結(jié)點(diǎn),則指針變量p和指針變量head之間的關(guān)系是p=_________和head=__________(設(shè)結(jié)點(diǎn)中的兩個(gè)指針域分別為llink和rlink)。

      5. 設(shè)某棵二叉樹(shù)的中序遍歷序列為ABCD,后序遍歷序列為BADC,則其前序遍歷序列為_(kāi)_________。

      6. 完全二叉樹(shù)中第5層上最少有__________個(gè)結(jié)點(diǎn),最多有_________個(gè)結(jié)點(diǎn)。

      7. 設(shè)有向圖中不存在有向邊,則其對(duì)應(yīng)的鄰接矩陣A中的數(shù)組元素A[i][j]的值等于____________。

      8. 設(shè)一組初始記錄關(guān)鍵字序列為(49,38,65,97,76,13,27,50),則第4趟直接選擇排序結(jié)束后的結(jié)果為_(kāi)____________________________。

      9. 設(shè)連通圖G中有n個(gè)頂點(diǎn)e條邊,則對(duì)應(yīng)的最小生成樹(shù)上有___________條邊。10. 設(shè)有一組初始記錄關(guān)鍵字序列為(50,16,23,68,94,70,73),則將它們調(diào)整成初始堆只需把16與___________相互交換即可。

      四、算法設(shè)計(jì)題(20分)1.設(shè)計(jì)一個(gè)在鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)上統(tǒng)計(jì)二叉樹(shù)中結(jié)點(diǎn)個(gè)數(shù)的算法。2.設(shè)計(jì)一個(gè)算法將無(wú)向圖的鄰接矩陣轉(zhuǎn)為對(duì)應(yīng)鄰接表的算法。

      數(shù)據(jù)結(jié)構(gòu)試卷

      (八)參考答案

      一、選擇題 1.C 2.C 3.C 4.B 5.B 6.C 7.B 8.C 9.A 10.A

      二、判斷題

      1.對(duì) 2.錯(cuò) 3.對(duì) 4.錯(cuò) 5.錯(cuò) 6.對(duì) 7.對(duì) 8.對(duì) 9.對(duì) 10.對(duì)

      三、填空題

      1.(49,13,27,50,76,38,65,97)2.t=(bitree *)malloc(sizeof(bitree)),bstinsert(t->rchild,k)3.p->next=s 4.head->rlink,p->llink 5.CABD 6.1,16 7.0 8.(13,27,38,50,76,49,65,97)9.n-1 10.50

      四、算法設(shè)計(jì)題

      1.設(shè)計(jì)一個(gè)在鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)上統(tǒng)計(jì)二叉樹(shù)中結(jié)點(diǎn)個(gè)數(shù)的算法。

      void countnode(bitree *bt,int &count){

      if(bt!=0)

      {count++;countnode(bt->lchild,count);countnode(bt->rchild,count);} } 2.設(shè)計(jì)一個(gè)算法將無(wú)向圖的鄰接矩陣轉(zhuǎn)為對(duì)應(yīng)鄰接表的算法。

      typedef struct {int vertex[m];int edge[m][m];}gadjmatrix;typedef struct node1{int info;int adjvertex;struct node1 *nextarc;}glinklistnode;typedef struct node2{int vertexinfo;glinklistnode *firstarc;}glinkheadnode;void adjmatrixtoadjlist(gadjmatrix g1[ ],glinkheadnode g2[ ]){ int i,j;glinklistnode *p;for(i=0;i<=n-1;i++)g2[i].firstarc=0;for(i=0;i<=n-1;i++)for(j=0;j<=n-1;j++)if(g1.edge[i][j]==1){ p=(glinklistnode *)malloc(sizeof(glinklistnode));p->adjvertex=j;p->nextarc=g[i].firstarc;g[i].firstarc=p;p=(glinklistnode *)malloc(sizeof(glinklistnode));p->adjvertex=i;p->nextarc=g[j].firstarc;g[j].firstarc=p;} }

      下載數(shù)據(jù)結(jié)構(gòu)期中考試試卷答案(最終定稿)word格式文檔
      下載數(shù)據(jù)結(jié)構(gòu)期中考試試卷答案(最終定稿).doc
      將本文檔下載到自己電腦,方便修改和收藏,請(qǐng)勿使用迅雷等下載。
      點(diǎn)此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶(hù)自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        三年級(jí)數(shù)學(xué)期中考試試卷及答案

        三年級(jí)數(shù)學(xué)期中考試試卷 一、認(rèn)真思考,對(duì)號(hào)入座。(每空1分,共20分) 1. 2000年一、二、三月份共有( )天。 2. 要使3□2÷8的商小于40且正好整除,□里應(yīng)填( )。 3. 2008年小明9歲了,他的......

        數(shù)據(jù)結(jié)構(gòu)試題及答案

        1 數(shù)據(jù)結(jié)構(gòu)試卷(二) 一、選擇題(24分) 1.下面關(guān)于線性表的敘述錯(cuò)誤的是( )。 (A) 線性表采用順序存儲(chǔ)必須占用一片連續(xù)的存儲(chǔ)空間(B) 線性表采用鏈?zhǔn)酱鎯?chǔ)不必占用一片連續(xù)的存......

        數(shù)據(jù)結(jié)構(gòu)習(xí)題與答案

        第 1 章 緒 論 課后習(xí)題講解 1. 填空 ⑴( )是數(shù)據(jù)的基本單位,在計(jì)算機(jī)程序中通常作為一個(gè)整體進(jìn)行考慮和處理。 【解答】數(shù)據(jù)元素 ⑵( )是數(shù)據(jù)的最小單位,( )是討論數(shù)據(jù)結(jié)構(gòu)時(shí)涉......

        八年級(jí)下冊(cè)思想政治期中考試試卷及答案

        八年級(jí)下冊(cè)思想政治期中考試試卷一、選擇題(下列各題的四個(gè)選項(xiàng)中,只有一個(gè)最符合題意,請(qǐng)選出并將答案填寫(xiě)在題后的括號(hào)內(nèi)。每小題2分,共80分)1、“法律在那里實(shí)現(xiàn)自由,也在那里限......

        2014年高一政治期中考試試卷及答案

        2013-2014學(xué)年度第二學(xué)期高一政治測(cè)試題《政治生活》(第一、二單元)一、選擇題(本大題共25個(gè)小題,每小題2分,每小題有四個(gè)選項(xiàng),其中只有一個(gè)符合題意。)1.參加十一屆全國(guó)人民代表大會(huì)......

        二年級(jí)下冊(cè)語(yǔ)文期中考試試卷及答案

        二年級(jí)語(yǔ)文下冊(cè)期中試題 一、看拼音在田字格中寫(xiě)字,要寫(xiě)得端正漂亮。(8分,每字0.5分)jiěd?nɡɡānkūshìjiazhōnɡ yúnínìnɡdùjuānxi?nɡ wěihuánrào二、比一比......

        二年級(jí)下冊(cè)語(yǔ)文期中考試試卷及答案

        二年級(jí)語(yǔ)文下冊(cè)期中試題 一、看拼音在田字格中寫(xiě)字,要寫(xiě)得端正漂亮。(8分,每字0.5分)jiěd?nɡɡānkūshìjiazhōnɡ yúnínìnɡdùjuānxi?nɡ wěihuánrào二、比一比......

        政治必修2期中考試試卷(附答案)

        一、選擇題(只有一個(gè)最符合題意的選項(xiàng),每小題2分,共50分)1.2011年4月29日,聯(lián)合國(guó)人權(quán)理事會(huì)就敘利亞當(dāng)前局勢(shì)召開(kāi)緊急會(huì)議,討論美國(guó)提出的一項(xiàng)決議草案。據(jù)透露,美國(guó)希望通過(guò)此次......