國家工信部網(wǎng)站備案實名:湖北自考網(wǎng) 為考生提供湖北自考信息服務(wù),僅供學(xué)習(xí)交流使用,官方信息以湖北教育考試院為準(zhǔn)。

湖北自考網(wǎng)

網(wǎng)站首頁 自考專業(yè) 自考院校 考場查詢 成績查詢 網(wǎng)上報名 考生平臺
專題:
自考報名時間 考試時間 自考單科網(wǎng)課 模擬考試 教材大綱 免考辦理 轉(zhuǎn)考辦理 實踐考核 畢業(yè)申請 學(xué)位英語培訓(xùn) 學(xué)位申請 專升本 成人高考 中專
湖北自考在線 湖北學(xué)位英語培訓(xùn)班 湖北成人高考報名 湖北自考視頻免費(fèi)領(lǐng)取
當(dāng)前位置:湖北自考網(wǎng) > 北大“數(shù)據(jù)結(jié)構(gòu)”上機(jī)考試復(fù)習(xí)題總結(jié)(1) -自考串講筆記

北大“數(shù)據(jù)結(jié)構(gòu)”上機(jī)考試復(fù)習(xí)題總結(jié)(1) -自考串講筆記

湖北自考網(wǎng) 來源: 時間:2008-11-08 15:41:20

  數(shù)據(jù)結(jié)構(gòu)練習(xí)題1

  1.編一C程序,它能根據(jù)讀入的數(shù)據(jù)構(gòu)造有向圖G,并輸出G的鄰接矩陣和DFS遍歷序列(從V0開始),圖的輸入形式為n Vi0 Vj0 Vi1 Vj1 Vi2 Vj2……Vim Vjm -1 -1(-1,-1為輸入結(jié)束標(biāo)記),它們都是整數(shù),且100>n>0,其余的值都>=0且<n.

 ?。ㄗⅲ撼绦虻目蓤?zhí)行文件名必須是 e1.exe,存于你的賬號或其debug目錄下。)

  2. 編一C程序,它能讀入兩組整數(shù)(每組整數(shù)都以-9999為結(jié)束標(biāo)記,個數(shù)都不大于1000),并以從小到大的次序輸出既在第一組整數(shù)中而且不在第二組整數(shù)中的所有整數(shù)(同一個整數(shù)不能輸出兩次)。(輸入時,兩個相鄰的整數(shù)用空格隔開)。

 ?。ㄗⅲ撼绦虻目蓤?zhí)行文件名必須是 e2.exe,存于你的賬號或其debug目錄下。)

  數(shù)據(jù)結(jié)構(gòu)練習(xí)題2

  1.編一C程序,它能讀入兩組整數(shù)(每組整數(shù)都是66個整數(shù)),它們分別是下三角矩陣A和下三角矩陣B的按行優(yōu)先排列的元素(A和B的其它元素均為零)。計算并輸出矩陣A與B的乘積。

 ?。ㄗⅲ撼绦虻目蓤?zhí)行文件名必須是 e1.exe,存于你的賬號或其debug目錄下。)

  #include <stdio.h>

  #include <stdlib.h>

  void main()

  {

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

  int a[66];

  int b[66];

  printf(“請輸入66個數(shù)到a中:\n”);

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

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

  printf(“請輸入66個數(shù)到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程序,它能對輸入的一串整數(shù)(不多于1000個,以-9999為結(jié)束標(biāo)記)到數(shù)組a中,再對a的元素進(jìn)行直接插入排序(從小到大排序),輸出排序結(jié)果和所用關(guān)鍵字比較次數(shù)。(輸入時,兩個相鄰的整數(shù)用空格隔開)。

 ?。ㄗⅲ撼绦虻目蓤?zhí)行文件名必須是 e2.exe,存于你的賬號或其debug目錄下。)

  #include <stdio.h>

  #include <stdlib.h>

  void main()

  {

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

  int a[66];

  int b[66];

  printf(“請輸入66個數(shù)到a中:\n”);

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

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

  printf(“請輸入66個數(shù)到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]);

  }

  數(shù)據(jù)結(jié)構(gòu)練習(xí)題3

  1. 編一C程序,它能根據(jù)輸入的二叉樹前序和中序序列來構(gòu)造該二叉樹,并能輸出該二叉樹的后序序列和該二叉樹葉的結(jié)點的個數(shù)以及該二叉樹高度。(輸入次序是:表示前序序列的字符串、表示中序序列的字符串)。

 ?。ㄗⅲ撼绦虻目蓤?zhí)行文件名必須是 e1.exe,存于你的賬號或其debug目錄下。)

  #include <stdio.h>

  #include <malloc.h>

  #include <string.h>

  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個)整數(shù)(以-9999為結(jié)束標(biāo)記),并判斷第1個整數(shù)在后(n-1)個整數(shù)中出現(xiàn)的次數(shù),再輸出該次數(shù)。(輸入時,兩個相鄰的整數(shù)用空格隔開)。

 ?。ㄗⅲ撼绦虻目蓤?zhí)行文件名必須是 e2.exe,存于你的賬號或其debug目錄下。)

結(jié)束
本文標(biāo)簽
特別聲明:1.凡本網(wǎng)注明稿件來源為“湖北自考網(wǎng)”的,轉(zhuǎn)載必須注明“稿件來源:湖北自考網(wǎng)(trillionsbussines.com)”,違者將依法追究責(zé)任;
2.部分稿件來源于網(wǎng)絡(luò),如有不實或侵權(quán),請聯(lián)系我們溝通解決。最新官方信息請以湖北省教育考試院及各教育官網(wǎng)為準(zhǔn)!
限時,免費(fèi)獲取學(xué)歷提升方案

已幫助10w萬+意向?qū)W歷提升用戶成功上岸

  • 毛澤東思想概論

    毛澤東思想概論

    培訓(xùn)優(yōu)勢:課時考點精講+刷題+沖刺,熟練應(yīng)對考試題型。全程督促學(xué)習(xí),安排好學(xué)習(xí)計劃。 毛澤東思想概論...自考培訓(xùn)
  • 英語二

    英語二

    本課程既是一門語言實踐課程,也是拓寬知識、了解世界文化的重要素質(zhì)課程,它以培養(yǎng)學(xué)習(xí)者的綜合語言應(yīng)用能力為目標(biāo),使他們在學(xué)習(xí)、工作和社會交往中能夠使用英語進(jìn)行有效的交流。 英語二...自考培訓(xùn)
  • 馬克思主義基本原理概論

    馬克思主義基本原理概論

    本書包括兩個部分:自學(xué)考試大綱和基本原理。主要內(nèi)容有,馬克思主義是關(guān)于工人階級和人類解放的科學(xué),物質(zhì)世界及其發(fā)展規(guī)律,認(rèn)識的本質(zhì)及其規(guī)律,人類社會及其發(fā)展規(guī)律,資本主義的形成及其發(fā)展,資本主義發(fā)展的歷史進(jìn)程,社會主義社會及其進(jìn)程,共產(chǎn)主義社會及其進(jìn)程等。 馬克思主義基本原理概論...自考培訓(xùn)
  • 思想道德修養(yǎng)與法律基礎(chǔ)

    思想道德修養(yǎng)與法律基礎(chǔ)

    《思想道德修養(yǎng)與法律基礎(chǔ)》課具有鮮明的政治性、思想性、理論性、針對性、科學(xué)性、知識性以及實踐性和修養(yǎng)性。它包羅政治、思想、道德、心理本質(zhì)、學(xué)習(xí)成才和法律本質(zhì)等內(nèi)容,指導(dǎo)和回答大學(xué)生在人生、抱負(fù)、信念等方面遍及關(guān)心和迫切需要解決的問題。 思想道德修養(yǎng)與法律基礎(chǔ)...自考培訓(xùn)
  • 中國近代史綱要

    中國近代史綱要

    “中國近現(xiàn)代史綱要”全國高等教育自學(xué)考試指定教材,依據(jù)中央審定的普通高等學(xué)?!爸袊F(xiàn)代史綱要”編寫大綱以及馬克思主義理論研究和建設(shè)工程重點教材《中國近現(xiàn)代史綱要》,結(jié)合自學(xué)考試的特點設(shè)計了十章,集中講述1840年鴉片戰(zhàn)爭爆發(fā)一直到2007年中國共產(chǎn)黨第十七次全國代表大會召開的160多年的中國近現(xiàn)代歷史。 中國近代史綱要...自考培訓(xùn)
微信公眾號 考試交流群
湖北自考網(wǎng)微信公眾號

掃一掃關(guān)注微信公眾號

隨時獲取湖北省自考政策、通知、公告以及各類學(xué)習(xí)資料、學(xué)習(xí)方法、課程。