《数据结构与算法》(第二版)陈卫卫-高等教育出版社

    陆军工程大学811数据结构教材    第1-2章 参考答案

习题1.1

1.1-1      (1)名称、数量、特征、性质的            (2)处理对象和计算结果

1.1-2    (1)数据结点   (2)用来描述一个独立事物的名称、数量、特征、性质

1.1-3    (1)存储结构   (2)物理结构  (3)用来存储一个数据结点,并在必要时存储该结点与其他结点之间的关系的一组存储单元   (4)空白结点

1.1-4    (1)表、树、图、散列  (2)表结构  (3)1  (4)树结构   (5)多

(6)1   (7)树  (8)散列  (9)表

1.1-5    (1)解决某一特定问题的

(2)有穷性、确定性、可行性、输入数据(0/多个)、输出数据(1/多个)

1.1-6~8   A ,B    C   B

习题1.2

1.2-1      (1)描述形式            (2)程序形式            (3)描述形式            (4)描述形式

1.2-4      (1)空间     (2)T(n)≤cf(n)  (3)T(n)是否在多项式范围内。

1.2-7      (1)T(n)=O(n2)          (2)S(n)=O(n)

1.2-8      D

1.2-9      A

1.2-10     D

1.2-13     (2)步骤1完成(n-k)/2 下取整 对元素交换;步骤2完成k/2 下取整 对元素交换;步骤3完成n/2 下取整 对元素交换。

每交换一对元素,需要移动3次,故

T(n)=3{(n-k)/2+k/2+n/2}

因为x/2 下取整 ≤x/2,故

T(n)≤3(n/2-k/2+k/2+n/2)

=3n

1.2-17

i=2;

while(n!=1){

if(n%i==0){

cout<<i<<“*”; n=n/i;  i--;}

i++;  }

习题2.1

2.1-1      (1)6,9,7,8        (2)4          (3)(2*3+4*12)/14=27/7

2.1-2     [log2 n]+1  log2(n+1)-1

2.1-3      (1)A         (2)C

2.1-4     C

2.1-5      A

2.1-6     A

2.1-7      (1)D         (2)B

2.1-8      C

2.1-9     B

2.1-12   (1)i=1,j=0,k=0  (2)i<M&&j<N   (3)c[k++]=b[j++]   (4)while(i<M)

(5)while(j<N)

2.1-13   (1)left<=right   (2)mid  (3)left=mid+1  (4)a[j+1]=a[j]  (5)a[left]

2.1-14   (1)j=0,k=0     (2)m&&  (3)c[k++]=a[i++]=b[j++]

(4)while(i<m)   (5)while(j<n)

2.1-15     答:(1)--avtop (2)i>=k   (3)a[i]  (4)av[avtop++]   (5)n—

2.1-18

习题2.2  

2.2-5      (1)当n为偶数时

h1: 1,3,5……,n-1

h2: 2,4,6……,n

(2)当n为奇数时

h1: 1,3,5……,n

h2: 2,4,6……,n-1

2.2-7     A

2.2-8     B

2.2-9      (1)B  (2)C

2.2-10    A

2.2-11     (1)A  (2)B

2.2-12    C

2.2-13     (1)C  (2)    A

2.2-14    A

2.2-15     (1)B          (2)C

2.2-16    D

2.2-17     B

2.2-18    C

2.2-19     B

完整答案、811真题答案请 评论区联系作者

2.2-20            (1)k=1      (2)s=ha->next  (3)k++      (4)t=p

(5)q->next=s    (6)s=hb->next  (7)p->next=h

2.2-21      (1)sizeof(snode)     (2)hb->next     (3)s!=NULL     (4)s=s->next

(5)break    (6)retuen hb      (7)q==NULL           (8)hb->next

2.2-22            (1)p=h             (2)s!=NULL 或s            (3)q=s

(4)p->next       (5)s=s->next

2.2-23            (1)h=             (2)ha=ha->next             (3)hb=hb->next            (4)s->next=ha

(5)h=h->next

2.2-24            (1)h=        (2)ha=ha->next       (3)hb=hb->next

(4)s->next=NULL   (5)h=h->next   (6)p= new snode

2.2-25            答:(1)h=takeoff( )    (2)a[h1].link=h2^h   (3)a[p].link=h1^q

(4)a[h1].link^h2^p   (5)q=p      (6)r!=h1    (7)r=a[p].link^q

2.2-28(9)关于加头有序循环链表。

#include  <stdio.h>

const int MAX=9999;                                //定义无穷大

typedef  struct  linkednode

{ int  data;

struct  linkednode  *next;

}  snode, *ptr;

void  insert(ptr &h, int  x)                       //插入函数

{  ptr f,s,p;

p=new snode,p->data=x;

f=h,s=h->next;

while(s->data<x) f=s,s=s->next;

p->next=s;f->next=p;return;

}

ptr  creatlinked( )                                     //构造加头有序循环链表

{ ptr  head; int x;

head=new snode;

head->data=MAX, head->next=head;

printf("请输入链表元素,0:结束。\n");

scanf("%d",&x);

while(x)

{ insert(head,x);

scanf("%d",&x);

}

return  head;

}

void insertA(ptr h)                                    //插入的主控函数

{  int x;

printf("请输入要插入的元素,x=");

scanf("%d",&x);

insert(h, x);

}

void del(ptr h,int x)                                   //删除函数

{  ptr f,s;

if(h==h->next){printf("链表空,不能删除。\n");return; }

f=h,s=h->next;

while(s->data<x)f=s,s=s->next;

if(s->data==x)

{ f->next=s->next;delete s; printf("删除成功!\n");return;}

printf("表中没有%d 删除失败!\n",x);

}

void delA(ptr &h)                                     //删除的主控函数

{  int x;

printf("请输入要删除的元素,x=");

scanf("%d",&x);

del(h,x);

}

void search(ptr h,int x)                               //查找函数

{  if(h==h->next){printf("链表空,不能查找\n");  return;}

h=h->next;

while(h->data<x)h=h->next;

if(h->data==x)printf("找到%d\n",x);else printf("没找到%d\n",x);

}

void searchA(ptr h)                                   //查找的主控函数

{ int x;

printf("请输入要查找的元素,x=");

scanf("%d",&x);

search(h, x);

}

void  print(ptr  h)                                  //输出加头循环链表

{ ptr  p;

if(h==h->next){printf("表为空!\n"); return;}

p=h->next;

while(p!=h)

{  printf("%4d",p->data);

p=p->next;

}

printf("\n");

}

void main( )                                              //主函数

{  ptr  h;   int d;

h=creatlinked();

printf("所建链表:");

print(h);

while(1)

{ printf("请输入操作码d,1:查找,2:插入,3:删除,4:输出,其他:结束操作 d=");

scanf("%d",&d);

if(d==1){searchA(h);continue;}

if(d==2){insertA(h); continue;}

if(d==3){delA(h);continue;}

if(d==4)print(h); else break;

}

printf("程序结束\n");

}

《数据结构与算法》第二版-陈卫卫-陆军工程大学811数据结构教材 第1-2章 参考答案相关推荐

  1. 数据结构与算法第二版(第二章)数组

    Java中数组的基础知识 将程序划分为类 类接口 有序数组的Java代码 对数 存储对象 大O表示法 为什么不用数组表示一切. 数组:应用最广泛的数据存储结构. 有序数组:按照关键字升序或降序排列. ...

  2. python数据结构算法 北京大学_北京大学公开课《数据结构与算法Python版》

    之前我分享过一个数据结构与算法的课程,很多小伙伴私信我问有没有Python版. 看了一些公开课后,今天特向大家推荐北京大学的这门课程:<数据结构与算法Python版>. 课程概述 很多同学 ...

  3. 数据结构与算法python版 MOOC 第三周

    三.基本线性结构 本系列博客基于" (北京大学)数据结构与算法python版"慕课,课程在中国大学慕课和bilibili上均可找到. 1. 内容 定义线性结构 讲解栈的结构结构 栈 ...

  4. 数据结构与算法python版 MOOC 第九周

    九.树及算法-上 本系列博客基于" (北京大学)数据结构与算法python版"慕课,课程在中国大学慕课和bilibili上均可找到. 1. 内容 树结构的相关术语 树的表示方法:嵌 ...

  5. python可以在多种平台运行、体现了_2020年智慧树数据结构与算法第二单元章节测试答案...

    2020年智慧树数据结构与算法第二单元章节测试答案 更多相关问题 为了寻找和选择通讯的报道对象,当你获知省教育招生考试院发布了<关于调整普通高等教育专科升本科考试录取办法的通知>后,应该熟 ...

  6. 《Java程序设计与数据结构教程(第二版)》学习指导

    <Java程序设计与数据结构教程(第二版)>学习指导 目录 图书简况 学习指导 第一章 绪论 第二章 数据和表达式 第三章 使用类和对象 第四章 条件和循环 第五章 编写类 第六章 图形用 ...

  7. 数据结构(C语言)第二版 第四章课后答案

    数据结构(C语言)第二版 第四章课后答案 1~5 B B C A B 6~10 B B C B B 11~15 A B D (C,B) C 1.选择题 (1)串是一种特殊的线性表,其特殊性体现在(B) ...

  8. 数据结构(C语言)第二版 第一章课后答案

    数据结构(C语言)第二版 第一章课后答案 这本书,我以后也会用,所以趁着考完试做个整理,顺便分享出来.电子资源发不出来,放评论区吧,有需要自取. 1. 简述下列概念:数据.数据元素.数据项.数据对象. ...

  9. 数据结构python版 答案,中国大学 MOOC_数据结构与算法Python版_章节测验答案

    中国大学 MOOC_数据结构与算法Python版_章节测验答案 更多相关问题 认识的本质是()A.肯定世界是可知的B.主体对客体的能动反映C.主体对客体的直观反映D.实践是 水灰比是影响混凝土()的主 ...

最新文章

  1. VS2015下使用websocketpp和asio构建websock服务器
  2. 细节定成败!汕头网络推广提醒你在做网站内容收录时需注意什么?
  3. Krpano skin_settings解释
  4. 汉诺塔--递归和非递归实现
  5. RadComboBox的用法
  6. [HDU 1003] Max Sum
  7. 类Unix下网络工具备忘
  8. 迷茫中,请指教,谢谢!
  9. java更改svg图片颜色_使用Batik绘制SVG图并保存为png图像格式
  10. Spotfire 表达式之日期和时间函数
  11. 【禁止重复造轮子Day01】省市级连的递归
  12. OV2640 DCMI
  13. sap税码配置_SAP那些事-技巧篇-42-Billing plan预收款税码问题
  14. 图片的毛玻璃效果学习
  15. scanf()函数的用法
  16. C++ 家族关系查询
  17. [AT89C51 ]用汇编语言实现流水灯仿真(含keil与Proteus)
  18. php程序yii是什么意思,【PHP开辟框架】yii是什么意义
  19. 【掘金使用技巧7】如何从通达信等迁移到掘金
  20. 服务器托管是什么?服务器托管优势在哪里?

热门文章

  1. ARM服务器编译安装ClickHouse
  2. C# 字符串转意和反转意
  3. 金融业大数据风控方式
  4. 计算数据的平均值、方差和标准差
  5. 【科研导向】Neural Collaborative Filtering 神经协同过滤 <论文理解代码分析>
  6. 计算机中文件夹怎么上密码,怎样设置电脑文件夹密码
  7. 免费英文文献查询网站(生物医学) (转载)
  8. python面向对象 : 反射和内置方法
  9. 如何使用微PE给电脑装windows10系统?
  10. Power Query 系列 (11) - 函数基础