数据结构复习提纲(有考题).docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构 概论 讨论一种数据结构,需要包括三个方面:数据的逻辑结构(线形,树型,图形结构)、存储结构(顺序存储,链式存储,索引存储,散列存储)和运算集合; 算法的特点、算法和程序的异同; 答 :算法具有(1 )有穷性(2 )确定性(3 )0 个或多个输入(4 )1 个或多个输出(5 )可行性等特征。程序是算法的一种描述方式,通过程序可以在计算机上实现算法。 对某个用C语言算法中某条语句的执行时间分析;时间复杂度的计算; 对给定的时间复杂度进行大小比较,P9中间部分; 以下六种计算算法时间的多项式是最常用的。其关系为: O(1)O(logn)O(n)O(nlogn)O(n2)O(n3) 指数时间的关系为: O(2n)O(n!)O(nn) 线性表及其顺序存储 线性表的概念; 线性表是一个线性结构,它是一个含有n≥0个结点的有限序列,对于其中的结点,有且仅有一个开始结点没有前驱但有一个后继结点,有且仅有一个终端结点没有后继但有一个前驱结点,其它的结点都有且仅有一个前驱和一个后继结点。 顺序表的概念、顺序表的存储结构用C语言来表示(P12下边代码); 线性表采用顺序存储的方式存储就称之为顺序表。 顺序表的存储结构的C语言描述如下: /*顺序表的头文件,文件名sequlist.h */ #define MAXSIZE 100 typedef int datatype; typedef struct{ datatype a[MAXSIZE]; int size; }sequence_list; 栈的概念(先进后出);对给定的一个栈可以列出可以完成的出栈和入栈顺序; 下图表明进出栈情况。 队列的概念(先进先出)以及顺序队列的实现;顺序循环队列操作,会计算循环队列的元素个数,会判断循环队列的“队列空”“队列满”的条件; 给定一个大小为MAXSIZE的数组存储一个队列时,经过若干次插入和删除操作后,当队尾指指rear=MAXSIZE时,呈现队列满的状态,而事实上数组的前部可能还有空闲的位置。为了有效利用空间,将顺序存储的队列想象为一个环状,把数组中的最前和最后两个元素看作是相邻的,这就是循环队列 循环队列满的条件是 (rear+1)%MAXSIZE=front 循环队列空的条件是 rear=front 中缀表达式、后缀表达式的概念以及他们之间的转换;P25 中缀表达式(或中缀记法)是一个通用的算术或逻辑公式表示方法, 操作符是以中缀形式处于操作数的中间(例:3 + 4),中缀表达式是人们常用的算术表示方法。 不包含括号,运算符放在两个运算对象的后面,所有的计算按运算符出现的顺序,严格从左向右进行(不再考虑运算符的优先规则,如:(2 + 1) * 3 , 即2 1 + 3 * —P41 在单链表中查找一个值为x的结点 node ?find(node ?head,int i) { int j=1; node ?p=head; if(i1) return NULL; while(pi!=j) { p=p-next;j++; } return p; } ?????????????????????????????????????????????????????/ /? 函数功能:单链表第i个结点后插入值为x的新结点 ????/ /? 函数参数:指向node类型变量的指针head ???/ /? datatype 类型变量x,int型变量I ?/ /? 函数返回值:指向node类型变量的指针 ? ?/ /? 文件名:slnklist.c,函数名:insert() ?? ?/ /?????????????????????????????????????????????????????/ node ?insert(node ?head,datatype x,int i) { node ?p,?q; q=find(head,i); /?查找第i个结点?/ if(!qi!=0) printf(\n找不到第%d个结点,不能插入%d!,i,x); else{ p=(node?)malloc(sizeof(node)); /?分配空间?/ p-info=x; /?设置新结点?/ if(i==0){ /* 插入的结点作为单链表的第一个结点*/ p-next=head; /?插入(1)?

文档评论(0)

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

本账号下所有文档分享可拿50%收益 欢迎分享

1亿VIP精品文档

相关文档