第六章 树

第六章  树
第六章  树

第六章树与二叉树

1.列出右图所示二叉树的叶结点、分支结点和每个结点的层次。

【解答】

二叉树的叶结点有⑥、⑧、⑨。分支结点有①、②、③、④、⑤、⑦。结点①的层次为0;结点②、③的层次为1;结点④、⑤、⑥的层次为2;结点⑦、⑧的层次为3;结点⑨的层次为4。

2.使用(1) 顺序表示和(2) 二叉链表表示法,分别画出右图所示二叉树的存储表示。

【解答】

在结点个数为n (n>1)的各棵树中,高度最小的树的高度是多少?它有多少个叶结点?多少个分支结点?高度最大的树的高度是多少?它有多少个叶结点?多少个分支结点?

【解答】

结点个数为n时,高度最小的树的高度为1,有2层;它有n-1个叶结点,1个分支结点;高度最大的树的高度为n-1,有n层;它有1个叶结点,n-1个分支结点。

3.试分别画出具有3个结点的树和3个结点的二叉树的所有不同形态。

【解答】

具有3个结点的树具有3个结点的二叉树

4.如果一棵树有n1个度为1的结点, 有n2个度为2的结点, … , nm个度为m的结点, 试问有多少个度为0的结点? 试推导之。

【解答】

总结点数n = n0 + n1 + n2 + … + nm

总分支数e = n-1 = n0 + n1 + n2 + … + nm-1

= m*nm + (m-1)*nm-1 + … + 2*n2 + n1

5.试分别找出满足以下条件的所有二叉树:

(1) 二叉树的前序序列与中序序列相同;

(2) 二叉树的中序序列与后序序列相同;

(3) 二叉树的前序序列与后序序列相同。

【解答】

(1) 二叉树的前序序列与中序序列相同:空树或缺左子树的单支树;

(2) 二叉树的中序序列与后序序列相同:空树或缺右子树的单支树;

(3) 二叉树的前序序列与后序序列相同:空树或只有根结点的二叉树。

6.若用二叉链表作为二叉树的存储表示,试针对以下问题编写递归算法:

(1) 统计二叉树中叶结点的个数。

(2) 以二叉树为参数,交换每个结点的左子女和右子女。

【解答】

(1) 统计二叉树中叶结点个数

int leaf ( BinTreeNode * ptr )

{

if ( ptr == NULL ) return 0;

else if ( ptr->leftChild == NULL && ptr->rightChild == NULL ) return 1;

else return leaf ( ptr->leftChild ) + leaf ( ptr->rightChild );

}

(2) 交换每个结点的左子女和右子女

void exchange ( BinTreeNode * ptr )

{

BinTreeNode * temp;

if ( ptr->leftChild != NULL || ptr->rightChild != NULL )

{

temp = ptr->leftChild;

ptr->leftChild = ptr->rightChild;

ptr->rightChild = temp;

exchange ( ptr->leftChild );

exchange ( ptr->rightChild );

}

}

7.一棵高度为h的满k叉树有如下性质: 第h层上的结点都是叶结点, 其余各层上每个结点都有k棵非空子树, 如果按层次自顶向下, 同一层自左向右, 顺序从1开始对全部结点进行编号, 试问:

(1) 各层的结点个数是多少?

(2) 编号为i的结点的父结点(若存在)的编号是多少?

(3) 编号为i的结点的第m个孩子结点(若存在)的编号是多少?

(4) 编号为i的结点有右兄弟的条件是什么? 其右兄弟结点的编号是多少?

(5) 若结点个数为n, 则高度h是n 的什么函数关系?

8.已知一棵二叉树的前序遍历的结果是ABECDFGHIJ, 中序遍历的结果是EBCDAFHIGJ, 试画出这棵二叉树。

【解答】

当前序序列为ABECDFGHIJ,中序序列为EBCDAFHIGJ时,逐步形成二叉树的过程如下图所示

9.已知一棵树的先根次序遍历的结果与其对应二叉树表示(长子-兄弟表示)的前

序遍历结果相同, 树的后根次序遍历结果与其对应二叉树表示的中序遍历结果

相同。试问利用树的先根次序遍历结果和后根次序遍历结果能否唯一确定一棵树? 举例说明。

【解答】

因为给出二叉树的前序遍历序列和中序遍历序列能够唯一地确定这棵二叉树,因此,根据题目给出的条件,利用树的先根次序遍历结果和后根次序遍历结果能够唯一地确定一棵树。

例如,对于题中所示的树

对应二叉树的前序序列为1, 2, 3, 4, 5, 6, 8, 7;

中序序列为3, 4, 8, 6, 7, 5, 2, 1。

原树的先根遍历序列为1, 2, 3, 4, 5, 6, 8, 7;

后根遍历序列为3, 4, 8, 6, 7, 5, 2, 1。

10.给定权值集合{15, 03, 14, 02, 06, 09, 16, 17}, 构造相应的霍夫曼树, 并计算它的带权外部路径长度。

【解答】

此树的带权路径长度WPL = 229。

11.假定用于通信的电文仅由8个字母c1, c2, c3, c4, c5, c6, c7, c8组成, 各字母在电文中出现的频率分别为5, 25, 3, 6, 10, 11, 36, 4。试为这8个字母设计不等长Huffman编码, 并给出该电文的总码数。

【解答】已知字母集{ c1, c2, c3, c4, c5, c6, c7, c8 },频率{5, 25, 3, 6, 10, 11, 36, 4 },则Huffman编码为

《数据结构》习题汇编06第六章树和二叉树试题

第六章树和二叉树试题 一、单项选择题 1.树中所有结点的度等于所有结点数加()。 A. 0 B. 1 C. -1 D. 2 2.在一棵树中,()没有前驱结点。 A. 分支结点 B. 叶结点 C. 根结点 D. 空结点 3.在一棵二叉树的二叉链表中,空指针域数等于非空指针域数加()。 A. 2 B. 1 C. 0 D. -1 4.在一棵具有n个结点的二叉树中,所有结点的空子树个数等于()。 A. n B. n-1 C. n+1 D. 2*n 5.在一棵具有n个结点的二叉树的第i层上(假定根结点为第0层,i大于等

于0而小于等于树的高度),最多具有()个结点。 A. 2i B. 2i+1 C. 2i-1 D. 2n 6.在一棵高度为h(假定根结点的层号为0)的完全二叉树中,所含结点个数不 小于()。 A. 2h-1 B. 2h+1 C. 2h-1 D. 2h 7.在一棵具有35个结点的完全二叉树中,该树的高度为()。假定空树 的高度为-1。 A. 5 B. 6 C. 7 D. 8 8.在一棵具有n个结点的完全二叉树中,分支结点的最大编号为()。假 定树根结点的编号为0。 A. ?(n-1)/2? B. ?n/2? C. ?n/2? D. ?n/2? -1 9.在一棵完全二叉树中,若编号为i的结点存在左孩子,则左子女结点的编号 为()。假定根结点的编号为0

A. 2i B. 2i-1 C. 2i+1 D. 2i+2 10.在一棵完全二叉树中,假定根结点的编号为0,则对于编号为i(i>0)的结 点,其双亲结点的编号为()。 A. ?(i+1)/2? B. ?(i-1)/2? C. ?i/2? D. ?i/2? -1 11.在一棵树的左子女-右兄弟表示法中,一个结点的右孩子是该结点的() 结点。 A. 兄弟 B. 子女 C. 祖先 D. 子孙 12.在一棵树的静态双亲表示中,每个存储结点包含()个域。 A. 1 B. 2 C. 3 D. 4 13.已知一棵二叉树的广义表表示为a (b (c), d (e ( , g (h) ), f ) ),则 该二叉树的高度为()。假定根结点的高度为0。 A. 3 B. 4 C. 5 D. 6

结构设计原理 第六章 受压构件 习题及答案

第六章受压构件正截面承截力 一、选择题 1.轴心受压构件在受力过程中钢筋和砼的应力重分布均() A.存在;B. 不存在。 2.轴心压力对构件抗剪承载力的影响是() A.凡有轴向压力都可提高构件的抗剪承载力,抗剪 承载力随着轴向压力的提高而提高; B.轴向压力对构件的抗剪承载力有提高作用,但是 轴向压力太大时,构件将发生偏压破坏; C.无影响。 3.大偏心受压构件的破坏特征是:() A.靠近纵向力作用一侧的钢筋和砼应力不定,而另 一侧受拉钢筋拉屈; B.远离纵向力作用一侧的钢 筋首先被拉屈,随后另一侧钢筋压屈、砼亦被压碎; C.远离纵向力作用一侧的钢筋应力不定,而另一侧 钢筋压屈,砼亦压碎。 4.钢筋砼柱发生小偏压破坏的条件是:() AHA12GAGGAGAGGAFFFFAFAF

A.偏心距较大,且受拉钢筋配置不多; B.受拉钢筋配置过少; C.偏心距较大,但受压钢筋配置过多; D.偏心距较小,或偏心距较大,但受拉钢筋配置过多。 5.大小偏压破坏的主要区别是:() AHA12GAGGAGAGGAFFFFAFAF

AHA12GAGGAGAGGAFFFFAFAF A .偏心距的大小; B .受压一侧砼是否达到极限压应变; C .截面破坏时受压钢筋是否屈服; D .截面破坏时受拉钢筋是否屈服。 6.在设计双筋梁、大偏压和大偏拉构件中要求2s x a '≥的条件是为了:() A .防止受压钢筋压屈; B .保证受压钢筋在构件破坏时能达到设计屈服强度y f '; C .避免y f '> 400N/mm 2 。 7.对称配筋的矩形截面偏心受压构件(C20,HRB335级钢),若经计算,0.3,0.65i o e h ηξ>=,则应按( )构件计算。 A .小偏压; B. 大偏压; C. 界限破坏。 8.对b ×h o ,f c ,f y ,y f '均相同的大偏心受压截面,若已知M 2>M 1,N 2>N 1,则在下面四组内力中要求配筋最多的一组内力是() A .(M 1,N 2); B.(M 2,N 1); C. ( M 2,N 2); D. (M 1,N 1)。

第6章树和二叉树习题

第六章 树和二叉树 一、选择题 1.算术表达式a+b*(c+d/e )转为后缀表达式后为( B ) A .ab+cde/* B .abcde/+*+ C .abcde/*++ D .2. 设有一表示算术表达式的二叉树(见下图), 它所表示的算术表达式是( C ) 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 3. 设树T 的度为4,其中度为1,2,3和4的结点个数分别为4,2,1 ,1 则T 中的叶子数为( D ) A .5 B .6 C .7 D .8 4. 在下述结论中,正确的是( D ) ①只有一个结点的二叉树的度为0; ②二叉树的度为2; ③二叉树的左右子树可任意 交换; ④深度为K 的完全二叉树的结点个数小于或等于深度相同的满二叉树。 A .①②③ B .②③④ C .②④ D .①④ 5. 设森林F 对应的二叉树为B ,它有m 个结点,B 的根为p,p 的右子树结点个数为n,森林F 中第一棵树的结点个数是( A ) A .m-n B .m-n-1 C .n+1 D .条件不足,无法确定 6.若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是( B ) A .9 B .11 C .15 D .不确定 7.设森林F 中有三棵树,第一,第二,第三棵树的结点个数分别为M1,M2和M3。与森林F 对应的二叉树根结点的右子树上的结点个数是( D )。 A .M1 B .M1+M2 C .M3 D .M2+M3 8.一棵完全二叉树上有1001个结点,其中叶子结点的个数是( E ) A . 250 B . 500 C .254 D .505 E .以上答案都不对 9. 有关二叉树下列说法正确的是( B ) A .二叉树的度为2 B .一棵二叉树的度可以小于2 C .二叉树中至少有一个结点的度为2 D .二叉树中任何一个结点的度都为2 10.二叉树的第I 层上最多含有结点数为( C ) A .2I B . 2I-1-1 C . 2I-1 D .2I -1 11. 一个具有1025个结点的二叉树的高h 为( C ) A .11 B .10 C .11至1025之间 D .10至1024之间 12.一棵二叉树高度为h,所有结点的度或为0,或为2,则这棵二叉树最少有( B )结点 A .2h B .2h-1 C .2h+1 D .h+1 13. 一棵树高为K 的完全二叉树至少有( C )个结点 A .2k –1 B. 2k-1 –1 C. 2k-1 D. 2 k 14.对二叉树的结点从1开始进行连续编号,要求每个结点的编号大于其左、右孩子的编号,同一结点的左右孩子中,其左孩子的编号小于其右孩子的编号,可采用( C )次序的遍历 实现编号。 A .先序 B. 中序 C. 后序 D. 从根开始按层次遍历 15.一棵二叉树的前序遍历序列为ABCDEFG ,它的中序遍历序列可能是( B )

数据结构:树形结构完整代码,各种遍历方法,直接能跑

#include #include #define TElemType int typedef struct BiTNode { TElemType data; struct BiTNode *lchild, *rchild; } BiTNode, *BiTree; typedef BiTree DataType; typedef struct queuenode{ DataType data; struct queuenode *next; } QueueNode; //LINKQUEUE //HEAD POINTER, AND REAR POINTER ARE A V ALIBALE typedef struct { QueueNode *front; QueueNode *rear; } LinkQueue; int InitQueue(LinkQueue *Q); int DestroyQueue(LinkQueue *Q); int QueueEmpty(LinkQueue Q); int EnQueue(LinkQueue *Q, DataType e); DataType DeQueue(LinkQueue *Q); int CreateBiTree(BiTree *T); int PreOrderTraverse(BiTree T, int (*visit)(TElemType e)); int PreOrderTraverse2(BiTree T, int (*visit)(TElemType e)); int InOrderTraverse(BiTree T, int (*visit)(TElemType e)); int InOrderTraverse2(BiTree T, int (*visit)(TElemType e)); int PostOrderTraverse(BiTree T, int (*visit)(TElemType e)); int PostOrderTraverse2(BiTree T, int (*visit)(TElemType e)); int LevelOrderTraverse(BiTree T, int (*visit)(TElemType e)); int printElem(TElemType e); int InitBiTree(BiTree *T); int DestroyBiTree(BiTree *T); int ClearBiTree(BiTree *T); int BiTreeEmpty(BiTree T); int BiTreeDepth(BiTree T);

数据结构第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.以下说法错误的是() 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. ( )大多由中层管理者来进行,主要是对组织内部的资源进行有效的组织和利用,以提高管理效力。 A. 业务性决策 B. 战略性决策 C. 战术性决策 D. 程序化决策 2. 决策树适合下列哪种类型的决策?( ) A. 确定型决策 B. 非确定型决策 C. 风险型决策 D. 非程序化决策 3. 有一种说法认为“管理就是决策”,这实际上意味着( )。 A. 对于管理者来说只要善于决策就一定能够获得成功 B. 管理的复杂性和挑战性都是由于决策的复杂性而导致的 C. 决策能力对于管理的成功具有特别重要的作用 D. 管理首先需要的就是面对复杂的环境作出决策 4. 波士顿矩阵中的瘦狗业务是指( )。 A. 高增长、低市场份额 B. 低增长、低市场份额 C. 高增长、高市场份额 D. 低增长、高市场份额 5. 某企业生产某产品,固定成本8万元,单位可变成本每件5元,该产品每件售价13元,则产品的盈亏平衡点产量是( )。

A. 8000件 B. 10000件 C. 12000件 D. 20000件 参考答案:1.C; 2.C; 3.D; 4.B;5.B; 二、多项选择题 1. 以下属于主观决策法的主要有( )。 A. 头脑风暴法 B. 发散思维法 C. 德尔菲法 D. 定量决策法 E. 后悔值最小法 2. 下列选项中不属于企业短期决策的是( )。 A. 投资方向的选择 B. 人力资源的开发 C. 组织规模的确定 D. 企业日常营销 E. 本季度研发支出的投入 3. 决策的影响因素有( )。 A. 环境 B. 过去的决策 C. 决策者的风险态度 D. 组织成员对组织变化所持的态度 E. 决策者的素质 4. 量本利分析法中的所谓“量、本、利”是指( )。 A. 产量

树形目录结构文件系统

操作系统课程设计 课程名称操作系统 题目名称树形目录结构文件系统学生学院 专业班级 学号 学生姓名 指导教师 2011 年1 月13 日

目录 一、课程设计目的 (3) 二、设计概要 (3) 三、详细设计 (3) 3.1数据结构设计 (4) 3.2程序功能模块图 (5) 3.2.1 文件管理系统主功能图示 (5) 3.2.2 用户界面管理图示 (5) 3.2.3 新建文件图示 (6) 3.2.4 复制、剪切文件图示 (6) 3.2.5 粘贴文件图示 (7) 3.2.6 删除文件图示 (7) 四、程序界面设计及运行结果分析 (8) 五、课程设计总结 (12) 六、参考文献 (12)

一、课程设计目的: 操作系统课程设计是配合操作系统课开设的专业基础必修课。本课程通过设计实现一个综合作业,培养学生程序设计的方法和技巧,提高学生编制清晰、合理、可读性好的系统程序的能力,加深对操作系统课程的理解。 二、设计概要: (1) 运行平台: Windows系列 (2) 设计平台: Microsoft Visual Studio 2008 (3) 存储系统:XML文件 (4) 运行需求: .NET Framework 2.0版本以上 (5) 软件简介: 文件管理系统 (6) 功能简介: A、提供用户登录注销功能 B、多用户管理,多级目录形式,文件可互相共享. C、智能化的树形和列表界面操作(包括图标、列表以及详细显示方 式,方便的菜单,右击菜单,工具栏等) D、模拟Windows多种实用功能 (7)本系统参照了windwos文件管理结构,实现了其大部分常用功能,采用多用户系统实现了文件夹与文件的创建,打开,读写,删除,关闭,剪切,复制,粘贴,重命名,刷新,查看,排列图标、属性设置、模糊搜索以及多用户文件共享功能。 三、详细设计: 3.1、数据结构设计: 本程序采用XML文件形式管理文件信息,XML文件适合小数据块的存储和传输,.NET为XML提供了丰富的类库,更加方便了操作使用,详细数据设计思路如下: XML文件编码声明: 首节点: 用户设计: 两个数据段:用户名和用户密码; XML实现: 文件夹设计: 一个数据段:文件夹名称 XML实现: 文件设计: 四个数据段:文件名称、文件保护码、文件空间和文件共享性

第六章树的习题

六、树和二叉树 一、选择题: 1、在具有n个结点的完全二叉树中,结点i(i>1)的父结点是(D ) A.2i B.不存在C.2i+1 D.? i/2? 3、下列陈述中正确的(A ) A.二叉树是度为2的有序树 B.二叉树中结点只有一个孩子时无左右之分 C.二叉树中必有度为2的结点 D.二叉树中最多只有两棵子树,并且有左右之分 4、以二叉链表作为二叉树的存储结构,在具有n个结点的二叉链表中(n>0),空链域的个数 为( C ) A.2n - 1 B.n - 1 C.n + 1 D.2n + 1 5、将一棵有100个结点的完全二叉树从上到下,从左到右依次对结点进行编号,根结点的 编号为1,则编号为49的结点的左孩子编号为(B ) A.99 B.98 C.50 D.48 6、在一棵具有五层的满二叉树中,结点总数为( A ) A.31 B.32 C.33 D.16 7、在一棵二叉树中,第5层上的结点数最多为(C ) A.8 B.15 C.16 D.32 8、由二叉树的(B)遍历,可以惟一确定一棵二叉树 A.前序和后序B.前序和中序C.后序D.中序 9、具有35个结点的完全二叉树的深度为( B )。 A.5 B.6 C.7 D.8 10、已知一棵二叉树的先序遍历序列为EFHIGJK,中序遍历序列为HFIEJGK,则该二叉树根的右子树的根是( C )。 A.E B. F C. G D. J 11、由4个结点构造出的不同的二叉树个数共有( C )。 A.8 B. 10 C.12 D.14 12、在完全二叉树中,如果一个结点是叶子结点,则它没有(D )。 A.左孩子结点 B. 右孩子结点 C.左、右孩子结点 D.左、右孩子结点和兄弟结点 13、深度为6的二叉树最多有( B )个结点。 A.64 B.63 C.32 D.31 14、二叉树使用二叉链表存储,若p指针指向二叉树的一个结点,当p->lchild=NULL时,则( A )。 A.p结点左儿子为空B.p结点有右儿子 C.p结点右儿子为空D.p结点有左儿子 15、在具有n个结点的完全二叉树中,若结点i有左孩子,则结点i的左孩子编号为( A )。 A.2i B.不存在C.2i+1 D.2i-1 16、将含100个结点的完全二叉树从根这一层开始,按从上到下从左到右依次对结点编号,

树形图(句法)

树形图详细讲解 1. Indicate the category of each word in the following sentences. a) The old lady suddenly left. Det A N Qual V b) The car stopped at the end of the road. Det N V P Det N P Det N c) The snow might have blocked the road. Det N Aux Aux V Det N d) He never appears quite mature. N Qual V Deg A 2. The following phrases include a head, a complement, and a specifier. Draw the appropriate tree structure for each. a) full of people AP A P N full of people b) a story about a sentimental girl NP NP PP Det N P NP Det A N a story about a sentimental girl c) often read detective stories VP Qual V NP A N often read detective stories

d) the argument against the proposals NP NP PP Det N P NP Det N the argument against the proposals e) move towards the window VP V PP P Det N move towards the window 3. Draw phrase structure trees for each of the following sentences. a) The jet landed. InflP(=S) NP Infl VP Det N Pst V The jet landed b) Mary became very ill. InflP(=S) NP Infl VP N Pst V AP Deg A Mary became very ill

第6章树和二叉树(2)

第六章树和二叉树 一、选择题 1.算术表达式a+b*(c+d/e)转为后缀表达式后为() A.ab+cde/* B.abcde/+*+ C.abcde/*++ D.abcde*/++ 2. 设森林F对应的二叉树为B,它有m个结点,B的根为p,p的右子树结点个数为n,森林F中第一棵树的结点个数是() A.m-n B.m-n-1 C.n+1 D.条件不足,无法确定 3.若度为m的哈夫曼树中,其叶结点个数为n,则非叶结点的个数为()。 A.n-1 B.?n/m?-1 C.?(n-1)/(m-1)? D.?n/(m-1)?-1 E.?(n+1)/(m+1)?-1 4.深度为h的满m叉树的第k层有()个结点。(1=

流程图 决策表 决策树习题及答案

1、已知产品出库管理的过程是:仓库管理员将提货人员的零售出库单上的数据登记到零售出库流水账上,并每天将零售出库流水账上当天按产品名称、规格分别累计的数据记入库存账台。请根据出库管理的过程画出它的业务流图。 产品出库管理业务流图 2、设产品出库量的计算方法是:当库存量大于等于提货量时,以提货量作为出库量;当库存量小于提货量而大于等于提货量的10%时,以实际库存量作为出库量;当库存量小于提货量的10%时,出库量为0(即提货不成功)。请表示出库量计算的决策树。 3、有一工资处理系统,每月根据职工应发的工资计算个人收入所得税,交税额算法如下: 若职工月收入=<800元,不交税; 若800职工<职工月收入=<1300元,则交超过800元工资额的5%;

若超过1300元,则交800到1300元的5%和超过1300元部分 的10%。 试画出计算所得税的决策树和决策表。 1、解:(1)决策树 设X为职工工资,Y为职工应缴税额。 X<=800 ——Y=0 某工资处理系统8001300 ——Y=(1300-800)*5%+(X-1300)*10% (2)决策表 4、某货运站的收费标准如下: (1) 收费地点在本省,则快件每公斤6元,慢件每公斤4元; (2) 收费地点在外省,则在25公斤以内(含25公斤)快件每公斤8 元,慢件每公斤6元;如果超过25公斤时,快件每公斤10元,慢件 每公斤8元 试根据上述要求,绘制确定收费标准的决策表,并配以简要文字说明。 答:在货运收费标准中牵涉条件的有:本省、外省之分,有快、慢件之分,对于外省运件以25公斤为分界线,故货运站收费标准决策表的条件有三个,执行的价格有四档:4元/公斤、6元/公斤、8元/公斤、10元/公斤,从而可得某货运站的收费标准执行判断表如下表格所示。 收费标准判断表

数据结构课后习题解答第六章 树和二叉树

习题及参考答案 第六章树和二叉树 6.33 int Is_Descendant_C(int u,int v)//在孩子存储结构上判断u是否v的子孙,是则返回1,否则返回0 { if(u==v) return 1; else { if(L[v]) if (Is_Descendant(u,L[v])) return 1; if(R[v]) if (Is_Descendant(u,R[v])) return 1; //这是个递归算法 } return 0; }//Is_Descendant_C 6.34 int Is_Descendant_P(int u,int v)//在双亲存储结构上判断u是否v的子孙,是则返回1,否则返回0 { for(p=u;p!=v&&p;p=T[p]); if(p==v) return 1; else return 0; }//Is_Descendant_P 6.35 这一题根本不需要写什么算法,见书后注释:两个整数的值是相等的. 6.36 int Bitree_Sim(Bitree B1,Bitree B2)//判断两棵树是否相似的递归算法 { if(!B1&&!B2) return 1; else if(B1&&B2&&Bitree_Sim(B1->lchild,B2->lchild)&&Bitree_Sim(B1->rchild,B2->rchild)) return 1; else return 0;

}//Bitree_Sim 6.37 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 6.38 typedef struct { BTNode* ptr; enum {0,1,2} mark; } PMType; //有mark域的结点指针类型 void PostOrder_Stack(BiTree T)//后续遍历二叉树的非递归算法,用栈{ PMType a; InitStack(S); //S的元素为PMType类型 Push (S,{T,0}); //根结点入栈 while(!StackEmpty(S)) { Pop(S,a); switch(a.mark) { case 0:

树型结构

数据结构练习——树型结构姓名: 1.按照二叉树的定义,具有3个结点的二叉树有()种。 A 3 B 4 C 5 D 6 2.若在一个森林中有N个结点,K条边(N>K),则该森林中必有()棵树。 A K B N C N-K D 1 3.在下列存储形式中,()不是树的存储形式。 A 双亲表示法 B 孩子链表表示法 C 孩子兄弟表示法 D 顺序表示法 4.设二叉树只有度为0和2的结点,其结点个数为15,则该二叉树的最大深度为()。 A 4 B 5 C 8 D 9 5.一个具有767个结点的完全二叉树,其叶子结点个数为()。 A 383 B 384 C 385 D 386 6.若一棵二叉树有126个结点,在第7层至多有()个结点。 A 32 B 64 C 63 D 不存在第7层 7.若一棵度为7的树有8个度为1的结点,7个度为2的结点,6个度为3的结点,5个度为4的结点,4个度为5的结点,3个度为6的结点,2个度为7的结点,则该树一共有()个叶子结点。 A 35 B 28 C 77 D 78 8.已知完全二叉树的第7层有10个叶子结点,则整个二叉树的结点数最多是() A 73 B 127 C 235 D 255 9.任何一棵非空二叉树中的叶子结点在先序遍历、中序遍历、后序遍历的相对位置() A 都会发生变化 B 不会发生变化 C 有可能发生变化D部分发生变化 10.对于二叉树的两个结点X和Y,应该选择()两个序列判断X是否为Y的祖先。 A 先序和后序 B 先序和中序 C 中序和后序 D A、B、C都行 11.深度为5的二叉树上至多有()个结点。 A. 16 B. 32 C. 31 D. 10 12.二叉树的中序序列为ABCDEFG,后序序列为BDCAFGE,则先序序列为() A. EGFACDB B. EACBDGF C. EAGCFBD D. 上面都不对 13.在线索二叉树中,t所指结点没有左子树的充要条件是()。 A. t->lchild==NULL B. t->ltag==1 C. t->ltag==1&& t->lchild==NULL D. 上面都不对 14.由权值为9、2、5、7的四个叶子构造一棵哈夫曼树,该树的带权路径长度为() A 23 B 37 C 44 D 46 15.有五个字符,根据其使用频率设计对应的哈夫曼编码,()是不可能的哈夫曼编码。 A 000,001,010,011,1 B 0000,0001,001,01,1 C 000,001,01,10,11 D 00,100,101,110,111 16. 若用链表存储一棵二叉树时,每个结点除数据域外,还有指向左孩子和右孩子的两个指针。在这种存储结构中,n个结点的二叉树共有________个指针域,其中有________个指针域是存放了地址,有________________个指针是空指针。 17. 一棵高度为5的二叉树中最少含有_________个结点,最多含有________个结点; 18.设一棵二叉树的前序遍历序列和中序遍历序列均为ABC,则该二叉树的后序遍历序列为__________。 19.设一棵完全二叉树中有21个结点,如果按照从上到下、从左到右的顺序从1开始顺序编号,则编号为8的双亲结点的编号是___________,编号为8的左孩子结点的编号是_____________。 20 已知一棵二叉树的先序和中序序列,求该二叉树的后序遍历序列 先序遍历:A,B,C,D,E,F,G,H,I,J 中序遍历:C,B,A,E,F,D,I,H,J,G 后序遍历:______________________

决策树决策表练习

1、某运输公司收取运费的标准如下: ①本地客户每吨5元。 ②外地客户货物重量W在100吨以(含),每吨8元。 ③外地客户货物100吨以上时,距离L在500公里以(含)超过部分每吨增加7元,距离500公里以上时,超过部分每吨再增加10元。 试画出决策树、决策表,反映运费策略。 2、邮寄包裹收费标准如下: 若收件地点在1000公里以,普通件每公斤2元,挂号件每公斤3元;若收件地点在1000公里以外,普通件每公斤2.5元,挂号件每公斤3.5元,若重量大于30公斤,超重部分每公斤加收0.5元。绘制收费标准的决策树和决策表(重量用W表示)。 3、某工厂对一部分职工重新分配工作,其原则如下: 年龄不满20岁,文化程度为小学脱产学习,文化程度是中学的为电工。年龄满20岁但不足50岁,文化程度为小学或中学,男性为钳工,女性为车工;文化程度是大学的为技术员。年龄满50岁及50岁以上,文化程度是小学或中学的为材料员;文化程度是大学的为技术员。请画出处理职工分配政策(以文化程度为基准)的决策表、决策树。

4、某学校对教职工拟定奖励策略如下:(1)高级职称且教学评估优秀的奖励1000元,教学效果评估合格的奖励800元;(2)中级职称且教学评估优秀的奖励800元,教学效果评估合格的奖励500元;(3)初级职称且教学评估优秀的奖励500元。要求画出奖励策略的决策树。 5、某用电量计费系统记费如下:如果按固定价格方法记帐,对耗电量小于100度(不包含100度)的情况,按每月最低费用收费。超过100度时,就按A类计费办法收费。如果按可变价格方法记帐,则对100度以下(不包含100度)耗电量,按A类计费办法收费,超过100度时按B类计费办法收费。画出上述说明的决策树。 6、某金融部门的贷款发放最高限额问题描述如下: 对于固定资产超过500万元(含500万元)的企业:·如果无不良还款记录,低于3年期(含3年)的贷款最高限额为100万元; ·如果有不良还款记录,低于3年期(含3年)的贷款最高限额为50万元。 对于固定资产低于500万元的企业: ·如果无不良还款记录,低于3年期(含3年)的贷款最高限额为60万元;

第六章决策技术

第六章 决策技术  第一节 概 述 所谓决策就是为实现某一目的,经过调查研究,根据实际与可能,拟定多个可行方案,运用科学方法,选定最佳方案的全过程。或者说,决策就是决策者经过各种考虑和比较之后,对应当做什么和应当怎样做所作的决定。广义地讲,任何一个人对所从事的工作,都在经常不断的地作出各种决定,因此决策是人类社会的一种重要活动,关系到人类生活的各个环节和领域,人和集体的各种行动和行动方式,都要受决策的支配,所以决策是行动的基础。正确的决策产生正确的行动,取得最佳的效果;错误的决策产生错误的行动和不好的效果。在同样的条件下,决策水平不同得出的结果也不同。在有利时机,决策不当也会造成失败;在不利时机,决策正确也会取得胜利。所以决策是否正确,是否合理,小则关系到能否达到预期的目的,大则决定企业的成败,关系到部门、地区以至全国经济的盛衰,甚至会给国家的政治、经济造成巨大的损失。 在企业管理中,管理的关键在于决策。决策贯穿于经营管理工作的各个方面,它包括战略性的经营决策,战术性的资源开发利用决策,以及生产技术管理和设备的选型,配套方面的决策等等。因此,决策是企业管理人员经常面临的,不可缺少的工作。作为一个企业的领导,在社会主义经营方针指导下,如何根据国家计划的要求和国内外市场需要,从全局出发,应用决策科学的理论和方法,集中各方面的意见和建议,及时做出科学的决策;作为企业的一般管理人员,应熟练掌握和运用决策技术,在复杂情况下,提供可行的备选方案和必要的定量数据,协助领导作出正确的决策,这是当前企业管理工作的重要任务。 随着科学技术的高度发展和经济建设规模的空前庞大,需要决策的问题非常复杂,时间紧,要求高,涉及面又宽,单凭经验决策是很不够的,必须运用科学的决策技术帮助决策者作出正确、及时的决策。为

《结构设计原理》教案 第六章 钢筋混凝土受压构件承载能力计算教学内容

1、轴心受压构件在实际工程中几乎没有。如果荷载偏心距很小,所产生的弯矩与其轴力相比甚小,可略去不计时,则视为轴心受压构件。其计算方法简单,但应重视它的构造要求,并注意细长比对失稳的重要影响。螺旋箍盘柱施工较复杂,只有当柱子受力很大时,才考虑采用它。 2、矩形、I形偏心受压构件必须确定是大偏心还是小偏心,因为两者在计算上有本质的差别。 3、偏心受压构件可以看成是轴心压力N和弯矩M=N·e0 的共同作用。由于M的作用将使构件产生挠曲变形f又和轴心压力N组成附加弯矩,从而使其计算复杂化。附加弯矩的大小与N、e0和f 有关,而f又与截面尺寸、配筋多少、混凝土强度等级、钢筋种类等因素有关。 4、学习时要注意大小偏心二种情况的计算公式、分界条件、适用条件等。 5、大偏心受压构件的受力和变形特点,与受弯构件双筋梁相类似;小偏受压构件的受力和变形特点与轴心受压构件相类似。学习时可与受弯构件和轴心受压构件结合起来学习,以加深理解。 6、圆形截面偏心受压构件不分大小偏心,重点掌握实用计算法。 第一节轴心受压构件的强度计算 一、普通箍筋柱 二、螺旋箍筋柱 以承受轴向压力为主的构件称为受压构件。 凡荷载的合力通过截面形心的受压构件称之为轴心受压构件(compression members with axial load at zero eccentricity)。 若纵向荷载的合力作用线偏离构件形心的构件称之为偏心受压构件。 受压构件(柱)往往在结构中具有重要作用,一旦产生破坏,往往导致整个结构的损坏,甚至倒塌。 按箍筋作用的不同,钢筋混凝土轴心受压构件可分为两种基本类型:一种为配有纵向钢筋及普通箍筋的构件,称为普通箍筋柱(tied columns),如图;另一种为配有纵向钢筋及螺旋箍筋或焊环形箍筋的螺旋箍筋柱(spirally reinforced columns),如图。

树形结构数据表的设计

树形结构的数据库表Schema设计 程序设计过程中,我们常常用树形结构来表征某些数据的关联关系,如企业上下级部门、栏目结构、商品分类等等,通常而言,这些树状结构需要借助于数据库完成持久化。然而目前的各种基于关系的数据库,都是以二维表的形式记录存储数据信息,因此是不能直接将Tree 存入DBMS,设计合适的Schema及其对应的CRUD算法是实现关系型数据库中存储树形结构的关键。 理想中树形结构应该具备如下特征:数据存储冗余度小、直观性强;检索遍历过程简单高效;节点增删改查CRUD操作高效。无意中在网上搜索到一种很巧妙的设计,原文是英文,看过后感觉有点意思,于是便整理了一下。本文将介绍两种树形结构的Schema设计方案:一种是直观而简单的设计思路,另一种是基于左右值编码的改进方案。 一、基本数据 本文列举了一个食品族谱的例子进行讲解,通过类别、颜色和品种组织食品,树形结构图如下:

二、继承关系驱动的Schema设计 对树形结构最直观的分析莫过于节点之间的继承关系上,通过显示地描述某一节点的父节点,从而能够建立二维的关系表,则这种方案的Tree表结构通常设计为:{Node_id,Parent_id},上述数据可以描述为如下图所示: 这种方案的优点很明显:设计和实现自然而然,非常直观和方便。缺点当然也是非常的突出:由于直接地记录了节点之间的继承关系,因此对Tree的任何CRUD操作都将是低效的,这主要归根于频繁的“递归”操作,递归过程不断地访问数据库,每次数据库IO都会有时间开销。当然,这种方案并非没有用武之地,在Tree规模相对较小的情况下,我们可以借助于缓存机制来做优化,将Tree的信息载入内存进行处理,避免直接对数据库IO操作的性能开销。 三、基于左右值编码的Schema设计 在基于数据库的一般应用中,查询的需求总要大于删除和修改。为了避免对于树形结构查询时的“递归”过程,基于Tree的前序遍历设计一种全新的无递归查询、无限分组的左右值编码方案,来保存该树的数

相关文档
最新文档