1 / 32
文档名称:

数据结构B树3.ppt

格式:ppt   页数:32
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数据结构B树3.ppt

上传人:中国课件站 2011/10/11 文件大小:0 KB

下载得到文件列表

数据结构B树3.ppt

文档介绍

文档介绍:树和森林
一、双亲表示法(顺序存储)
//-----------树的双亲表存储表示----------//
#define MAX_TREE_SIZE 100
typedef struct PTNode {
TElemType data;
int parent; //双亲位置域
}PTNode;
typedef struct{
PTNode nodes[MAX_TREE_SIZE];
int n; //结点数
}PTree;
双亲表示法举例
R
A
D
E
F
C
B
G
K
H
R -1
A 0
B 0
C 0
D 1
E 1
F 3
G 6
H 6
K 6
0
1
2
3
4
5
6
7
8
9
数组下标:
* 便于涉及双亲的操作;
* 求结点的孩子时需要遍历整棵树。
二、孩子表示法(顺序存储)
#define MAX_TREE_SIZE 100
typedef struct PTNode {
TElemType data;
int child1; //第1个孩子位置域
int child2; //第2个孩子位置域
......
int childd; //第d个孩子位置域
}PTNode;
typedef struct{
PTNode nodes[MAX_TREE_SIZE];
int n; //结点数
}PTree;
孩子表示法举例
R
A
D
E
F
C
B
G
K
H
0
1
2
3
4
5
6
7
8
9
数组下标:
* 便于涉及孩子的操作;求双亲不方便;
* 采用同构的结点,空间浪费。
R 1
A 4
B 0
C 6
D 0
E 0
F 7
G 0
H 0
K 0
2 3
5 0
0 0
0 0
0 0
0 0
8 9
0 0
0 0
0 0
孩子链表存储表示(链式存储)
typedef struct CTNode{ //孩子结点
int child;
struct CTNode *next;
} *ChildPtr;
typedef struct {
TElemType data;
ChildPtr firstchild; //孩子链表头指针
}CTBox;
typedef struct {
CTBox nodes[MAX_TREE_SIZE];
int n, r; //结点数和根的位置
}CTree;
孩子链表存储表示举例
R
A
D
E
F
C
B
G
K
H
0
1
2
3
4
5
6
7
8
9
数组下标:
* 便于涉及孩子的操作;
* 求结点的双亲时不方便。
R
A
B /
C
D /
E /
F
G /
H /
K /
1
2
3 /
4
5 /
6 /
7
8
9 /
[ ]; =10; = 0;
例1: 设树T以孩子链表为存储结构, 寻找值为x的双亲结点的算法如下:
Status parent(Ctree T, TElemType x)
{// 当值为x的结点不存在时返回-2;
// 当值为x的结点为根结点时返回-1,
// 否则返回x结点的双亲结点的下标值.
if([].data == x) return –1;
//值为x的结点为根结点;
for(i=0;i<;i++)
{ p=[i].firstchild;
while(p && [p->child].data != x)
p = p->next;
if(p) return (i); // 找到x的双亲结点
}
return –2; // 值为x的结点不存在
}
例2: 删除值为x的结点的第i棵子树的算法delete如下:
void deletej(Ctree &T, int j)
{// 删除树T的第j号结点及其子树
if(![j].firstchild){ // 删除叶结点
for(i=j; i<-1; i++) { // j号结点后的结点全部前移一位
[i].data = [i+1].data;
[i].firstchild = [i+1].firstchild;
}
--;
}else{
while(s=[j].firstchild){
[j].firstchild = s->n

最近更新

2023年六盘水幼儿师范高等专科学校单招职业技.. 39页

2023年兰州现代职业学院单招职业倾向性考试模.. 40页

2023年兰州石化职业技术大学单招职业倾向性测.. 41页

2023年兰州石化职业技术学院单招职业倾向性测.. 40页

2023年兰州航空职业技术学院单招职业适应性测.. 40页

2023年兰考三农职业学院单招职业技能测试模拟.. 41页

2023年共青科技职业学院单招职业倾向性考试题.. 41页

2023年冀中职业学院单招综合素质考试题库带答.. 40页

2023年冀中职业学院单招职业适应性考试模拟测.. 40页

2023年内江卫生与健康职业学院单招职业适应性.. 40页

2023年内江职业技术学院单招职业技能考试题库.. 41页

2023年内蒙古交通职业技术学院单招职业适应性.. 42页

2023年内蒙古体育职业学院单招职业适应性考试.. 41页

2023年内蒙古包头市单招职业倾向性测试题库新.. 40页

2026年兔年男孩最旺名字 6页

2023年内蒙古北方职业技术学院单招职业倾向性.. 41页

2023年内蒙古呼伦贝尔市单招职业倾向性测试模.. 41页

2023年内蒙古呼和浩特市单招职业倾向性考试题.. 41页

2023年内蒙古商贸职业学院单招职业技能测试题.. 41页

2026年兔年春节对联集 5页

2023年内蒙古机电职业技术学院单招职业技能测.. 42页

2023年内蒙古民族幼儿师范高等专科学校单招职.. 40页

2023年内蒙古科技职业学院单招职业适应性测试.. 38页

2023年内蒙古美术职业学院单招职业技能考试模.. 40页

2023年内蒙古能源职业学院单招职业技能测试模.. 42页

2023年内蒙古通辽市单招职业适应性考试模拟测.. 40页

ZR-003 建设单位法人授权书 1页

2023年四川省凉山州数学中考真题试卷【含答案.. 32页

铁路钢轨探伤车运用管理办法 21页

青岛市电梯安全运行服务规范 20页