- 1、本文档共14页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构 复习提纲
第二部分 复习提纲(不分题型)
数据的三个层次是数据、数据元素和数据项。
四种基本存储方式的特点?什么时候逻辑关系可以由存储地址表示?什么时候由指针表示?什么时候存储地址与结点内容有关系?
答:
◆ 顺序存储方法:它是把逻辑上相邻的结点存储在物理位置相邻的存储单元里,结点间的逻辑关系由存储单元的邻接关系来体现。由此得到的存储表示称为顺序存储结构。 链接存储方法:它不要求逻辑上相邻的结点在物理位置上亦相邻,结点间的逻辑关系是由附加的指针字段表示的。由此得到的存储表示称为链式存储结构。 索引存储方法:除建立存储结点信息外,还建立附加的索引表来标识结点的地址。 散列存储方法:就是根据结点的关键字直接计算出该结点的存储地址。
答:
运算、算法含义?谁定义在存储结构上?谁定义在逻辑结构上?
答:运算是在数据逻辑结构上定义的操作算法。
所谓算法(Algorithm)是对问题求解步骤的一种描述,是指令的有限序列,其中每一条指令表示一个或多个操作。
所谓算法复杂度:
T (n) = O(f(n))
称T (n) 为算法的渐近时间复杂度(Asymptotic Time Complexity),简称时间复杂度。O是数量级的符号。
下面我们探讨一下如何估算算法的时间复杂度
算法 = 控制结构 + 原操作(固有数据类型的操作)
算法的执行时间=原操作(i)的执行次数×原操作(i)的执行时间
算法的执行时间与原操作执行次数之和成正比
5.运算可分为加工型和___。
数据结构一般包括三个方面内容:逻辑结构、储存结构和运算。
算法的复杂性与计算机是否有关?
算法正确与否一般是用理论证明还是用算例检验?
答:用算例须考虑所有情况,用理论需要严谨的数学证明。
9.时间复杂性一般考虑log2n nlog2n n22n n! nn
线性表每个结点都有一个前趋和后继吗?
答:开始结点只有一个后继,终端结点只有一个前趋。
头结点有何作用?
链表结点的物理地址一定不连续吗?-连续与否都可
单链表插入、删除结点的一般过程?(指针修改情况)
如果插入在链表开头: New NewNode; NewNode-Next=Pointer; HEAD-Next=NewNode;
如果插入在链表中间: NewNode-Next=Pointer-Next; Pointer-Next=NewNode;
如果插入在链表末端: NewNode-Next=Pointer-Next; Pointer-Next=NewNode;
如果删除在链表开头: Head-Next=Pointer-Next; free(Pointer);
如果删除在链表中间: Back-〉Next=Pointer-〉Next; free(Pointer);
如果删除在链表末端: Back-〉Next=Pointer-〉Next; free(Pointer);
顺序表、单链表优点缺点?是否可以(按值、按序号)随机存取?顺序存取?
答:链表的优点是空间动态分配,插入和删除时不需要移动数据,缺点是不能随机访问。
顺序表的优点是能熟记存取数据元素可以按值随机存储,存取速度快,缺点:插入、删除操作需移动数据。
顺序表插入、删除时是否总引起结点的移动?
答:只有插入、删除在表末,不会引起结点的移动。
分别对有头结点、无头结点的循环、非循环单链表,如何判断为空?如何判断某结点为尾结点?
循环链表主要优点?用尾指针表示循环单链表有什么好处?
答:尾指针是指向终端结点的指针,用它来表示单循环链表可以使得查找链表的开始结点和终端结点都很方便,设一带头结点的单循环链表,其尾指针为rear,则开始结点和终端结点的位置分别是rear-next-next 和 rear, 查找时间都是O(1)。若用头指针来表示该链表,则查找终端结点的时间为O(n)。typedef int datatype; //结点数据类型,假设为int
typedef struct node * pointer; //一般结点指针类型
struct node {//结点datatype data;
pointer next;
};
typedef pointer lklist; //头指针类型
void ;
p=p-next;
}
}
11.例,判断无头结点的链表中结点是否构成等差数列。
解:链表类型定义同上题。
int detect(lklist L) {
pointer p,q; //以下用q表示p的前趋
datatype x;
q=L;if(q==NULL) return 1; //链表为空
p=q-next;if(p==NULL) return 1; //链表只有1个结
您可能关注的文档
- 区域环境创设报告材料.doc
- 区域路网交通安全风险分析及管控策略研究.doc
- 区熔调研.doc
- 区间隧道临时支撑拆除方案.doc
- 医务室排队就诊的队列模拟.doc
- 区调处中心职责制度.doc
- 北航地图.ppt
- 医学博士全国统考英语考前辅导讲义.doc
- 医学类-针刀医学四大基本理论的意义和价值.ppt
- 医学统计论文范例---盐酸托烷司琼氯化钠注射液治疗化疗.doc
- 2023年江苏省镇江市润州区中考生物二模试卷+答案解析.pdf
- 2023年江苏省徐州市邳州市运河中学中考生物二模试卷+答案解析.pdf
- 2023年江苏省苏州市吴中区中考冲刺数学模拟预测卷+答案解析.pdf
- 2023年江苏省南通市崇川区田家炳中学中考数学四模试卷+答案解析.pdf
- 2023年江西省吉安市中考物理模拟试卷(一)+答案解析.pdf
- 2023年江苏省泰州市海陵区九年级(下)中考三模数学试卷+答案解析.pdf
- 2023年江苏省苏州市高新二中中考数学二模试卷+答案解析.pdf
- 2023年江苏省南通市九年级数学中考复习模拟卷+答案解析.pdf
- 2023年江苏省南通市海安市九年级数学模拟卷+答案解析.pdf
- 2023年江苏省泰州市靖江外国语学校中考数学一调试卷+答案解析.pdf
文档评论(0)