2014年4月自學考試數(shù)據(jù)結(jié)構(gòu)導論試題

字號:

全國2014年4月高等教育自學考試
    數(shù)據(jù)結(jié)構(gòu)導論試題
    課程代碼:02142
    請考生按規(guī)定用筆將所有試題的答案涂、寫在答題紙上。
    選擇題部分
    注意事項:
    1.答題前,考生務(wù)必將自己的考試課程名稱、姓名、準考證號用黑色字跡的簽字筆或鋼筆填寫在答題紙規(guī)定的位置上。
    2.每小題選出答案后,用2B鉛筆把答題紙上對應題目的答案標號涂黑。如需改動,用橡皮擦干凈后,再選涂其他答案標號。不能答在試題卷上。
    一、單項選擇題(本大題共15小題,每小題2分,共30分)
    在每小題列出的四個備選項中只有一個是符合題目要求的,請將其選出并將“答題紙”的相應代碼涂黑。錯涂、多涂或未涂均無分。
    1.下列幾種算法時間復雜度中,小的是
    A.O(log2n) B.O(n)
    C.O(n2) D.O(1)
    2.數(shù)據(jù)的存儲方式中除了順序存儲方式和鏈式存儲方式之外,還有
    A.索引存儲方式和樹形存儲方式 B.線性存儲方式和散列存儲方式
    C.線性存儲方式和索引存儲方式 D.索引存儲方式和散列存儲方式
    3.表長為n的順序表中做刪除運算的平均時間復雜度為
    A.O(1) B.O(log2n)
    C.O(n) D.O(n2)
    4.順序表中定位算法(查找值為x的結(jié)點序號小值)的平均時間復雜度為
    A.O(1) B.O(log2n)
    C.O(n) D.O(n2)
    5.元素的進棧次序為A,B,C,D,E,出棧的第一個元素為E,則第四個出棧的元素為
    A.D B.C
    C.B D.A
    6.帶頭結(jié)點的鏈隊列中,隊列頭和隊列尾指針分別為front和rear,則判斷隊列空的條件為
    A.front==rear B.front!=NULL
    C.rear!==NULL D.front==NULL
    7.深度為5的二叉樹,結(jié)點個數(shù)多為
    A.31個 B.32個
    C.63個 D.64個
    8.如果結(jié)點A有2個兄弟結(jié)點,結(jié)點B為A的雙親,則B的度為
    A.1 B.3
    C.4 D.5
    9.將題9圖所示的一棵樹轉(zhuǎn)換為二叉樹,結(jié)點C是
    A.A的左孩子
    B.A的右孩子
    C.B的右孩子
    D.E的右孩子
    10.n為圖的頂點個數(shù),e為圖中弧的數(shù)目,則圖的拓撲排序算法的時間復雜度為
    A.O(n) B.O(e)
    C.O(n-e) D.O(n+e)
    11.無向圖的鄰接矩陣是
    A.對角矩陣 B.稀疏矩陣
    C.上三角矩陣 D.對稱矩陣
    12.在具有101個元素的順序表中查找值為x的元素結(jié)點時,平均比較元素的次數(shù)為
    A.50 B.51
    C.100 D.101
    13.構(gòu)造散列函數(shù)的方法很多,常用的構(gòu)造方法有
    A.數(shù)字分析法、除留余數(shù)法、平方取中法
    B.線性探測法、二次探測法、除留余數(shù)法
    C.線性探測法、除留余數(shù)法、鏈地址法
    D.線性探測法、二次探測法、鏈地址法
    14.就平均時間性能而言,快速排序方法佳,其時間復雜度為
    A.O(n) B.O(nlog2n)
    C.O(n2) D.O(1og2n)
    15.下述算法中,不穩(wěn)定的排序算法是
    A.直接插入排序 B.冒泡排序
    C.堆排序 D.歸并排序
    非選擇題部分
    注意事項:
    用黑色字跡的簽字筆或鋼筆將答案寫在答題紙上,不能答在試題卷上。
    二、填空題(本大題共13小題,每小題2分,共26分)
    16.數(shù)據(jù)的基本單位是_________。
    17.雙向循環(huán)鏈表中,在p所指結(jié)點的后面插入一個新結(jié)點*t,需要修改四個指針,分別為
    t->prior=P;t->next=p->next;_________;p->next=t;。
    18.在帶有頭結(jié)點的循環(huán)鏈表中,尾指針為rear,判斷指針P所指結(jié)點為首結(jié)點的條件是_________。
    19.若線性表中常用的操作是求表長和讀表元素,則順序表和鏈表這兩種存儲方式中,較節(jié)省時間的是_________。
    20.不含任何數(shù)據(jù)元素的棧稱為_________。
    21.稀疏矩陣一般采用的壓縮存儲方法是_________。
    22.100個結(jié)點的二叉樹采用二叉鏈表存儲時,用來指向左、右孩子結(jié)點的指針域有_________個。
    23.已知完全二叉樹的第5層有5個結(jié)點,則整個完全二叉樹有_________個結(jié)點。
    24.n個頂點的有向圖G用鄰接矩陣A[1..n,1..n]存儲,其第i列的所有元素之和等于頂點
    Vi的_________。
    25.具有10個頂點的有向完全圖的弧數(shù)為_________。
    26.要完全避免散列所產(chǎn)生的“堆積’’現(xiàn)象,通常采用_________解決沖突。
    27.在長度為n的帶有崗哨的順序表中進行順序查找,查找不成功時,與關(guān)鍵字的比較次數(shù)為_________。
    28.歸并排序算法的時間復雜度是_________。
    三、應用題(本大題共5小題,每小題6分,共30分)
    29.稀疏矩陣A如題29圖所示,寫出該稀疏矩陣A的三元組表示法。
    30.設(shè)二叉樹的中序遍歷序列為BDCEAFHG,后序遍歷序列為DECBHGFA,試畫出該二叉樹。
    31.寫出題31圖所示無向圖的鄰接矩陣,并寫出每個頂點的度。
    
    題31圖
    32.已知散列表的地址空間為0至13,散列函數(shù)H(k)=kmod11,(mod為求余運算),待散列序列為(26,61,38,84,49),用二次探測法解決沖突,構(gòu)造該序列的散列表,要求寫出處理沖突的過程。
    33.將一組鍵值(80,50,65,13,86,35,96,57,39,79,59,15)應用二路歸并排序算法從小到大排序,試寫出各趟的結(jié)果。
    四、算法設(shè)計題(本大題共2小題,每小題7分,共14分)
    34.設(shè)單鏈表及鏈棧S的結(jié)構(gòu)定義如下:
    typedef struct node
    { Data Type data;
    struct node*next;
    }linkstack;
    編寫一個算法void ReverseList(1inkstack *head),借助于棧S將帶頭結(jié)點單鏈表head中序號為奇數(shù)的結(jié)點逆置,序號為偶數(shù)的結(jié)點保持不變。(例如:單鏈表的邏輯結(jié)構(gòu)為(a1,a2,a3,a4,a5,a6),逆置后變?yōu)?a5,a2,a3,a4,a1,a6))。
    說明:棧的初始化運算用InitStack(S);進棧運算用Push(S,x);判??者\算用EmptyStack(S);出棧運算用Pop(S);取棧頂元素運算用Gettop(S)。
    35.以二叉鏈表作為存儲結(jié)構(gòu),試編寫遞歸算法實現(xiàn)求二叉樹中葉子結(jié)點個數(shù)。