广东商学院数据结构答案Word下载.docx
《广东商学院数据结构答案Word下载.docx》由会员分享,可在线阅读,更多相关《广东商学院数据结构答案Word下载.docx(5页珍藏版)》请在冰豆网上搜索。
![广东商学院数据结构答案Word下载.docx](https://file1.bdocx.com/fileroot1/2023-1/1/92e40e16-5753-4d40-89a0-2c785e451e25/92e40e16-5753-4d40-89a0-2c785e451e251.gif)
2、顺序表的表示
#defineMAXSIZE100
Typedefstruct{
ElemType*elem;
intlength;
//数据元素个数
}SqList;
//定义数据类型
SqListL;
//定义变量
3、顺序表的操作
(1)随机存取:
Loc(ai)=Loc(a1)+(i-1)*C
(2)为空、为满的判定
为空:
L.length==0
为满:
L.length==MAXSIZE
(3)插入、删除操作特征及时间复杂度分析
基本操作:
移动元素
插入:
删除:
注意:
下标和位序的关系
4、链表的表示
TypedefstructLNode{
ElemTypedata;
StructLNode*next;
}LNode,*LinkList;
//TypedefLnode*LinkList;
5、链表的操作
(1)为空的判定:
L->
next=NULL/L=NULL
(2)插入、删除操作特征及时间复杂度分析
基本操作:
顺链扫描,操作点定位
插入、删除:
指针的修改
3、栈和队列
1、栈和队列的特点和应用
2、顺序栈的表示
Typedefstruct{
SElemType*base;
SElemType*top;
intstacksize;
}SqStack;
3、顺序栈为空、为满的判定
s.top==s.base
s.top-s.base==s.stacksize
4、循环队列的表示
#defineMAXQSIZE100
QElemType*base;
intfront;
intrear;
}SqQueue;
5、循环队列为空、为满的判定
Q.rear==Q.front
Q.front==(Q.rear+1)%MAXQSIZE
4、树和二叉树
1、二叉树的链式存储表示
TypedefstructBiTNode{
TElemTypedata;
structBiTNode*lchild,*rchild;
}BiTNode,*BiTree;
2、二叉树的性质
(1)第i层→最多2i-1
(2)深度k→最多2k-1
(3)任意二叉树:
n0=n2+1
(4)完全二叉树:
n个结点→深度k=「log2n」+1
(5)完全二叉树:
结点i→Parent(i)=「i/2」;
结点i→LChild(i)=2i;
结点i→RChild(i)=2i+1
——完全二叉树结点数、结点编号的确定
例1:
深度为k的完全二叉树中,编号最小和最大的叶结点的编号是多少?
例2:
一棵有240个叶结点的完全二叉树,最少有多少个结点?
最多呢?
例3:
一棵完全二叉树的第7层有10个叶结点,则该完全二叉树最多有多少个结点?
3、二叉树的遍历算法
(1)二叉树→遍历序列
(2)遍历序列→二叉树
(3)二叉树遍历的递归代码
五、图
1、有向图和无向图的基本概念
n个顶点的无向完全图,有n*(n-1)/2条边;
n个顶点的有向完全图,有n*(n-1)条弧;
n个顶点的无向连通图,最少有n-1条边
3、最小生成树的定义和构造(Prim和Kruscal算法)
Prim算法→T=O(n2)→稠密图
Kruscal算法→T=O(eloge)→稀疏图
4、拓扑排序和关键路径算法
拓扑排序→判断能否完工
关键路径→求得完工最短时间
六、查找
1、顺序查找的性能
2、折半查找
(1)前提:
顺序存储;
关键字有序
(2)过程:
mid=「low+high)/2」(向下取整)
(3)关键字比较次数
3、二叉排序树查找
(1)递归定义和查找
(2)动态构造和平衡化
(3)BBST的ASL
例:
在具有24个结点的平衡二叉排序树中进行关键字查找,查找成功的情况下,平均查找长度ASL为多少?
4、哈希查找
(1)哈希函数:
除留余数法
H(key)=key%p(p<
=m)
(2)冲突函数:
开放定址法
Hi=[H(key)+di]%m
线性探测:
di=1,2,…,m-1
二次探测:
di=12,-12,22,-22,…,-k2(k≤m/2)
七、排序
1、复习思路
(1)算法思想:
排序原则和排序过程
(2)算法性能:
时间和空间复杂度
(3)算法稳定性:
取决于算法本身
(4)算法的特殊性:
适用前提、排序结果
2、直接插入排序
3、冒泡排序和快速排序
4、堆排序
(1)堆的定义:
大顶堆和小顶堆
(2)堆排序过程:
初始建堆+重建堆
(3)堆类型选择:
降序→小顶堆;
升序→大顶堆
(4)堆排序的性能和特点
5、归并排序的特点和性能