国产在线精品一级A片-国产另类欧美-国产精品va在线观看一-我要找美国一级片黄色|www.zheinei.com

大學《算法數據結構》復習試題及答案

時間:2017-04-19 11:48:47 算法與數據結構 我要投稿

大學《算法數據結構》復習試題及答案

  數據結構是主體,通用算法是附屬(僅是查找,排序等)。以下是由陽光網小編整理關于大學《算法數據結構》復習試題的內容,希望大家喜歡!

大學《算法數據結構》復習試題及答案

  大學《算法數據結構》復習試題及答案(一)

  算法設計題(每小題6分.共12分)

  1.請寫出在循環隊列上進行插入操作的算法。要求若插入成功則返目true,否則返回else.

  循環隊列定義如下:

  struet CyclicQueue {

  ElemTy[ae elem[M]; //M為已定義過的整型常量,表示隊列數組空間長度

  int rear,front; //rear指向隊尾元素后一個位置,front指向隊頭元索

  int tag;

  };

  注意:當front=rear且tag=0時, 隊列空,當front=rear且tag=1時,隊列滿,即隊列中已有M個元素.

  bool EnCQueue(CyclicQueue& Q, ElemType x){ {/*編寫該函數體。/}

  //在下面編寫函數體

  2.已知二又樹中的結點類型Bin·rreeNode定義為:

  slruct BinTreeNode {char data;BinTreeNode * left, * right;};

  其中data為結點值域,left和righ~分別為指向左、右子女結點的指針域,根據下面函數聲明編寫出求一棵二叉樹中結點總數的遞歸算法,該總數值由函數返回.假定BT初始指

  向這棵二又樹的.根結點.

  int BTreeCount(BinTreeNode* BT);

  答案

  算法設計題(2小題,每小題6‘分,共12分)

  1.分步給分

  if (Q. rear=Q, front && Q tag== 1) return false;

  Q. elem[Q, rear] = x;

  Q. rtar= (Q. rear+ 1) %M;

  if(Q. rear== Q. front) Q. tag= 1;

  return true;

  2.分步給分

  int BTreeCount(BinTreeNode * BT)

  (

  if(BT== NULL)

  return O;

  else

  return BTreeCount ( BT->left) +BTreeCount(BT-> fight) + l;

  大學《算法數據結構》復習試題及答案(二)

  1.設字符串類String具有下列操作:

  int Length()const; //計算字符串的長度

  chargetData(k); //提取字符串第k個字符的值

  若字符串Tar的值為“ababcabcacbab“,的值為‘abcac”時,

  (1)給出下面算法執行后返回的結果,

  (2)給出下面。算法的功能。

  include "String, h"

  int unknown(String& Tar, strlng& Pat) coast

  {

  for (int i<O; i<=Tar. LengthO-Pat. Length(); i++) {

  iht j=O;

  while (j<Pat. Length())

  if (Tar. getOata(i+j) ==Pat. getData(j)) j+ +

  else break;

  if (j==Pat. Length()) return i;

  return –1;

  }

  返回結果:

  算法功能:

  2。已知二叉樹中的結點類型BinTrceNode定義為:

  struct BinTreeNode {ElemType data; BinTreeNode * left, * right; }

  其中data為結點值域,left和right分別為指向左、右子女結點的指針域.下面函數的功能是返回二又樹BT中值為X的結點所在的層號.根據題意按標號把合適的內容填寫到算法后面相應標號的位置.

  int NodeLevel(BinTreeNode * BT, ElemType X)

  if (BT==NULL) return -- 1; //空樹的層號為一1

  else if (BT->data==X) return 0; //根結點的層號為o

  //向于樹中查找X結點

  else {

  im cl =NodeLevel(BT->left, X);

  if (cl>=0) (1)

  iht e2= (2) ;

  if ( (3) ) return c2+1;

  //若樹中不存在K結點則 返回一l

  else return -1

  }

  }

  (1)

  (2)

  (3)

  3.假定一個有向無權圖采用鄰接矩陣存儲,請指出F面算法的功能。

  Template<class Type>

  void Graph<Type>::unknown(int i)

  {

  int d,j;

  d=0;

  for (j=0; j<CurremNodes; j++){ //CurremNodes為田中的頂點效

  if (Edge[i][j]) {d++ ; Edge[i][j]=0; }

  if (Edge[j][i]) {d+ +; Edge[j][i]=0; }

  }

  CurrentEdges-=d; //CurremEdges //為圖中的邊數

  }

  算法功能:

  答案

  1

  返回結果,5

  算法功能:字符串的模式匹配算法.

  2.

  (1)returncl+l

  (2)NodeLevel(BT一>,right,X)

  (3)<c2>=0)

  3,從有向無權圖中刪除所有與頂點i相連的邊,包括出邊和人邊。


【大學《算法數據結構》復習試題及答案】相關文章:

1.算法與數據結構試題及答案

2.《算法數據結構》期末試題及答案

3.大學《算法數據結構》試題判斷題及答案

4.算法與數據結構模擬試題及答案

5.大學《數據結構》試題及答案

6.2017年算法與數據結構試題及參考答案

7.2017年算法與數據結構模擬試題及答案

8.算法與數據結構模擬試題及參考答案