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

数据结构基础南理工泰州科技学院.docVIP

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构基础南理工泰州科技学院

习题一 绪论 1 简要回答术语:数据,数据元素,数据结构,数据类型。 2 数据的逻辑结构?数据的物理结构?逻辑结构与物理结构的区别和联系是什么? 3 数据结构的主要运算包括哪些? 4 算法分析的目的是什么?算法分析的主要方面是什么? 5 分析以下程序段的时间复杂度,请说明分析的理由或原因。 ⑴ Sum1( int n ) { int p=1, sum=0, m ; for (m=1; m=n; m++) { p*=m ; sum+=p ; } return (sum) ; } ⑵ Sum2( int n ) { int sum=0, m, t ; for (m=1; m=n; m++) { p=1 ; for (t=1; t=m; t++) p*=t ; sum+=p ; } return (sum) ; } ⑶ 递归函数 fact( int n ) { if (n=1) return(1) ; else return( n*fact(n-1)) ; } 习题二 线性表 1 简述下列术语:线性表,顺序表,链表。 2 何时选用顺序表,何时选用链表作为线性表的存储结构合适?各自的主要优缺点是什么? 3 在顺序表中插入和删除一个结点平均需要移动多少个结点?具体的移动次数取决于哪两个因素? 4 链表所表示的元素是否有序?如有序,则有序性体现于何处?链表所表示的元素是否一定要在物理上是相邻的?有序表的有序性又如何理解? 5 设顺序表L是递增有序表,试写一算法,将x插入到L中并使L仍是递增有序表。 5 写一求单链表的结点数目ListLength(L)的算法。 6 写一算法将单链表中值重复的结点删除,使所得的结果链表中所有结点的值均不相同。 7 设线性表中的元素按值递增有序,以带头结点head的单链表作存储结构,写一算法删除表中大于等于min且小于等于max的元素(若表中存在这样的元素),同时释放被删结点的空间。 8 写一算法将带有头结点head的单链表逆置。 9 写一算法从一给定的向量A删除值在x到y(x≤y)之间的所有元素(注意:x和y是给定的参数,可以和表中的元素相同,也可以不同)。 10 设A和B是两个按元素值递增有序的单链表,写一算法将A和B归并为按按元素值递减有序的单链表C,试分析算法的时间复杂度。 习题三 栈和队列 1 设有一个栈,元素进栈的次序为a, b, c。问经过栈操作后可以得到哪些输出序列? 2 循环队列的优点是什么?如何判断它的空和满? 3 设有一个静态顺序队列,向量大小为MAX,判断队列为空的条件是什么?队列满的条件是什么? 4 设有一个静态循环队列,向量大小为MAX,判断队列为空的条件是什么?队列满的条件是什么? 5 利用栈的基本操作,写一个返回栈S中结点个数的算法int StackSize(SeqStack S) ,并说明S为何不作为指针参数的算法? 6 一个双向栈S是在同一向量空间内实现的两个栈,它们的栈底分别设在向量空间的两端。试为此双向栈设计初始化InitStack(S) ,入栈Push(S,i,x),出栈Pop(S,i,x)算法,其中i为0或1 ,用以表示栈号。 7 设Q[0,6]是一个静态顺序队列,初始状态为front=rear=0,请画出做完下列操作后队列的头尾指针的状态变化情况,若不能入队,请指出其元素,并说明理由。 a, b, c, d入队 a, b, c出队 i , j , k , l , m入队 d, i出队 n, o, p, q, r入队 8 假设Q[0,5]是一个循环队列,初始状态为front=rear=0,请画出做完下列操作后队列的头尾指针的状态变化情况,若不能入队,请指出其元素,并说明理由。 d, e, b, g, h入队 d, e出队 i , j , k , l , m入队 b出队 n, o, p, q, r入队 习题六 树和二叉树 ⑴ 假设在树中, 结点x是结点y的双亲时,用(x,y)来表示树边。已知一棵树的树边集合为 { (e,i), (b,e), (b,d), (a,b), (g,j), (c,g), (c,f), (h,l), (c,h), (a,c) } ,用树型表示法表示该树,并回答下列问题: ① 哪个是根结点? 哪些是叶子结点? 哪个是g的双亲? 哪些是g的祖先? 哪些是g的孩子? 那些是e的子孙? 哪些是e的兄弟? 哪些是f的兄弟? ② b和n的层次各是多少? 树的深度

文档评论(0)

yd327298 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档