设为首页    加入收藏

自学考试省级导航

全国 A安徽 B北京 C重庆 F福建 G广东 广西 甘肃 贵州 H河南 河北 湖南 湖北 黑龙江 海南 J江苏 江西 吉林 L辽宁 N内蒙古 宁夏 Q青海 S山东 山西 陕西 四川 上海 T天津
     X新疆 西藏 Y云南 Z浙江 历年真题分类检索

全国2005年10月高等教育自学考试 数据结构试题(三)
2011-12-25 13:29:45 来源:91考试网 作者:www.91exam.org 【
写出排序过程。

(1)

(2)

四、算法阅读题(本大题共4小题,每小题5分,共20分)

30. 阅读下列算法,并回答问题:

(1)设顺序表L=(3,7,11,14,20,51),写出执行f30(&L,15)之后的L;

(2)设顺序表L=(4,7,10,14,20,51),写出执行f30(&L,10)之后的L;

(3)简述算法的功能。

void f30(SeqList*L, DataType x)

{

     int i =0, j;

     while (i<L->length && x>L->data[i])i++;

     if(i<L->length && x==L->data[i])  {

        for(j=i+1;j<L->length;j++)

            L->data[j-1]=L->data[j];

        L->length--;

     } else {

        for(j=L->length;j>i;j--)

            L->data[j]=L->data[j-1];

        L->data[i]=x;

        L->length++;

     }

}

(1)

(2)

(3)

31. 已知图的邻接表表示的形式说明如下:

#define MaxNum   50         //图的最大顶点数

typedef struct node {

  int   adjvex;             //邻接点域

  struct node *next;         //链指针域

} EdgeNode;              //边表结点结构描述

typedef struct {

  char vertex;              //顶点域

  EdgeNode   *firstedge;    //边表头指针

} VertexNode;   //顶点表结点结构描述

typedef struct {

  VertexNode adjlist[MaxNum];   //邻接表

  int n, e;                       //图中当前的顶点数和边数

} ALGraph;   //邻接表结构描述

    下列算法输出图G的深度优先生成树(或森林)的边。阅读算法,并在空缺处填入合适的内容,使其成为一个完整的算法。

typedef enum {FALSE, TRUE} Boolean;

Boolean visited[MaxNum];

void DFSForest(ALGraph *G){

     int i;

     for(i=0;i<G->n;i++) visited[i]=        (1)        ;

     for(i=0;i<G->n;i++) if (!visited[i]) DFSTree(G,i);

}

void DFSTree(ALGraph *G, int i) {

     EdgeNode *p;

     visited[i]=TRUE;

     p=G->adjlist[i].  firstedge;

     while(p!=NULL){

          if(!visited[p->adjvex]){

            printf(″<%c,%c>″,G->adjlist[i]. vertex,

                             G->adjlist[p->adjvex]. vertex);

         &nb

Tags:
】【打印繁体】 【关闭】 【返回顶部
上一篇全国2005年1月高等教育自学考试 .. 下一篇全国2006年1月高等教育自学考试数..

网站客服QQ: 960335752 - 14613519 - 48225117