网站大量收购独家精品文档,联系QQ:2885784924

严蔚敏《数据结构》(C语言版)典型习题和考研真题详解.pdf

严蔚敏《数据结构》(C语言版)典型习题和考研真题详解.pdf

  1. 1、本内容来自版权合作机构,您在本站购买的阅读使用权仅限于您本人阅读使用,您不得/不能给任何第三方使用,由此造成的一切相关后果本平台保留向您追偿索赔的权利!版权所有,后果自负!
  2. 2、本文档为正版电子图书,虚拟物品付费之后概不接收任何理由退款。
查看更多
本书是严蔚敏所著的《数据结构》(C语言版,清华大学出版社)的辅导书,主要具有以下几个方面的特点:1.归纳经典习题,强化知识考点。为了进一步巩固和强化各章知识难点的复习,特针对该教材的重难点相应整理了典型强化习题,并对相关知识点进行归纳和延伸,梳理知识点逻辑关系,以达到高效复习的目的。2.精选考研真题,巩固重难点知识。为了强化对重要知识点的理解,本书精选了部分名校近几年的数据结构考研真题,这些高校大部分以该教材作为考研参考书目。所选考研真题基本涵盖了各个章节的考点和难点,特别注重联系实际,凸显当前

第1章 绪 论 1.1 强化习题详解 1设有数据结构(D,R),其中D={d1,d2,d3,d4},R={r},r={(d1,d2),(d2,d3),(d3,d4)},试按图论中图的画法惯例画出其逻辑结构图。 答:逻辑结构图如图1-1所示。 图1-1 程序逻辑结构图 2试仿照三元组的抽象数据类型分别写出抽象数据类型复数和有理数的定义(有理数是其分子、分母均为自然数且分母不为零的分数)。 答: ADT Complex{ 数据对象:D={r,i|r,i为实数} 数据关系:R={lt;r,igt;} 基本操作: InitComplex(amp;C,re,im) 操作结果:构造一个复数C,其实部和虚部分别为re和im DestroyComplex(amp;C) 操作结果:销毁复数C Get(C,k,amp;e) 操作结果:用e返回复数C的第k元的值 Put(amp;C,k,e) 操作结果:改变复数C的第k元的值为e IsAscending(C) 操作结果:如果复数C的两个元素按升序排列,则返回1,否则返回0 IsDescending(C) 操作结果:如果复数C的两个元素按降序排列,则返回1,否则返回0 Max(C,amp;e) 操作结果:用e返回复数C的两个元素中值较大的一个 Min(C,amp;e) 操作结果:用e返回复数C的两个元素中值较小的一个 }ADT Complex ADT RationalNumber{ 数据对象:D={s,m|s,m为自然数,且m不为0} 数据关系:R={lt;s,mgt;} 基本操作: InitRationalNumber(amp;R,s,m) 操作结果:构造一个有理数R,其分子和分母分别为s和m DestroyRationalNumber(amp;R) 操作结果:销毁有理数R Get(R,k,amp;e) 操作结果:用e返回有理数R的第k元的值 Put(amp;R,k,e) 操作结果:改变有理数R的第k元的值为e IsAscending(R) 操作结果:若有理数R的两个元素按升序排列,则返回1,否则返回0 IsDescending(R) 操作结果:若有理数R的两个元素按降序排列,则返回1,否则返回0 Max(R,amp;e) 操作结果:用e返回有理数R的两个元素中值较大的一个 Min(R,amp;e) 操作结果:用e返回有理数R的两个元素中值较小的一个 }ADT RationalNumber 3试画出与下列程序段等价的框图。 (1) product=1; i=1; while(ilt;=n) { product*=i; i++; } (2) i=0; do { i++; }while((i!=n)amp;amp;(a[i]!=x)); (3) switch { case xlt;y: z=y-x; break; case x==y: z=abs(x*y); break; default: z=(x-y)/abs(x)*abs(y); //abs()为取绝对值函数 } 答:以上程序段等价框图分别如图1-2,图1-3和图1-4所示。 (1) 图1-2 等价框图(1) (2) 图1-3 等价框图(2) (3) 图1-4 等价框图(3) 4在程序设计中,常用下列三种不同的出错处理方式: (1)用exit语句终止执行并报告错误; (2)以函数的返回值区别正确返回或错误返回; (3)设置一个整型变量的函数参数以区别正确返回或某种错误返回。 试讨论这三种方法各自的优缺点。 答:(1)优点:exit用于异常错误处理,可以强行中断程序的执行,并返回至操作系统,操作系统会自动回收资源。 缺点:退出地点太多不利于调试。 (2)优点:以函数的返回值区别正确返回或错误返回,常用于子程序的测试,便于实现程序的局部控制,不会直接终止程序的运行。 缺点:判断太多,必须人工维护一份错误值列表。 (3)优点:用整型函数进行错误处理可以给出错误类型,便于迅速确定错误。 缺点:需要完整的整型变量的释义,才能方便理解。 5在程序设计中,可采用下列三种方法实现输出和输入: (1)通过scanf和printf语句; (2)通过函数的参数显式传递; (3)通过全局变量隐式传递。 试讨论这三种方法的优缺点。 答:(1)用scanf和printf直接进行输入输出 优点:形象、直观。 缺点:需要格式控制,较为烦琐,如果出现错误,则会引起整个系统的崩溃,参数类型受限制,内存开销大。 (2)通过函数的参数显式传递进行输入输出 优点:便于实现信息的隐蔽,减少出错的可能。 缺点:参数说明比较烦琐,内存开销大。 (3)通过全局变量的隐式传递进行输入输出 优点:方便,只需修改变量的值即可,内存开销小; 缺点:过多的全局变量使程序的维护较为困难,内容极易丢失。 6设

您可能关注的文档

文档评论(0)

圣才电子书 + 关注
官方认证
内容提供者

圣才电子书融合各类考试(学历、等级、职称资格等)和经典教材(经管、外语、理工等)配套辅导的10万种电子书(题库、视频等)。

认证主体圣才电子书(北京)股份有限公司
IP属地四川
统一社会信用代码/组织机构代码
91110108742623696X

1亿VIP精品文档

相关文档