华南俳烁实业有限公司

自考

各地資訊
當(dāng)前位置:考試網(wǎng) >> 自考 >> 自考真題 >> 工學(xué)類 >> 數(shù)據(jù)結(jié)構(gòu) >> 文章內(nèi)容

排行熱點(diǎn)

  • 歷年真題
  • 模擬試題
  • 自考自答

全國(guó)2009年10月高等教育自學(xué)考試數(shù)據(jù)結(jié)構(gòu)試題_第2頁

來源:考試網(wǎng)  [2010年7月31日]  【

二、填空題(本大題共10小題,每小題2分,若有兩個(gè)空格,每個(gè)空格1分,共20分)
請(qǐng)?jiān)诿總(gè)空格中填上正確答案。錯(cuò)填、不填均無分。
16.?dāng)?shù)據(jù)的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的特點(diǎn)是借助________表示數(shù)據(jù)元素之間的邏輯關(guān)系。
17.如果需要對(duì)線性表頻繁進(jìn)行________或________操作,則不宜采用順序存儲(chǔ)結(jié)構(gòu)。
18.如圖所示,可以利用一個(gè)向量空間同時(shí)實(shí)現(xiàn)兩個(gè)類型相同的棧。其中棧1為空的條件是top1=0,棧2為空的條件是top2=n-1,則“棧滿”的判定條件是________。
全國(guó)2009年10月高等教育自學(xué)考試數(shù)據(jù)結(jié)構(gòu)試題
19.靜態(tài)存儲(chǔ)分配的順序串在進(jìn)行插入、置換和________等操作時(shí)可能發(fā)生越界。
20.廣義表L=(a,(b,( )))的深度為________。
21.任意一棵完全二叉樹中,度為1的結(jié)點(diǎn)數(shù)最多為________。
22.求最小生成樹的克魯斯卡爾(Kruskal)算法耗用的時(shí)間與圖中________的數(shù)目正相關(guān)。
23.在5階B-樹中,每個(gè)結(jié)點(diǎn)至多含4個(gè)關(guān)鍵字,除根結(jié)點(diǎn)之外,其他結(jié)點(diǎn)至少含________個(gè)關(guān)鍵字。
24.若序列中關(guān)鍵字相同的記錄在排序前后的相對(duì)次序不變,則稱該排序算法是________的。
25.常用的索引順序文件是________文件和________文件。

三、解答題(本大題共4小題,每小題5分,共20分)
26.如圖所示,在n×n矩陣A中,所有下標(biāo)值滿足關(guān)系式i+j<n+l的元素aij的值均為0,現(xiàn)將A中其它元素按行優(yōu)先順序依次存儲(chǔ)到長(zhǎng)度為n(n+1)/2的一維數(shù)組sa中,其中元素a1,n存儲(chǔ)在sa[0]。
(1)設(shè)n=10,元素a4,9存儲(chǔ)在sa[p],寫出下標(biāo)p的值;
(2)設(shè)元素ai,j存儲(chǔ)在sa[k]中,寫出由i,j和n計(jì)算k的一般公式。
全國(guó)2009年10月高等教育自學(xué)考試數(shù)據(jù)結(jié)構(gòu)試題
27.由字符集{s,t,a,e,I}及其在電文中出現(xiàn)的頻度構(gòu)建的哈夫曼樹如圖所示。已知某段電文的哈夫曼編碼為111000010100,請(qǐng)根據(jù)該哈夫曼樹進(jìn)行譯碼,寫出原來的電文。
全國(guó)2009年10月高等教育自學(xué)考試數(shù)據(jù)結(jié)構(gòu)試題
28.已知無向圖G的鄰接表如圖所示,
(1)畫出該無向圖;
(2)畫出該圖的廣度優(yōu)先生成森林。
全國(guó)2009年10月高等教育自學(xué)考試數(shù)據(jù)結(jié)構(gòu)試題
29.對(duì)序列(48,37,63,96,22,31,50,55,11)進(jìn)行升序的堆排序,寫出構(gòu)建的初始(大根)堆及前兩趟重建堆之后的序列狀態(tài)。
初始堆:
第1趟:
第2趟:

四、算法閱讀題(本大題共4小題,每小題5分,共20分)
30.閱讀下列算法,并回答問題:
全國(guó)2009年10月高等教育自學(xué)考試數(shù)據(jù)結(jié)構(gòu)試題
(1)無向圖G如圖所示,寫出算法
f30(&G)的返回值;
(2)簡(jiǎn)述算法f30的功能。
#define MaxNum 20
int visited[MaxNum];
void DFS(Graph *g,int i);
  /*從頂點(diǎn)vi出發(fā)進(jìn)行深度優(yōu)先搜索,訪問頂點(diǎn)vj時(shí)置visited[j]為1*/
int f30(Graph *g)
  { int i,k;
   for (i=0; in; i++)/*g->n為圖g的頂點(diǎn)數(shù)目*/
     visited[i]=0;
   for (i=k=0; in; i++)
     if (visited[i]= =0)
       { k++;
        DFS(g,i);
       }
   return k;
  }
31.假設(shè)學(xué)生成績(jī)按學(xué)號(hào)增序存儲(chǔ)在帶頭結(jié)點(diǎn)的單鏈表中,類型定義如下:
typedef struct Node {
  int id; /*學(xué)號(hào)*/
  int score; /*成績(jī)*/
  struct Node *next;
  } LNode, *LinkList;
閱讀算法f31,并回答問題:
(1)設(shè)結(jié)點(diǎn)結(jié)構(gòu)為全國(guó)2009年10月高等教育自學(xué)考試數(shù)據(jù)結(jié)構(gòu)試題,成績(jī)鏈表A和B如圖所示,畫出執(zhí)行算法
f31(A,B)后A所指的鏈表;
全國(guó)2009年10月高等教育自學(xué)考試數(shù)據(jù)結(jié)構(gòu)試題
(2)簡(jiǎn)述算法f31的功能。
void f31(LinkList A, LinkList B)
  { LinkList p, q;
   p=A->next;
   q=B->next;
   while (p && q)
     { if (p->idid)
        p=p->next;
      else if (p->id>q->id)
        q=q->next;
      else
        { if (p->score<60)
          if (q->score<60)
            p->score=q->score;
          else p->score=60;
         p=p->next;
         q=q->next;
        }
      }
  }
32.閱讀下列算法,并回答問題:
(1)設(shè)串s=“OneWorldOneDream”,t="One",pos是一維整型數(shù)組,寫出算法
f32(s,t,pos)執(zhí)行之后得到的返回值和pos中的值;
(2)簡(jiǎn)述算法f32的功能。
int strlen(char*s); /*返回串s的長(zhǎng)度*/
int index(char*st,char*t);
 。*若串t在串st中出現(xiàn),則返回在串st中首次出現(xiàn)的下標(biāo)值,否則返回-1*/
int f32(char*s, char*t, int pos[])
  { int i, j, k, ls, lt;
   ls=strlen(s);
   1t=strlen(t);
   if (ls= =0||1t= =0) return-1;
   k=0;
   i=0;
   do {
     j=index(s+i, t);
     if (j>=0)
       { pos[k++]=i+j;
        i+=j+1t;
       }
     }while(i+1t<=1s && j >=0);
   return k;
  }
33.二叉排序樹的存儲(chǔ)結(jié)構(gòu)定義為以下類型:
typedef int KeyType;
typedef struct node {
  KeyType key; /*關(guān)鍵字項(xiàng)*/
  InfoType otherinfo; /*其它數(shù)據(jù)項(xiàng)*/
  struct node *1child, *rchild; /*左、右孩子指針*/
  } BSTNode, *BSTree;
閱讀算法f33,并回答問題:
全國(guó)2009年10月高等教育自學(xué)考試數(shù)據(jù)結(jié)構(gòu)試題
(1)對(duì)如圖所示的二叉排序樹T,寫出f33(T,8)
返回的指針?biāo)附Y(jié)點(diǎn)的關(guān)鍵字;
(2)在哪些情況下算法f33返回空指針?
(3)簡(jiǎn)述算法f33的功能。
BSTNode *f33(BSTree T, KeyType x)
{ BSTNode *p;
 if (T= =NULL) return NULL;
 p=f33(T->1child, x);
 if (p!=NULL)return p;
 if (T->key>x)return T;
 return f33(T-> rchild, x);
}

五、算法設(shè)計(jì)題(本題10分)
34.假設(shè)線性表采用順序存儲(chǔ)結(jié)構(gòu),其類型定義如下:
#define ListSize 100
typedef struct {
  int data[ListSize];
  int length;
  } SeqList, *Table;
編寫算法,將順序表L中所有值為奇數(shù)的元素調(diào)整到表的前端。

首頁 1 2 尾頁
責(zé)編:jane

相關(guān)文章

宜君县| 锦州市| 纳雍县| 平罗县| 巧家县| 望城县| 济源市| 运城市| SHOW| 定西市| 永寿县| 鲁山县| 鹤峰县| 德保县| 炎陵县| 平原县| 金坛市| 自治县| 通辽市| 永康市| 钟祥市| 恩施市| 赤城县| 平山县| 关岭| 万州区| 绍兴市| 定安县| 罗定市| 龙海市| 孝感市| 封开县| 文昌市| 万荣县| 平山县| 杭锦旗| 崇文区| 宝兴县| 二手房| 潜山县| 琼中|