- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
经贸大学2016年数据结构总复习
数据结构;第一章 绪论; 逻辑结构:数据元素之间的逻辑关系。
物理结构(存储结构):数据结构在计算机中的表示,包括数据元素的表示和关系的表示。
;顺序存储结构 与 链式存储结构
顺序存储结构:用数据元素在存储器中的相对位置来表示数据元素之间的逻辑结构(关系)。数据元素存放的地址是连续的
链式存储结构:借助指示元素存储地址得指针表示数据之间的逻辑关系。数据元素存放的地址是否连续没有要求
;5;算法是为了解决某类问题而给出的一个有限长的指令序列。
算法有以下5个特性:
有穷性:有穷步骤,每步都有有穷的时间
确定性:每条指令有确定的含义
可行性:是能行的,基本运算的有限次运算完成
输入:0个或多个输入,取自某个特定对象集合
输出:一个或多个输出,同输入有某些特定关系;一个“好”的算法需满足:
1、正确性
2、可读性
3、健壮性
4、高效率与低存储量需求; 正确性; 可读性; 健壮性; 假设,随着问题规模n的增长,算法执行时间的增长率和f(n)的增长率相同,则可记作:
T(n)=O(f(n))
称T(n)为算法的(渐进)时间复杂度;原操作:固有数据类型的操作。(如:+,-,×,/,,等)
基本操作:重复执行的次数和算法的执行时间成正比的操作,多数情况下它是最深层循环内的语句中的原操作。
语句的频度:指的是该语句重复执行的次数。
基本操作的执行次数和包含它的语句的频度相同。;时间复杂度的运算规则;第二章 线性表;线性结构的基本特征:;线性表的顺序表示指的是用一组地址连续的存储单元依次存储线性表的数据元素。;;18;线性表的插入;20;线性表的删除;22;线性表的顺序存储结构的优缺点;用一组地址任意的存储单元存放线性表中的元素。
结点 = 数据元素+指针(指示后继元素存储位置)
n个结点链结称一个链表,即为线性表的链式存储结构。
链表的每个结点都只包含一个指针域,称为线性链表或单链表
; 3695;按序号查找;单链表的插入;单链表的删除;静态链表;循环链表;双向链表的插入;设要删除的结点为p ,删除时直接先断链,再释放结点。部分语句组如下:
p-prior-next=p-next;
p-next-prior=p-prior;
free(p);
注意:与单链表的插入和删除操作不同的是,在双向链表中插入和删除必须同时修改两个方向上的指针域的指向。;①顺序结构:
优点:易于查询,索引快
缺点:扩展性弱,不易删除、添加。
②链表结构:
优点:扩展性强,易于删除、添加
缺点:不易于查询,索引慢
二者优缺点正好是互补关系,根据实际情况选择使用?;第三章 栈和队列;3.1 栈;顺序栈;空栈;3 元素进栈
Status push(SqStack S , ElemType e) {
/* 使数据元素e进栈成为新的栈顶 */
if (S.top - S.base = S.stacksize) {//栈满
S.base=(SElemType *) realloc (S.base, (S.stacksize+STACKINCREMENT) * sizeof(SElemType);
if (!S.base) exit (OVERFLOW);
S.top=S.base+S.stacksize;
S.stacksize+=STACKINCREMENT;
}
*S.top++=e ; /* 栈顶指针加1 */
return OK; /* 压栈成功 */
};4 弹栈(元素出栈)
Status pop( SqStack S, SElemType e )
/*弹出栈顶元素*/
{ if ( S.top==S.base)
return ERROR ; /* 栈空,返回错误标志 */
e=*--S.top;
return OK ;
};3.4 队列;链队列;(a) 空队列;设立一个队首指针front ,一个队尾指针rear ,分别指向队首和队尾元素。
◆ 初始化:front=rear=0。
◆ 入队:将新元素插入rear所指的位置,然后rear加1。
◆ 出队:删去front所指的元素,然后加1并返回被删元素。
◆ 队列为空:front=rear。
◆ 队满:rear=MAX_QUEUE_SIZE-1
;(a) 空队列;充分利用向量空间,克服上述“假溢出”现象
将为队列分配的向量空间看成为一个首尾相接的圆环,并称这种队列为循环队列;;入队操作
Status EnQueue(SqQueue Q , ElemType e) {
文档评论(0)