数据结构习题课第8、7、6章(网上的答案有些有问题的)

数据结构习题课第8、7、6章(网上的答案有些有问题的)
数据结构习题课第8、7、6章(网上的答案有些有问题的)

第8章图

对于如图所示的无向图,试给出:

(1)图中每个顶点的度;

(2)该图的邻接矩阵;

(3)该图的邻接表;

(4)该图的连通分量。

(1)D(V0)=2;D(V1)=2;D(V2)=3;D(V3)=3;D(V4)=2;D(V5)=1;D(V6)=1.

(2)

0101000

1010000

0101100

1010100

0011000

0000001

0000010

v V

??

??

??

??

??

??

??

??

??

??

??

邻接矩阵

0101000

1010000

0101100

1010100

0011000

0000001

0000010

??

??

??

??

??

??

??

??

??

??

??

(3)邻接表

(4)连通分量

1:

2:

图所示的是某个无向图的邻接表,试:(1)画出此图;

(2)写出从顶点A 开始的DFS 遍历结果;(3)写出从顶点A 开始的BFS 遍历结果。

(1)图邻接表对应的无向图如图所示

(2)

从顶点A 开始的DFS 遍历,深度优先遍历的基本思想:对于给定的图

G=(V,E),首先将V中每一个顶点都标记为未被访问,然后,选取一个源点v V

将v标记为被访问,再递归地用深度优先搜索方法,依次搜索v的所有邻接点w.若w未曾访问过,则以w为新的出发点继续深度优先搜索遍历,如果从v出发所有路的顶点都已被访问过,则结束。

A,B,C,F,E,G,D

从顶点A 开始的BFS 遍历,基本思想:对于给定的图G=(V,E),从图中某未访问过的顶点vi出发:

1)访问顶点vi;

2)访问vi 的所有未被访问的邻接点w1 ,w2 , …wk ;

3)依次从这些邻接点出发,访问它们的所有未被访问的邻接点; 依此类推,直到图中所有访问过的顶点的邻接点都被访问;

A,B,C,D,F,E,G

对如图所示的连通图,分别用Prim 和Kruskal算法构造其最小生成树。

解:(1)Prime 算法的基本思路、步骤P167

Prim算法的基本步骤如下:

(1)初始化:U={u0},TREE={};

(2)如果U=V(G),则输出最小生成树T,并结束算法;

(3)在所有两栖边中找一条权最小的边(u,v)(若候选两栖边中的最小边不止一条,可任选其中的一条),将边(u,v)加入到边集TREE中,并将顶点v并入集合U中。

(4)由于新顶点的加入,U的状态发生变化,需要对U与V-U之间的两栖边进行调整。

(5)转步骤(2)

Prim算法构造最小生成树过程:

(2)采用Kruskal 算法求解最小生成树时首先要对边进行由小到大进行排序,本题对边进行排序的结果是:(D,F)1、(C,F)2、(A,F)3、(A,C)4、(F,G)4、(D,E)4、(D,B)4、(C,D)5、(E,G)5、(A,D)6、(D,G)6、(A,B)7 。根据Kruskal 算法,构造最小生成树的过程如图

对于如图所示的有向网,用Dijkstra 方法求从顶点A 到图中其他顶点的最短路径,并写出执行算法过程中距离向量d 与路径向量p 的状态变化情况。

解:

Dijkstra算法的基本思想:

把图中所有顶点分成两组,第一组包括已确定最短路径的顶点,初始时只含有一个源点,记为集合S;第二组包括尚未确定最短路径的顶点,记为V-S。按最短路径长度递增的顺序逐个把V-S中的顶点加到S中去,直至从v0出发可以到达的所有顶点都包括到S中。在这个过程中,总保持从v0到第一组(S)各顶点的最短路径都不大于从v0到第二组(V-S)的任何顶点的最短路径长度,第二组的顶点对应的距离值是从v0到此顶点的只包括第一组(S)的顶点为中间顶点的最短路径长度。对于S中任意一点j,v0到j的路径长度皆小于v0到(V-S)中任意一点的路径长度。

(后面四行需要在集合S加上E)

从表中可以看出源点A 到其它各顶点的最短距离及路径为:

A→B:48 路径:A→B

A→C:57 路径:A→D→F→C

A→D:15 路径:A→D

A→E:28 路径:A→E

A→F:48 路径:A→D→F

A→G:38 路径:A→D→G

试写出如图所示的AOV 网的4 个不同的拓扑序列。

(这里也有点问题,等待老师再次讲解)

解:拓扑排序过程:

1) 输入AOV网络。令n 为顶点个数。

2) 在AOV网络中选一个没有直接前驱(入度为0)的顶点, 并输出之;

3) 从图中删去该顶点, 同时删去所有它发出的有向边;

4) 重复以上(2)、(3)步, 直到

全部顶点均已输出,拓扑有序序列形成,拓扑排序完成;

图所示的AOV 网的4 个不同的拓扑序列为:

(1)ABDCEFGIH

(2)ABDECFGIH

(3)DABCEFGIH

(4)DAECBFGIH

计算如图所示的AOE 网中各顶点所表示的事件的发生时间ve(j),vl(j),各边所表示的活动的开始时间e(i),l(i),并找出其关键路径。

解:

(1):e(i):表示活动ai的最早开始时间。

l(i):表示活动最迟开始时间的向量。

关键活动特征:e(i)=l(i)

l(j)-e(j)的值表示完成活动aj的时间余量,提前完成非关键活动并不能提高整个工程的进度。

事件可能的最早开始时间ve(i):对于某一事件vi,它可能的最早发生时间

事件允许的最晚发生时间vl(i):对于某一事件vi,它允许的最晚发生时间是在保证按时完成整个工程的前提下,该事件最晚必须发生的时间

可以得出:

第7章二叉树

选择题。

(1)前序遍历和中序遍历结果相同的二叉树为( F );前序遍历和后序遍历结果相同的二叉树为( B )。

A.一般二叉树B.只有根结点的二叉树

C.根结点无左孩子的二叉树D.根结点无右孩子的二叉树

E.所有结点只有左子树的二叉树F.所有结点只有右子树的二叉树。

(2)以下有关二叉树的说法正确的是( B )。

A.二叉树的度为2 B.一棵二叉树的度可以小于2

C.二叉树中至少有一个结点的度为2 D.二叉树中任一个结点的度均为2

(3)一棵完全二叉树上有1001 个结点,其中叶子结点的个数为( D )。A.250 B.500 C.254 D.501

注:1023为深度是10的满二叉树,有512个叶子结点,1001比1023少22个节点。所以有512-22+22/2=501片叶子

(4)一棵完全二叉树有999 个结点,它的深度为( B )。

A.9 B.10 C.11 D.12

(5)一棵具有5 层的满二叉树所包含的结点个数为( B )。

A.15 B.31 C.63 D.32

用一维数组存放完全二叉树:ABCDEFGHI,则后序遍历该二叉树的结点序列为(HIDEBFGCA )。

已知一棵二叉树的中序遍历的结果为ABCEFGHD ,后序遍历的结果为ABFHGEDC,试画出此二叉树。

解:

已知一棵二叉树的前序遍历的结果为ABCDEF,中序遍历的结果为CBAEDF,试画出此二叉树

解:

试编写一个函数,将一棵给定二叉树中所有结点的左、右子女互换。

解:

#include ""

void change(bintree t)

{ bintree p;

if (t)

{

p=t->lchild;

t->lchild=t->rchild;

t->rchild=p;

change(t->lchild);

change(t->rchild);

}

int main()

{ bintree t;

creat(&t); /*建立二叉树t 的存储结构*/

preorder(t);

change(t);

printf("\n");

preorder(t);

}

假设二叉树采用链式方式存储,root 为其根结点,p 指向二叉树中的任意一个结点,编写一个求从根结点到p 所指结点之间路径长度的函数。

解:在后序遍历非递归算法中,当访问的结点为p 时,其祖先点正好全部在栈中,此时栈中结点的个数就是根结点到p 所指结点之间路径长度。

#include<>

#include<>

typedef char datatype;

typedef struct node /*二叉树结点定义*/

{ datatype data;

struct node *lchild,*rchild;

}bintnode;

typedef bintnode *bintree;

typedef struct stack

{

bintree data[100];

int tag[100];

int top;

}seqstack;

void creat(bintree *t) ;

/*函数Depth,功能:求根结点到x 的路径长度*/

int Depth(bintree t,datatype x)

{

seqstack s;

int i=0,j;

=0;

while(t || !=0)

{

while(t)

{

[]=t;

[]=0;

++;

t=t->lchild;

}

while>0 && [])

{

;

t=[];

if(t->data==x) return ; //此时栈中的结点都是x 的祖先结点

}

if>0)

{

t=[];

[]=1;

t=t->rchild;

}

else t=NULL;

}

}

第6章树

树最适合用来表示具有(有序)性和(层次)性的数据。

在选择存储结构时,既要考虑数据值本身的存储,还需要考虑(数据间关系)的存储。

对于一棵具有n 个结点的树,该树中所有结点的度数之和为(n-1 )。

已知一棵树如图所示,试回答以下问题:

(1)树中哪个结点为根结点哪些结点为叶子结点

答:A 是根结点;E,G,H,I,C,J,K,L 为叶结点。

(2)结点B 的双亲为哪个结点其子女为哪些结点

答:B 的双亲结点是A,其子女结点为E 和F。

(3)哪些结点为结点I 的祖先哪些结点为结点B 的子孙

答:F,B,A 是结点I 的祖先结点;E,F,G,H,I 是B 的子孙结点。

(4)哪些结点为结点D 的兄弟哪些结点为结点K 的兄弟

答:B,C,L 是结点D 的兄弟结点,J 是结点K 的兄弟结点。

(5)结点J 的层次为多少树的高度为多少

答:结点J 的层次为3,树的高度为4。

(6)结点A、C 的度分别为多少树的度为多少

答:结点A 的度为4,结点C 的度是0,树的度是4。

(7)以结点B 为根的子树的高度为多少

答:以结点B 为根的子树的高度是3。

(8)试给出该树的括号表示及层号表示形式。

答:该树的括号表示为:A(B(E,F(G,H,I)),C,D(J,K),L),该树的层号

表示为:10A,20B,30E,30F,40G,40H,40I,20C,20D,25J,25K,20L

试写出图所示树的前序遍历、后序遍历和层次遍历的结果。

答:前序遍历:ABEFGHICDJKL

后序遍历:EGHIFBCJKDLA

层次遍历:ABCDLEFJKGHI

假设树采用指针方式的孩子表示法表示,试编写一个非递归函数,实现树的后序遍历算法。

答:

#include ""

int PostOrderByStack (TreeNode *root)

{

TreeNode *temp;

TreeNode *stack[MAXLEN];

// childSeq 表示当前打印到了此树第几个孩子,

int top,childSeq[MAXLEN];

int i;

top = -1; //初始化空栈

temp = root;

while (1)

{

while (temp != NULL)

{

for (i = 0;i < MAXN;i++)

{ if (temp->child[i] != NULL)

{ childSeq[++top] = i + 1;

stack[top] = temp;

temp = temp->child[i];

break;

}

}

// 如果此节点是叶子节点,则输出该结点if (i == MAXN)

{ printf ("%5c",temp->key);

temp = NULL;

break;

}

}

while (top != -1 )

{

for (i = childSeq[top];i < MAXN;i++)

{

if (stack[top]->child[i] != NULL)

{

temp = stack[top]->child[i];

childSeq[top] = i + 1;

break;

}

}

if (i == MAXN)

{

printf ("%5c",stack[top]->key);

top--;

}

if (temp != NULL)

{

break;

}

}

if (top == -1)

{

return 1;

}

}

}

int main ()

{ char string[MAXLEN];

TreeNode *root = NULL;

printf ("请用树的括号表示法输入一棵树:\n"); scanf ("%s",string);

root = CreateTree (root,string); PostOrderByStack (root); return 0;

}

数据结构-习题-第六章-树

数据结构-习题-第六章-树和二叉树

E F D G A B / + + * - C * 第六章 树和二叉树 一、选择题 1.已知一算术表达式的中缀形式为 A+B*C-D/E ,后缀形式为ABC*+DE/-,其前缀形式为( ) A .-A+B*C/DE B. -A+B*CD/E C .-+*ABC/DE D. -+A*BC/DE 【北京航空航天大学 1999 一、3 (2分)】 2.算术表达式a+b*(c+d/e )转为后缀表达式 后为( )【中山大学 1999 一、5】 A .ab+cde/* B .abcde/+*+ C .abcde/*++ D .abcde*/++ 3. 设有一表示算术表达式的二叉树(见下图), 它所表示的算术表达式是( ) 【南京理工大学1999 一、20(2分)】 A. A*B+C/(D*E)+(F-G) B. (A*B+C)/(D*E)+(F-G) C. (A*B+C)/(D*E+(F-G )) D. A*B+C/D*E+F-G 4. 设树T 的度为4,其中度为1,2,3和4的 结点个数分别为4,2,1,1 则T 中的叶子数 为( ) A .5 B .6 C .7

D.8 【南京理工大学 2000 一、8 (1.5分)】5. 在下述结论中,正确的是()【南京理工大学 1999 一、4 (1分)】 ①只有一个结点的二叉树的度为0; ②二叉树的度为2;③二叉树的左右子树可任意交换; ④深度为K的完全二叉树的结点个数小于或等于深度相同的满二叉树。 A.①②③ B.②③④ C.② ④ D.①④ 6. 设森林F对应的二叉树为B,它有m个结点,B的根为p,p的右子树结点个数为n,森林F中第一棵树的结点个数是() A.m-n B.m-n-1 C.n+1 D.条件不足,无法确定【南京理工大学2000 一、17(1.5分)】 7. 树是结点的有限集合,它( (1))根结点,记为T。其余结点分成为m(m>0)个((2))的集合T1,T2,…,Tm,每个集合又都是树,此时结点T称为Ti的父结点,Ti称为T的子结点(1≤i≤m)。一个结点的子结点个数称为该结

数据库设计-《网上书店系统》Word版

目录 1 . 系统需求分析 (2) 1.1 系统基本功能描述 (2) 1.2 系统数据流图 (2) 1.2.1 数据流分析 (2) 1.2.2 数据字典 (3) 1.2.2.1 数据项 (3) 1.2.2.2 数据结构 (4) 2 . 系统设计 (5) 2.1 数据库设计 (5) 2.1.1 概念结构设计 (5) 2.1.2 逻辑结构设计 (7) 2.2 系统物理设计 (10)

1

1 系统需求分析 1.1 系统基本功能描述 网上书店系统是依据网上书店能够在线出售图书和管理需求而进行设计的,目的是实现在线接受客户订单、书店信息管理的功能。 需要在线购买图书的客户能够通过网上书店系统查询所需要的图书是否有售并能够查询有售图书的基本信息(比如图书名称、作者、出版社等)。如果客户查询到所需并且有售的图书,能够在线下达订单,然后提交给数据库,并且客户能够查询自己的订单的处理情况。同时,客户应该能够维护自己的信息(比如修改自己的收货地址、联系方式等)。 网上书店系统应该至少拥有一个管理员。管理员能够维护在售图书的基本信息(比如图书信息的增加、删除、修改等),并且能够对图书进行分类管理。同时,管理员能够维护客户的信息,能够审核客户提交的订单以确认或删除订单。 1.2系统数据流图 通过对系统需求进行分析,我们确定系统中有两类用户:管理员和客户。 各类用户的具体描述如下: (1)管理员 描述:管理员负责后台管理。包括增加、删除、修改图书信息,对图书进行分类管理;维护客户信息(增加和删除客户账号);审核订单并确认合法订单或删除非法订单。 (2)客户 描述:客户可以查询有售图书的基本信息;可以维护自己的信息;可以进行网上订书;可以查询订单的处理情况。

数据结构第7章

数据结构第7章-图习题

第7章图 一、单项选择题 1.在一个无向图G中,所有顶点的度数之和等于所有边数之和的______倍。 A.l/2 B.1 C.2 D.4 2.在一个有向图中,所有顶点的入度之和等于所有顶点的出度之和的______倍。 A.l/2 B.1 C.2 D.4 3.一个具有n个顶点的无向图最多包含______条边。 A.n B.n+1 C.n-1 D.n(n-1)/2 4.一个具有n个顶点的无向完全图包含______条边。 A.n(n-l) B.n(n+l) C.n(n-l)/2 D.n(n-l)/2 5.一个具有n个顶点的有向完全图包含______条边。 A.n(n-1) B.n(n+l) C.n(n-l)/2 D.n(n+l)/2 6.对于具有n个顶点的图,若采用邻接矩阵表示,则该矩阵的大小为______。 A.n B.n×n C.n-1 D.(n-l) ×(n-l) 7.无向图的邻接矩阵是一个______。 A.对称矩阵B.零矩阵

C.上三角矩阵D.对角矩阵 8.对于一个具有n个顶点和e条边的无(有)向图,若采用邻接表表示,则表头向量的大小为______。 A.n B.e C.2n D.2e 9.对于一个具有n个顶点和e条边的无(有)向图,若采用邻接表表示,则所有顶点邻接表中的结点总数为______。 A.n B.e C.2n D.2e 10.在有向图的邻接表中,每个顶点邻接表链接着该顶点所有______邻接点。 A.入边B.出边 C.入边和出边D.不是入边也不是出边 11.在有向图的逆邻接表中,每个顶点邻接表链接着该顶点所有______邻接点。 A.入边B.出边 C.入边和出边D.不是人边也不是出边 12.如果从无向图的任一顶点出发进行一次深度优先搜索即可访问所有顶点,则该图一定是______。 A.完全图B.连通图 C.有回路D.一棵树 13.采用邻接表存储的图的深度优先遍历算法类似于二叉树的______算法。 A.先序遍历B.中序遍历 C.后序遍历 D.按层遍历

库存管理系统数据库设计

库存管理系统数据库设计 系统需求分析: 入库管理: 供货单位将货物连同填好的入库单一起送到仓库,仓库管理员将验收货物,首先将货物的代码、类型、规格和数量与入库单进行核对,在核对无误后将货物按名称分类入库,并填写货物入库登记表。 出库管理: 提货单位向仓库保管员出示出库单,仓库保管员根据有效产品出库单及时付货,取货人员将货物与出库单核对无误后,提取货物,同时把出库单交给仓库保管员,仓库保管员则按照出库单登记货物的出库信息。 库存管理: 每天入库、出库处理结束后,仓库管理员将根据入库登记表和出库登记表对货物分别进行累计,并将累计结果填入库存台账; 数据流图

数据字典 1.数据项 入库单号 数据项名:入库单号 说明:标识货物的入库登记表 类型:CHAR 长度:10 别名:空 取值范围:(10000000000,9999999999)2.数据结构

?入库单 数据结构名:入库单 说明:入库货物的入库单号,入库产品代码、货物类型、规格和数量。 组成:入库单号,入库产品代码、货物类型、规格和数量 3.数据流 ?入库登记 数据流名:入库登记 说明:货物连同填好的入库单一起送到仓库时,仓库管理员依据入库单验收产品,在核对无误后将产品按名称分类入库,同时对入库的货物做登记,以便于仓库的管理。 数据流来源:仓库管理员 数据流去向:货物 数据结构:入库登记表 数据结构名:入库登记表 说明:入库货物的入库单号,入库产品代码,入库数量, 入库时间等 组成:入库日期、入库单号、货物编码、数量、进货价、 总额、已付货款、供货单位编码、供货单位、经办人编 码、经办人、增值税率、备注 4.数据存储

数据结构 习题 第六章 树和二叉树

第六章 树和二叉树 一、选择题 1.已知一算术表达式的中缀形式为 A+B*C-D/E ,后缀形式为ABC*+DE/-,其前缀形式为 ( ) A .-A+B*C/DE B. -A+B*CD/E C .-+*ABC/DE D. -+A*BC/DE 【北京航空航天大学 1999 一、3 (2分)】 2.算术表达式a+b*(c+d/e )转为后缀表达式后为( )【中山大学 1999 一、5】 A .ab+cde/* B .abcde/+*+ C .abcde/*++ D .3. 设有一表示算术表达式的二叉树(见下图), 它所表示的算术表达式是( ) 【南京理工大学1999 一、20(2分)】 A. A*B+C/(D*E)+(F-G) B. (A*B+C)/(D*E)+(F-G) C. (A*B+C)/(D*E+(F-G )) D. A*B+C/D*E+F-G 4. 设树T 的度为4,其中度为1,2,3和4的结点个数分别为4,2,1 ,1 则T 中的叶子数为( ) A .5 B .6 C .7 D .8 【南京理工大学 2000 一、8 (1.5分)】 5. 在下述结论中,正确的是( )【南京理工大学 1999 一、4 (1分)】 ①只有一个结点的二叉树的度为0; ②二叉树的度为2; ③二叉树的左右子树可任意 交换; ④深度为K 的完全二叉树的结点个数小于或等于深度相同的满二叉树。 A .①②③ B .②③④ C .②④ D .①④ 6. 设森林F 对应的二叉树为B ,它有m 个结点,B 的根为p,p 的右子树结点个数为n,森林F 中第一棵树的结点个数是( ) A .m-n B .m-n-1 C .n+1 D .条件不足,无法确定 【南京理工大学2000 一、 17(1.5分)】 7. 树是结点的有限集合,它( (1))根结点,记为T 。其余结点分成为m (m>0)个((2)) 的集合T1,T2, …,Tm ,每个集合又都是树,此时结点T 称为Ti 的父结点,Ti 称为T 的子结点(1≤i ≤m )。一个结点的子结点个数称为该结点的( (3) )。二叉树与树是两个 不同的概念,二叉树也是结点的有限集合,它((4))根结点。可以把树的根结点的层数定 义为1,其他结点的层数等于其父结点所在层数加上1。令T 是一棵二叉树,Ki 和Kj 是T 中子结点数小于2的结点中的任意两个,它们所在的层数分别为λKi 和λKj ,当关系式│ λKi-λKj │≤1一定成立时,则称T 为一棵((5))。供选择的答案: (1)(4) A. 有0个或1个 B. 有0个或多个 C. 有且只有一个 D. 有1个或1 个以上 (2) A. 互不相交 B.允许相交 C.允许叶结点相交 D.允许树枝结点相交 (3) A. 权 B.维数 C.次数 D.序 (5) A. 丰满树 B.查找树 C.平衡树 D.完全树 【上海海运学院1999二、 2(5分)】 8.若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是( ) A .9 B .11 C .15 D .不确定 【北京工商大学2001一.7(3 分)】 9.在一棵三元树中度为3的结点数为2个,度为2的结点数为1个,度为1的结点数为2

食堂管理系统数据库设计

一、需求分析 1.系统分析 随着时代的进步,如今各个服务行业也都逐渐发展壮大起来,尤其是食堂服务业,其在服务范围、服务数量和服务内容上都有着非常大的膨胀幅度,因此如何对如此复杂而频繁的服务活动进行管理就属于“食堂管理”的内容。其主要包括:职员资料管理、物品管理、消费内容管理、席位管理、客户评价管理,工资管理等,它是现代食堂管理中的一个重要组成部分。 2.功能需求分析 “食堂管理” 包括很多项目,以前食堂管理人员要记录大量的用户消费内容,然后通过计算器进行一系列的加减乘除运算,最后得出一位顾客的“应付金额”,这样做的效率和准确度可想而知。如果使用计算机来实现对食堂服务业的智能管理,从选择菜、酒水、主食,到计算“应付金额”,最后到打印消费内容,计算机都可以很准确、很快捷地进行处理,这些都是“食堂管理系统”的功能。一个完善的“食堂管理系统”可以很好地管理食堂服务业的各项内容,这样不仅能更好地服务顾客,而且可以为经营者创造更大的利润。 针对每部分的具体功能我们又做了如下的详细分析:

二、涉及的表 职员资料 物品表 席位表

销售记录 评价情况 工资表

SQL 命令 创建数据库 create database 食堂管理系统 on primary (name= stglxt_data,'e:\stglxt_data.mdf') log on (name=stglxt_log1,'e:\stglxt _log.ldf') 创建表 create table 职员资料 (职员编号char(6) not null primary key check(职员编号like'[0-9][0-9][0-9][0-9][0-9][0-9]'), 姓名varchar(20) not null, 职位varchar(20) not null, 性别char(2) not null check(性别='男' or 性别='女') default '男', 民族varchar(8) null default '汉族', 出生日期datetime not null, 身份证号码char(18) not null unique, 婚姻状况char(4) not null check(婚姻状况='已婚' or 婚姻状况='未婚') default '未婚', 联系电话varchar(11) not null unique, 备注varchar(30) ) create table 物品表 (物品编号 char(6) not null primary key, 物品名字 varchar(20) not null, 所属类型 char(4) not null check(所属类型='主食'or 所属类型='酒水' or 所属类型='其他') default '主食', 价格 money not null, 是否售馨 char(2) not null check(是否售馨='是' or 是否售馨='否') default '否', 品牌 varchar(30), 备注 varchar(30) ) create table 席位表 (席位号char(6) not null primary key, 负责人编号char(6) not null foreign key references 职员资料(职员编号) on update cascade on delete cascade, 人数int not null, 状态char(4) not null check(状态='使用' or 状态='预定' or 状态='空闲') default '空闲', 日期datetime not null, 备注varchar(30)

书店管理系统 数据库课程设计

目录 1引言 (4) 1.1课题背景............................................................................. ....... . (4) 1.2 课程设计目的 (4) 1.3 课程设计任务 (4) 2系统结构分析............................................................................ (5) 2.1 需求分析 (5) 2.2 系统模块图.............................................................................. . (6) 3数据库设计........................................................................................ (9) 3.1 概念结构设计........................................................................... (9) 3.2 逻辑结构设计........................................................................... (10) 3.3 数据库表的建立... (10) 4系统实现 (12) 4.1 数据库的连接 (12) 4.2 系统功能模块设计 (13) 5功能测试............................................................................ (15) 5.1 订单界面................................................................... (15) 5.2 各功能模块的测试 (16)

一卡通数据库表结构

一卡通数据库表结构 1. 数据库结构文档书写规范 正文字体,包括所有中文字符和英文字符,统一采用“宋体五号字”(便于对齐)。中文表名、视图名、存储过程名、函数名、触发器名作标题,格式采用标题四(便于在文档结构图中查找),中文表名后跟括号和实际英文表名(视图名、存储过程名等同表名)。drop table、create table、create index等语句顶头书写(无缩进),表中每个字段占一行,行前空出4个空格(不是缩进),字段名、字段类型、缺省值、是否允许空值、注释说明等分列左对齐(表内对齐即可,中间用空格填充)。 每个字段必须有注释,注释内容包括字段含义、取值范围、取值意义等。创建主键、外键、索引必须有注释说明。创建存储过程、函数、触发器时必须详细注释其功能。 注释均采用 /*注释内容*/ 格式。 具体格式见4.1范例。 2. 数据库命名规范 --数据库名:libcard;用户名:card;口令:card --数据库文件名: 数据文件:libcard_data.mdf;日志文件:libcard_log.ldf --表名命名规范: 表名长度不超过30个字符,表名使用一个单词或多个单词,单词选择能够概括表内容的一个或多个英文单词,表名中含有单词全部采用单数形式,单词首写字母要大写,多个单词间使用连接符号“_”,如User_Info,User_Type。 若表名只有一个单词,不使用缩写;超过一个单词,则每个单词均采用缩写,缩写后单词长度介于2个到5个字符之间。如管理员表Administrator,用户信息表User_Info。 关联表命名规则为R_表A_表B,R是Relative的缩写,如:R_User_Dept。 --字段命名规范: 字段名为对字段属性的有意义的描述,可以用英语单词、单词缩写、汉语拼音、字段实际含义的拼音缩写等,单词首字母大写。 一般每一个表都有一个ID字段作为主键,统一以“ID”作后缀。 字段名中单词间不用任何分隔符。举例: UserID,UserName,Address等。 字段命名时应尽量统一,用同样的缩写方式和命名方式,不要出现在不同的表中同样的字段名表达不同的含义,甚至字段类型不同。 --视图命名规范: 格式:V_表A_表B_表C,V表示视图。 这个视图由几个表产生就用”_”连接几个表的名,如果表过多可以将表名适当简化,必须列出所有表名。 --存储过程命名规范: SP_表名_存储过程名(缩写),比如SP_User_Del,SP_User_AddData。

数据结构第6章树练习

void PreOrder_Nonrecursive(Bitree T)//先序遍历二叉树的非递归算法 { InitStack(S); Push(S,T); //根指针进栈 while(!StackEmpty(S)) { while(Gettop(S,p)&&p) { visit(p->data); push(S,p->lchild); } //向左走到尽头 pop(S,p); if(!StackEmpty(S)) { pop(S,p); push(S,p->rchild); //向右一步 } }//while }//PreOrder_Nonrecursive 一、下面是有关二叉树的叙述,请判断正误 1.二叉树中每个结点的两棵子树的高度差等于1。() 2.二叉树中所有结点,如果不存在非空左子树,则不存在非空右子树。() 3.对于一棵非空二叉树,它的根结点作为第一层,则它的第i层上最多能有2i —1个结点。() 4.用二叉链表法(link-rlink)存储包含n个结点的二叉树,结点的2n个指针区域中有n+1个为空指针。() 5.具有12个结点的完全二叉树有5个度为2的结点。() 最快方法:用叶子数=[n/2]=6,再求n2=n0-1=5 6.二叉树是度为2的有序树() 7.完全二叉树一定存在度为1的结点() 8.深度为K的二叉树中结点总数≤2k-1() 9.由一棵二叉树的先序序列和后序序列可以惟一确定它() 10.完全二叉树中,若一个结点没有左孩子,则它必是树叶()

11.用二叉链表存储n个结点的二叉树时,结点的2n个指针中有n+1个空指针()12.完全二叉树的存储结构通常采用顺序存储结构() 13.哈夫曼树是带权路径长度最短的树,路径上权值较大的结点离根较近()14.在中序线索二叉树中,每一非空的线索均指向其祖先结点() 二、填空 1. 一棵具有257个结点的完全二叉树,它的深度为。 2. 用5个权值{3, 2, 4, 5, 1}构造的哈夫曼(Huffman)树的带权路径长度是 3.深度为H 的完全二叉树至少有_____________个结点;至多有_____________个结点4.已知二叉树有50个叶子结点,则该二叉树的总结点数至少是_____________。 5. n(n大于1)个结点的各棵树中,其深度最小的那棵树的深度是_____________。它共有_____________个叶子结点和_____________个非叶子结点,其中深度最大的那棵树的深度是_____________,它共有_____________个叶子结点和_____________个非叶子结点。 三、单项选择题 1.有关二叉树下列说法正确的是() A)二叉树的度为2 B)一棵二叉树的度可以小于2 C)二叉树中至少有一个结点的度为2 D)二叉树中任何一个结点的度都为2 2.二叉树的第I层上最多含有结点数为() A)2I B)2I-1-1 C)2I-1D)2I-1 3.具有10个叶结点的二叉树中有()个度为2的结点 A)8 B)9 C)10 D)11 4.在下述结论中,正确的是() ①只有一个结点的二叉树的度为0; ②二叉树的度为2; ③二叉树的左右子树可任意交换; ④深度为K的完全二叉树的结点个数小于或等于深度相同的满二叉树。 A)①②③B)②③④C)②④D)①④ 5.由3 个结点可以构造出多少种不同的二叉树?() A)2 B)3 C)4 D)5 6.引入二叉线索树的目的是()

销售管理系统数据库设计

某制造企业销售管理系统数据库设计 一、需求分析 (一)业务流程: 1、销售部统计商品信息,向客户发布商品信息。 2、客户根据销售部发布的商品信息,向销售部发送订单。 3、销售部将订单发送给主管部门审核。 4、主管部门对订单进行核对: (1)如果不批准订单,主管部门向客户发布不批准的信息; (2)如果批准,主管部门向客户发布批准的信息;销售部获取批准的订单,核对客户信息,登记新客户的基本资料或修改原有客户的基本资料,同时及时发布商品修改后的信息;生产部门接受订单,生产客户所需的商品,生产完成后,将发货单与商品一同发出。 5、客户确认发货单。 (二)数据流程图 员客客 填写上报核对确认 P3发货P2订单基本信息处理订单P1基本处理处理信息 客户信息员工信息 销售管理系统第一层数据流程图

第二层数据流程图: 核对员工客户上报填写 客P1.1员P1.2 户信息工信息 客户信息员工信息 P1 基本信息 客主管部 订单数审P2.P2.P2.理订核订预订订下

发货确认预订单商品信息订单 信贷状况客户 P2订单处理 (三)数据字典 1、订单号数据项可以描述如下 : 数据项 : 订单号 含义说明 : 唯一标识每张订单 别名 : 订单编号 类型 : 字符型 长度 : 4 取值范围 : 0000至 9999 取值含义 : 前 2 位标别所在地区,后 2 位按顺序编号 与其他数据项的逻辑关系 :唯一识别订单 2、商品信息是该系统中的一个重要数据结构,它可以描述如下 : 数据结构 : 商品信息 含义说明 : 是销售管理系统的重要数据结构,定义了销售商品的具体信息组成 : 产品号,产品名,单价,重量 3、数据流“订单数据可描述如下 : 数据流 : 订单数据 说明 : 客户选购商品所下的初始订单 数据流来源 : 客户 数据流去向 : 接受订单 组成 : 客户基本信息+商品编号+数量等 平均流量 : 5张/天 高峰期流量 : 100张/天 4、数据存储“订单可描述如下 : 数据存储 : 订单表 说明 : 记录每张订单的具体情况 流入数据流 : 订单处理 流出数据流 : …… 订单号,客户编号,产品,数量,单价等 : 组成 数据量 : 每年2000张 存取方式 : 随机存取 5、处理过程“接收订单尠可描述如下 : 处理过程 : 接收订单 说明 : 核准客户所下订单 输入 : 订单数据,商品信息,主管审批 输出 : 核对订单至主管部门,是否确认信息给客户 处理 : 接收到客户订购产品的初始订单后,根据商品信息以及客户以往

网上书店数据库设计

网上书店 数据库设计说明书 拟制人毕泽羽 审核人____ 刘春___________ 批准人______________________ [2012年7月10日]

第一章:引言 1.1编写目的 计算机的发明是人类历史上的一大创举,随之衍生的互联网成为当今人类社会信息交流的主要通道。电子商务作为互联网的一部分在近年来得到了长足的发展。电子商务网站是以因特网开放的网络环境为基础,基于浏览器/服务器应用方式,买卖双方通过互联网进行各种商贸活动,实现消费者的网上购物、商户之间的网上交易和在线电子支付,以及各种商务活动、交易活动、金融活动和相关的综合服务活动的一种新型的商业运营模式。 1.2背景 随着各种网络技术的发展,Internet对人类生活的影响越来越大。随着信息化社会的发展,信息的交流越的越来越容易,但信息的爆炸式增长。给人们从大量信息中挑选出所自己需要的信息带来了难度人们对计算机的智能化需求越来越高 互联网的快速发展,电脑的普及,为适应人们快速的生活节奏,提供了条件。电子商务的概念也随之产生。相比传统的零售业务,电子商务不管是在地域上、时间上还是经济上都优于传统业务,但因其以开放的互联网为基础,存在一定的局限性。随着互联网技术的进一步发展,电子商务正以一种惊人的速度发展着 网上书店购物系统,是以网络为媒介,通过创建一个虚拟的书店,

用户通过网络查询自己所需要的书籍信息,避免了顾客自己实地挑选商品的烦琐过程,使用户的购物过程变得轻松、快捷、方便,与高效。非常适合现代人快节奏的生活习惯;同时又能有效地控制“商场”运营的成本,开辟了一个新的销售渠道。 通过建立网上书店购物系统,可以提高企业的生产效率,降低经营成本,优化资源配置,从而实现企业的利润最大化由。于网上图书交易打破了图书经销的规则及图书经营模式,越来越的网上书店的出现,要想很好的发展下去,就需要开发一套行之有效的网上图书交易系统。 第二章:可行性分析 2.1可行性目标 网上书店购物系统是基于B/S模式,通过对一些典型电子商务网站的考察、分析,并结合企业要求开发的一套信息化管理系统。(1)为顾客提供一个网络服务平台:使顾客通过互联网随时随地查 询书籍信息它打破了时空界限,能通过网络实现从浏览商品到购买商品的全部过程。 (2)为工作人员提供一个工作平台:员工可在网上完成日常事务, 实现无纸化办公。即职工通过计算机完成采集信息,处理信息,分析信息等工作。 (3)为管理者提供一个控制平台:控制平台就是管理者能通过业务 控制平台,通过对工作流进行设置与监控,从而能严格控制企

数据结构课后习题答案1--7

习题1 1.解释以下概念:逻辑结构,存储结构,操作,数据结构,数据结构的表示,数据结构的实现,抽象数据类型,算法,算法的时间代价,算法的空间代价,大O 表示法。 2.理解以下关系:算法与数据结构的关系;数据结构与抽象数据类型的关系;算法和数据结构与问题求解的关系。 3. 写出下列程序段的平均情况下的时间代价O表示式。 (1) a=b+c; d=a+e (2) sum=0; for (i=0;i<3;i++) for (j=0;j=(y+1)*(y+1)) y++; (4) s=0; if(even(n)) for (i=0;i0){ if(x>lO0){ x=x-10; n=n-1; }else x=x+1; } 4.对于给定的n个元素,可以构造出的逻辑结构有,,,四种。

5.按增长率由小到大的顺序排列下列各函数: 2100, (3 2) n, (2 3) n, (4 3) n, n n, n3 2 , n!, n, log2n, n/log2n 习题2 2.1已知L是无头结点的单链表,且p结点既不是第一个结点,也不是最后一个结点,试从下列提供的语句中选出合适的语句序列: (1)在p结点之后插入s结点: (2)在p结点之前插入s结点: (3)在单链表L首插入s结点: (4)在单链表L后插入s结点: 提供的语句: ①p->next=s;②p->next=p->next->next; ③p->next=s->next;④s->next=p->next; ⑤s->next=L;⑥s->next=p; ⑦s->next=NULL;⑧q=p; ⑨while(p->next!=q)p=p->next;⑩while(p->next!=NULL)p=p->next; ⑾p=q;⑿p=L; ⒀L=s;⒁L=p; 2.2已知p结点是某双向链表的中间结点,试从下列提供的语句中选出合适的语句序列。 (1)在p结点之后插入s结点: (2)在p结点之前插入s结点: (3)删除p结点的直接后继结点: (4)删除p结点的直接前驱结点: 提供的语句: ①p->next=p->next->next;②p->prior=p->prior->prior; ③p->next=s;④p->prior=s; ⑤s->next=p;⑥s->prior=p; ⑦s->next=p->next;⑧s->prior=p->prior; ⑨p->prior->next=p->next;⑩p->prior->next=p; ⑾p->next->prior=p;⑿p->next->prior=s; ⒀p->prior->next=s;⒁p->next->prior=p->prior; ⒂q=p->next;⒃q=p->prior; ⒄free(p);⒅free(q); 2.3试编写一个计算头结点指针为L的单链表长度的算法。 2.4试编写一个将单循环链表逆置的算法。

数据结构第六章树和二叉树习题及答案

习题六树和二叉树 一、单项选择题 1.以下说法错误的是() A. 树形结构的特点是一个结点可以有多个直接前趋 B. 线性结构中的一个结点至多只有一个直接后继 C. 树形结构可以表达(组织)更复杂的数据 D. 树(及一切树形结构)是一种”分支层次”结构 E. 任何只含一个结点的集合是一棵树 2. 下列说法中正确的是() A. 任何一棵二叉树中至少有一个结点的度为2 B. 任何一棵二叉树中每个结点的度都为2 C. 任何一棵二叉树中的度肯定等于2 D. 任何一棵二叉树中的度可以小于2 3. 讨论树、森林和二叉树的关系,目的是为了() A. 借助二叉树上的运算方法去实现对树的一些运算 B. 将树、森林按二叉树的存储方式进行存储 C. 将树、森林转换成二叉树 D. 体现一种技巧,没有什么实际意义4.树最适合用来表示() A. 有序数据元素 B .无序数据元素 C.元素之间具有分支层次关系的数据 D .元素之间无联系的数据 5.若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是()A.9 B .11 C .15 D .不确定 6. 设森林F中有三棵树,第一,第二,第三棵树的结点个数分别为M1, M2和M3与森林F 对应的二叉树根结点的右子树上的结点个数是()。 A.M1 B .M1+M2 C .M3 D .M2+M3 7.一棵完全二叉树上有1001个结点,其中叶子结点的个数是() A.250 B .500 C .254 D .505 E .以上答案都不对 8. 设给定权值总数有n 个,其哈夫曼树的结点总数为() A. 不确定 B . 2n C . 2n+1 D . 2n-1 9.二叉树的第I 层上最多含有结点数为() I I-1 I-1 I A.2I B .2 I-1 -1 C .2 I-1 D .2 I -1 10.一棵二叉树高度为h, 所有结点的度或为0,或为2,则这棵二叉树最少有()结点A.2h B .2h-1 C .2h+1 D .h+1 11. 利用二叉链表存储树,则根结点的右指针是()。 A.指向最左孩子 B .指向最右孩子 C .空D .非空 12.已知一棵二叉树的前序遍历结果为为()。 A.CBEFDA B .FEDCBA 13.已知某二叉树的后序遍历序列是()。 ABCDEF中序遍历结果 为 C .CBEDFA D dabec, 中序遍历序列是 CBAEDF则后序遍历的结 果 .不定 debac , 它的前序遍历是

高校图书管理系统数据库物理结构设计

高校图书管理系统数据库物理结构设计 一、设计前要了解的信息(该部分不出现在设计说明书中) 1、数据库的查询事务 (1)按卡号查询读者信息及借书信息(查询读者借书信息时涉及读者、图书和借还关系的连接操作,连接属性:卡号、书号)。 (2)按姓名查询读者信息及借书信息(查询读者借书信息时涉及读者、图书和借还关系的连接操作,连接属性:卡号、书号)。 (3)按书名查询图书信息。 (4)按作者和出版社查询图书信息。 (5)按出版社统计图书信息。 (6)按书号查询图书被借信息(查询图书被借信息时涉及读者、图书和借还关系的连接操作,连接属性:卡号、书号)。 (7)按书名查询图书被借信息(查询图书被借信息时涉及读者、图书和借还关系的连接操作,连接属性:卡号、书号)。 2、数据库的更新事务 (1)办理借书证(读者注册)。 (2)借书(增加借还记录、修改图书的库存数量)。 (3)还书(修改借还记录、修改图书的库存数量)。 3、查询事务的操作频率和性能要求 (1)按卡号查询读者信息及借书信息 操作频率:200次/天 性能要求:3s内完成 (2)按姓名查询读者信息及借书信息 操作频率:80次/天 性能要求:5s内完成 (3)按书名查询图书信息 操作频率:250次/天 性能要求:3s内完成 (4)按作者和出版社查询图书信息 操作频率:250次/天 性能要求:3s内完成 (5)按出版社统计图书信息 操作频率:1次/月 性能要求:10s内完成 (6)按书号查询图书被借信息 操作频率:10次/月

性能要求:6s内完成 (7)按书名查询图书被借信息 操作频率:10次/月 性能要求:6s内完成 二、设计结果 1、数据库名称 Book_Borrow 2、关系表 主键:lbdm 主键:kh 索引:xm(升序) check约束:性别的取值只能为男或女 default约束:性别默认为男

书店管理系统数据库课程设计

书店管理系统数据库课 程设计 IMB standardization office【IMB 5AB- IMBK 08- IMB 2C】

目录1引言 (4) 课题背景............................................................................. ....... . (4) 课程设计目的 (4) 课程设计任务 (4) 2系统结构分析............................................................................ (5) 需求分析 (5) 系统模块图.............................................................................. . (6) 3数据库设计........................................................................................ (9) 概念结构设计........................................................................... (9) 逻辑结构设计........................................................................... (10) 数据库表的建立 (10) 4系统实现 (12) 数据库的连接 (12) 系统功能模块设计 (13) 5功能测试............................................................................ (15) 订单界面................................................................... (15) 各功能模块的测试 (16) 6结束语................................................................... (18) 致谢 (19) 参考文献 (20)

数据结构第6章二叉树自测题参考答案

第6章树和二叉树自测卷解答 一、下面是有关二叉树的叙述,请判断正误 (√)1. 若二叉树用二叉链表作存贮结构,则在n个结点的二叉树链表中只有n—1个非空指针域。(×)2.二叉树中每个结点的两棵子树的高度差等于1。 (√)3.二叉树中每个结点的两棵子树是有序的。 (×)4.二叉树中每个结点有两棵非空子树或有两棵空子树。 (×)5.二叉树中每个结点的关键字值大于其左非空子树(若存在的话)所有结点的关键字值,且小于其右非空子树(若存在的话)所有结点的关键字值。(应当是二叉排序树的特点) (×)6.二叉树中所有结点个数是2k-1-1,其中k是树的深度。(应2i-1) (×)7.二叉树中所有结点,如果不存在非空左子树,则不存在非空右子树。 (×)8.对于一棵非空二叉树,它的根结点作为第一层,则它的第i层上最多能有2i—1个结点。(应2i-1)(√)9.用二叉链表法(link-rlink)存储包含n个结点的二叉树,结点的2n个指针区域中有n+1个为空指针。 (正确。用二叉链表存储包含n个结点的二叉树,结点共有2n个链域。由于二叉树中,除根结点外,每一个结点有且仅有一个双亲,所以只有n-1个结点的链域存放指向非空子女结点的指针,还有n+1个空指针。)即有后继链接的指针仅n-1个。 (√)10. 具有12个结点的完全二叉树有5个度为2的结点。 最快方法:用叶子数=[n/2]=6,再求n2=n0-1=5 二、填空(每空1分,共15分) 1.由3个结点所构成的二叉树有5种形态。 2. 一棵深度为6的满二叉树有n1+n2=0+ n2= n0-1=31 个分支结点和26-1 =32个叶子。 注:满二叉树没有度为1的结点,所以分支结点数就是二度结点数。 3.一棵具有257个结点的完全二叉树,它的深度为9。 (注:用? log2(n) ?+1= ? 8.xx ?+1=9 4.设一棵完全二叉树有700个结点,则共有350个叶子结点。 答:最快方法:用叶子数=[n/2]=350 5. 设一棵完全二叉树具有1000个结点,则此完全二叉树有500个叶子结点,有499个度为2的结点,有1个结点只有非空左子树,有0个结点只有非空右子树。 答:最快方法:用叶子数=[n/2]=500 ,n2=n0-1=499。另外,最后一结点为2i属于左叶子,右叶子是空的,所以有1个非空左子树。完全二叉树的特点决定不可能有左空右不空的情况,所以非空右子树数=0. 6. 一棵含有n个结点的k叉树,可能达到的最大深度为n,最小深度为2。 答:当k=1(单叉树)时应该最深,深度=n(层);当k=n-1(n-1叉树)时应该最浅,深度=2(层),但不包括n=0或1时的特例情况。教材答案是“完全k叉树”,未定量。) 7.二叉树的基本组成部分是:根(N)、左子树(L)和右子树(R)。因而二叉树的遍历次序有六种。最常用的是三种:前序法(即按N L R次序),后序法(即按L R N次序)和中序法(也称对称序法,即按L N R次序)。这三种方法相互之间有关联。若已知一棵二叉树的前序序列是BEFCGDH,中序序列是FEBGCHD,则它的后序序列必是 F E G H D C B。 解:法1:先由已知条件画图,再后序遍历得到结果; 法2:不画图也能快速得出后序序列,只要找到根的位置特征。由前 序先确定root,由中序先确定左子树。例如,前序遍历BEFCGDH中, 根结点在最前面,是B;则后序遍历中B一定在最后面。 法3:递归计算。如B在前序序列中第一,中序中在中间(可知左 右子树上有哪些元素),则在后序中必为最后。如法对B的左右子树同

数据结构课后习题及解析第六章

第六章习题 1.试分别画出具有3个结点的树和3个结点的二叉树的所有不同形态。 2.对题1所得各种形态的二叉树,分别写出前序、中序和后序遍历的序列。 3.已知一棵度为k的树中有n1个度为1的结点,n2个度为2的结点,……,n k个度为k的结点,则该树中有多少个叶子结点并证明之。 4.假设一棵二叉树的先序序列为EBADCFHGIKJ,中序序列为ABCDEFGHIJK,请画出该二叉树。5.已知二叉树有50个叶子结点,则该二叉树的总结点数至少应有多少个? 6.给出满足下列条件的所有二叉树: ①前序和后序相同 ②中序和后序相同 ③前序和后序相同 7.n个结点的K叉树,若用具有k个child域的等长链结点存储树的一个结点,则空的Child域有多少个? 8.画出与下列已知序列对应的树T: 树的先根次序访问序列为GFKDAIEBCHJ; 树的后根次序访问序列为DIAEKFCJHBG。

9.假设用于通讯的电文仅由8个字母组成,字母在电文中出现的频率分别为: 0.07,0.19,0.02,0.06,0.32,0.03,0.21,0.10 请为这8个字母设计哈夫曼编码。 10.已知二叉树采用二叉链表存放,要求返回二叉树T的后序序列中的第一个结点指针,是否可不用递归且不用栈来完成?请简述原因. 11. 画出和下列树对应的二叉树: 12.已知二叉树按照二叉链表方式存储,编写算法,计算二叉树中叶子结点的数目。 13.编写递归算法:对于二叉树中每一个元素值为x的结点,删去以它为根的子树,并释放相应的空间。 14.分别写函数完成:在先序线索二叉树T中,查找给定结点*p在先序序列中的后继。在后序线索二叉树T中,查找给定结点*p在后序序列中的前驱。 15.分别写出算法,实现在中序线索二叉树中查找给定结点*p在中序序列中的前驱与后继。16.编写算法,对一棵以孩子-兄弟链表表示的树统计其叶子的个数。

相关文档
最新文档