日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

数据结构试卷及答案(四)

發布時間:2024/8/1 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据结构试卷及答案(四) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
  • 一、選擇題

  • 1、設一維數組中有n個數組元素,則讀取第i個數組元素的平均時間復雜度為(? )。?
    (A) O(n)?????????
    (B) O(nlog2n)???
    (C) O(1)????????
    (D) O(n2)

  • 參考答案是:C

    2、設一棵二叉樹的深度為k,則該二叉樹中最多有(? )個結點。?
    (A) 2k-1?????????
    (B) 2k?????????
    (C) 2k-1?????????
    (D) 2k-1

    參考答案是:D

    3、設某無向圖中有n個頂點e條邊,則該無向圖中所有頂點的入度之和為(? )。?
    (A) n???????????
    (B) e???????????
    (C) 2n??????????
    (D) 2e

    參考答案是:D

    4、在二叉排序樹中插入一個結點的時間復雜度為(? )。?
    (A) O(1)????????
    (B) O(n)????????
    (C) O(log2n)???
    (D) O(n2)

    參考答案是:B

    5、設某有向圖的鄰接表中有n個表頭結點和m個表結點,則該圖中有(? )條有向邊。?
    (A) n????????????
    (B) n-1?????????
    (C) m???????????
    (D) m-1

    參考答案是:C

    6、設一組初始記錄關鍵字序列為(345,253,674,924,627),則用基數排序需要進行(? )趟的分配和回收才能使得初始關鍵字
    序列變成有序序列。?
    (A) 3????????????
    (B) 4??????????
    (C) 5???????????
    (D) 8

    參考答案是:A

    7、設用鏈表作為棧的存儲結構則退棧操作(? )。?
    (A) 必須判別棧是否為滿??????????
    (B) 必須判別棧是否為空?
    (C) 判別棧元素的類型????????????
    (D) 對棧不作任何判別

    參考答案是:B

    8、下列四種排序中(? )的空間復雜度最大。?
    (A) 快速排序????
    (B) 冒泡排序????
    (C) 希爾排序????
    (D) 堆

    參考答案是:A

    9、設某二叉樹中度數為0的結點數為N0,度數為1的結點數為Nl,度數為2的結點數為N2,則下列等式成立的(? )。

    (A) N0=N1+1??
    (B) N0=Nl+N2?
    (C) N0=N2+1??
    (D) N0=2N1+l

    參考答案是:C

    10、設有序順序表中有n個數據元素,則利用二分查找法查找數據元素X的最多比較次數不超過(? )。?
    (A) log2n+1??????
    (B) log2n-1?????
    (C) log2n???????
    (D) log2(n+1)

    參考答案是:A

    二、填空題

  • 1、設有n個無序的記錄關鍵字,則直接插入排序的時間復雜度為________,快速排序的平均時間復雜度為_________。

  • 參考答案是:O(n2),O(nlog2n)

    2、設指針變量p指向雙向循環鏈表中的結點X,則刪除結點X需要執行的語句序列為_______________________________(設結點中的兩個指針域分別為llink和rlink)。

    參考答案是:p>llink->rlink=p->rlink; p->rlink->llink=p->rlink

    3、根據初始關鍵字序列(19,22,01,38,10)建立的二叉排序樹的高度為____________。

    參考答案是:3

    4、深度為k的完全二叉樹中最少有____________個結點。

    參考答案是:2k-1

    5、設初始記錄關鍵字序列為(K1,K2,…,Kn),則用篩選法思想建堆必須從第______個元素開始進行篩選。

    參考答案是:n/2

    6、設哈夫曼樹中共有99個結點,則該樹中有_________個葉子結點;若采用二叉鏈表作為存儲結構,則該樹中有_____個空指針
    域。

    參考答案是:50,51

    7、設有一個順序循環隊列中有M個存儲單元,則該循環隊列中最多能夠存儲________個隊列元素;當前實際存儲_________個隊
    列元素(設頭指針F指向當前隊頭元素的前一個位置,尾指針指向當前隊尾元素的位置)。

    參考答案是:m-1,(R-F+M)%M

    8、設順序線性表中有n個數據元素,則第i個位置上插入一個數據元素需要移動表中_______個數據元素;刪除第i個位置上的數據元
    素需要移動表中_______個元素。

    參考答案是:n+1-i,n-i

    9、設一組初始記錄關鍵字序列為(20,18,22,16,30,19),則以20為中軸的一趟快速排序結果為___________。

    參考答案是:(19,18,16,20,30,22)

    10、設一組初始記錄關鍵字序列為(20,18,22,16,30,19),則根據這些初始關鍵字序列建成的初始堆為_____________。

    參考答案是:(16,18,19,20,32,22)

    11、設某無向圖G中有n個頂點,用鄰接矩陣A作為該圖的存儲結構,則頂點i和頂點j互為鄰接點的條件是_______________。

    參考答案是:A[i][j]=1

    12、設無向圖對應的鄰接矩陣為A,則A中第i上非0元素的個數_________第i列上非0元素的個數(填等于,大于或小于)。

    參考答案是:等于

    13、設前序遍歷某二叉樹的序列為ABCD,中序遍歷該二叉樹的序列為BADC,則后序遍歷該二叉樹的序列為_____________。

    參考答案是:BDCA

    14、設散列函數H(k)=k mod p,解決沖突的方法為鏈地址法。要求在下列算法劃線處填上正確的語句完成在散列表hashtalbe中查找
    關鍵字值等于k的結點,成功時返回指向關鍵字的指針,不成功時返回標志0。

    typedef struct node?
    {
    ???? int key;
    ???? struct node *next;
    } lklist;?
    void createlkhash(lklist *hashtable[ ])
    {
    ???? int i,k;? lklist *s;
    ???? for(i=0;i<m;i++)_____________________;
    ???? for(i=0;i<n;i++)
    ???? {
    ???????? s=(lklist *)malloc(sizeof(lklist));?
    ???????? s->key=a[i];
    ???????? k=a[i] % p;?
    ???????? s->next=hashtable[k];
    ???????? _______________________;
    ???? }
    }

    參考答案是:hashtable[i]=0,hashtable[k]=s

    三、計算題

  • 1、畫出廣義表LS=(( ) , (e) , (a , (b , c , d )))的頭尾鏈表存儲結構。

  • 參考答案是:

    2、下圖所示的森林:  
    (1) 求樹(a)的先根序列和后根序列;?
    (2) 求森林先序序列和中序序列;
    (3)將此森林轉換為相應的二叉樹;
    ?

    參考答案是:(1) ABCDEF; BDEFCA;
    (2) ABCDEFGHIJK; BDEFCAIJKHG林轉換為相應的二叉樹;
    (3)

    3、設散列表的地址范圍是[ 0..9 ],散列函數為H(key)= (key2?+2)MOD 9,并采用鏈表處理沖突,請畫出元素7、4、5、3、6、
    2、8、9依次插入散列表的存儲結構。

    參考答案是:H(4)=H(5)=0,H(3)=H(6)=H(9)=2,H(8)=3,H(2)=H(7)=6

    四、算法設計題

  • 1、設單鏈表中有僅三類字符的數據元素(大寫字母、數字和其它字符),要求利用原單鏈表中結點空間設計出三個單鏈表的算法,使
    每個單鏈表只包含同類字符。

  • 參考答案是:typedef?char?datatype; typedef?struct?node {datatype?data;?struct?node?*next; }lklist; void?split(lklist?*head,lklist?*&ha,lklist?*&hb,lklist?*&hc) {lklist?*p;?ha=0,hb=0,hc=0;for(p=head;p!=0;p=head){head=p->next;?p->next=0;if(p->data>='A'?&&?p->data<='Z')?{p->next=ha;?ha=p;}else?if(p->data>='0'?&&?p->data<='9')?{p->next=hb;?hb=p;}?else?{p->next=hc;?hc=p;}} }

    2、設計在鏈式存儲結構上交換二叉樹中所有結點左右子樹的算法。

    參考答案是:typedef?struct?node? {int?data;?struct?node?*lchild,*rchild; }?bitree; void?swapbitree(bitree?*bt) {bitree?*p;if(bt==0)?return;swapbitree(bt->lchild);?swapbitree(bt->rchild);p=bt->lchild;?bt->lchild=bt->rchild;?bt->rchild=p; }

    3、在鏈式存儲結構上建立一棵二叉排序樹。

    參考答案是:#define?n?10 typedef?struct?node {int?key;?struct?node?*lchild,*rchild; }bitree; void?bstinsert(bitree?*&bt,int?key) {if(bt==0){bt=(bitree?*)malloc(sizeof(bitree));?bt->key=key;bt->lchild=bt->rchild=0;}else?if(bt->key>key)?bstinsert(bt->lchild,key);?else?bstinsert(bt->rchild,key); } void?createbsttree(bitree?*&bt) {int?i;for(i=1;i<=n;i++)?bstinsert(bt,random(100)); }


    來源:我是碼農,轉載請保留出處和鏈接!

    本文鏈接:http://www.54manong.com/?id=48

    '); (window.slotbydup = window.slotbydup || []).push({ id: "u3646208", container: s }); })(); '); (window.slotbydup = window.slotbydup || []).push({ id: "u3646147", container: s }); })();

    總結

    以上是生活随笔為你收集整理的数据结构试卷及答案(四)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。