博客 书店 交友
当前位置:首页 >> 新闻资讯 >> 专题 >> 自考 成考 >> 正文
站内搜索
今天是 欢迎访问中国教育网新版
北大自考数据结构上机考试复习总结
来源:自考365.COM     2007-3-27 17:18:00
 
    数据结构练习题1

  1.编一C程序,它能根据读入的数据构造有向图G,并输出G的邻接矩阵和DFS遍历序列(从V0开始),图的输入形式为n Vi0 Vj0 Vi1 Vj1 Vi2 Vj2……Vim Vjm -1 -1(-1,-1为输入结束标记),它们都是整数,且100>n>0,其余的值都>=0且

  (注:程序的可执行文件名必须是 e1.exe,存于你的账号或其debug目录下。)

  2. 编一C程序,它能读入两组整数(每组整数都以-9999为结束标记,个数都不大于1000),并以从小到大的次序输出既在第一组整数中而且不在第二组整数中的所有整数(同一个整数不能输出两次)。(输入时,两个相邻的整数用空格隔开)。

  (注:程序的可执行文件名必须是 e2.exe,存于你的账号或其debug目录下。)

  数据结构练习题2

  1.编一C程序,它能读入两组整数(每组整数都是66个整数),它们分别是下三角矩阵A和下三角矩阵B的按行优先排列的元素(A和B的其它元素均为零)。计算并输出矩阵A与B的乘积。

  (注:程序的可执行文件名必须是 e1.exe,存于你的账号或其debug目录下。)

  #include

  #include

  void main()

  {

  int i,j, k1,k2,c[66],s,k,count=0,flag=0;

  int a[66];

  int b[66];

  printf(“请输入66个数到a中:\n”);

  for(i=0;i<66;i++)

  scanf(“%d”,&a[i]);

  printf(“请输入66个数到b中:\n”);

  for(i=0;i<66;i++)

  scanf(“%d”,&b[i]);

  for(i=0;i<11;i++){

  for(k=0;k<11;k++)

  {s=0;

  for(j=0;j<11&&i>=j;j++)

  k1=i*(i+1)/2+j;

  if(j>=k)

  k2=j*(j+1)/2+i;

  else

  continue;

  s+=a[k1]*b[k2];

  flag=1;

  }

  if(flag)

  {

  c[count++]=s;

  flag=0;

  }

  }

  for(i=0;i<66;i++)

  printf(“%d”,c[i]);

  }

  2.编一C程序,它能对输入的一串整数(不多于1000个,以-9999为结束标记)到数组a中,再对a的元素进行直接插入排序(从小到大排序),输出排序结果和所用关键字比较次数。(输入时,两个相邻的整数用空格隔开)。

  (注:程序的可执行文件名必须是 e2.exe,存于你的账号或其debug目录下。)

  #include

  #include

  void main()

  {

  int i,j, k1,k2,c[66],s,k,count=0,flag=0;

  int a[66];

  int b[66];

  printf(“请输入66个数到a中:\n”);

  for(i=0;i<66;i++)

  scanf(“%d”,&a[i]);

  printf(“请输入66个数到b中:\n”);

  for(i=0;i<66;i++)

  scanf(“%d”,&b[i]);

  for(i=0;i<11;i++){

  for(k=0;k<11;k++)

  {s=0;

  for(j=0;j<11&&i>=j;j++)

  k1=i*(i+1)/2+j;

  if(j>=k)

  k2=j*(j+1)/2+i;

  else

  continue;

  s+=a[k1]*b[k2];

  flag=1;

  }

  if(flag)

  {

  c[count++]=s;

  flag=0;

  }

  }

  for(i=0;i<66;i++)

  printf(“%d”,c[i]);

  }

  数据结构练习题3

  1. 编一C程序,它能根据输入的二叉树前序和中序序列来构造该二叉树,并能输出该二叉树的后序序列和该二叉树叶的结点的个数以及该二叉树高度。(输入次序是:表示前序序列的字符串、表示中序序列的字符串)。

  (注:程序的可执行文件名必须是 e1.exe,存于你的账号或其debug目录下。)

  #include

  #include

  #include

  void exit(int);

  #define MAX 100

  typedef struct node{

  char d;

  struct node *lchild,*rchild;

  }Tnode;

  void MKTree(char pre[],int pres,int pree,char in[],int is,int ie,Tnode **r)

  {

  int i;

  if(pres>pree||is>ie)

  *r=NULL;

  else{

  *r=malloc(sizeof(Tnode));

  for(i=is;i<=ie;i++)

  if(pre[pres]==in[i])

  {

  MKTree(pre,pres+1,pres+i-is,in,is,is+i-1,&(*r)->lchild);

  MKTree(pre,pres+i+is+1,pree,in,is+i+1,ie,&(*r)->rchild);

  break;

  }

  }

  }

  void postorder(Tnode *r)

  {

  if(r)

  {

  postorder(r->lchild);

  postorder(r->rchild);

  printf(“%c”,r->d);

  }

  }

  int num(Tnode *r)

  {

  if(r==NULL)

  return 0;

  else

  if(r->lchild==NULL&&r->rchild==NULL)

  return 1;

  else

  return num(r->lchild)+num(r->rchild);

  }

  int height(Tnode *r)

  {

  int h1,h2;

  if(r==NULL)

  return 0;

  else

  {

  h1=height(r->lchild);

  h2=height(r->rchild);

  return 1+(h1>h2)?h1:h2;

  }

  }

  void main()

  {

  Tnode *r;

  char pre[MAX],in[MAX];

  printf(“input preorder and inorder \n”);

  gets(pre);

  gets(in);

  MKTree(pre,0,strlen(pre)-1,in,0,strlen(in)-1,&r);

  printf(“The postorder is as follow:\n”);

  postorder(r);

  printf(“\n there are %d leaves in the tree\n”,num(r));

  printf(“h=%d\n”,height(r));

  }

  2.编一C程序,它能读入一串(n个)整数(以-9999为结束标记),并判断第1个整数在后(n-1)个整数中出现的次数,再输出该次数。(输入时,两个相邻的整数用空格隔开)。

  (注:程序的可执行文件名必须是 e2.exe,存于你的账号或其debug目录下。)

下一页>>     
■相关链接  
  • 考生口述:我的自考流水账(我的经历和学习方法)
  • 面对自考"三怕""三不怕"
  • 全国2007年1月高教自考犯罪学(一)试题
  • 教育部门正在制定相关办法,加强中小学写字教学
  • 撩开性教育的“面纱”
  • 教育部:2006年学生食物中毒事故比2005年有所增多
  • 山西:公办学校不得“变脸”高收费
  • 学校周边小食品多"三无产品" "一元食品"谨慎购买
  • 我该报考军校还是士官学校?(图)
  • 站内资讯搜索:  
    焦 点 事 件 人 物 评 谈
    热点专题
    · 父母长期冷战 孩子可能会…
    · “科技大篷车”进校园
    · 留学快报:欧美顶尖商学院…
    · 六招让你从激烈的求职竞争…
    · 今年自考 新增6专业,停…
    · 郑州幼师强化学生职业理想…
    · 全国政协委员顾也力建议对…
    · 熊丙奇:高等教育的很多荒…
    · 省教育厅表彰2007年度基础…
    · 为了理想不要上万月薪工作…
    最新快讯
    ·内蒙古自治区确定2008年高…
    ·08年高考化学复习:有关化…
    ·陇南灾区备战高考的学生将…
    ·天津市今年将有88500…
    ·2009年考研英语指导:新题…
    ·考研英语词汇快速记忆四大…
    ·考研政治高分经验:步步为…
    ·兰州市普通高中招生政策作…
    ·今年岳阳城区高中招生7110人
    ·大学生求职大战前移到实习…
    热门推荐
    严正声明 | 网站介绍 | 网站导航 | 信息发布 | 网站建设 | 广告服务 | 与我联系 | 付款办法 | 友情链接 | 本站首页

    中国教育家协会 教协会员理事  香港监制
    本站通用网址:中国教育网  网络实名:中国教育网站  中国教育在线
    香港通讯地址:香港兴发街邮政局38062号信箱 中国香港特区政府注册登记号:18159887-030-01-02-5
    业务及合作热线:010-64803658 客服电话:010-64803331
    信息发布:bj64803331@126.com 欢迎合作:E-mail/MSN:cn13801018949@hotmail.com