数据结构题目57:建立一棵二叉排序树

如题所述

第1个回答  2022-07-06

题目: 已知K=(5, 10, 5, 20, 17, 12, 19, 2),建立一棵二叉排序树。

解题思路: 建立二叉排序树的原则:
设K=(k1, k2, k3, ..., kn)为数据元素序列。从ki开始依次取序列中的元素,每取出一个数据元素ki,按下列原则建立二叉排序树的一个结点。
1.若二叉排序树为空,则ki就是二叉排序树的根结点。
2.若二叉排序树非空,则将ki与该二叉排序树的跟结点的值进行比较。若ki小于根结点的值,则将ki插入到根结点的左子树中;否则,将ki插入到根结点的右子树中。
这是一个递归的过程,因为将一个数据元素插入到根结点的左子树或者插入到根结点的右子树,同样需要按照这个原则递归进行。
根据这个原则给出相应的算法。下面给出建立二叉排序树的非递归算法(设二叉排序树采用二叉链表存储结构)

具体算法如下:
(一) 非递归算法

(二)递归算法

数据结构题目57:建立一棵二叉排序树
题目: 已知K=(5, 10, 5, 20, 17, 12, 19, 2),建立一棵二叉排序树。解题思路: 建立二叉排序树的原则: 设K=(k1, k2, k3, ..., kn)为数据元素序列。从ki开始依次取序列中的元素,每取出一个数据元素ki,按下列原则建立二叉排序树的一个结点。 1.若二叉排序树为空,则ki就...

数据结构题 试建立一个二叉排序树,利用以下输入数据顺序 详细如下,并...
一、按此序列构建的二叉排序树:二、前序遍历序列:43, 10, 11, 23, 65, 45, 47, 70, 90 三、删除65,因为该结点度为2,所以可能两种结果:用中序的前驱或者后继替代 1、用中序前驱47替代:2、用中序后继70替代:

建立二叉排序树的目的
建立二叉排序树的主要目的是为了提高数据查询、插入和删除的效率。二叉排序树,也称为二叉搜索树,是一种特殊的树形数据结构。它的每个节点都含有一个可比较的键以及相关联的值,且对于每个节点,其左子树的所有键都小于节点的键,而右子树的所有键都大于节点的键。这种特性使得在二叉排序树中查找特定键...

从键盘读入一串整数构造一棵二叉排序树,并对得到的二叉排序述进行中序...
define Number 30 struct BiTNode{\/\/定义数据结构 char data;BiTNode *lchild,*rchild;};void InitBtree(BiTNode * &BT){\/\/初始化二叉树 BT=NULL;} void CreateBiTree(BiTNode *&BT,char *str){\/\/建立二叉树 BiTNode *s[MaxSize];int top=-1;BT=NULL;BiTNode *p=NULL;int k, j=0;char ...

数据结构(二):二叉搜索树(Binary Search Tree)
二叉搜索树是一种节点值之间具有一定数量级次序的二叉树,对于树中每个节点:示例:观察二叉搜索树结构可知,查询每个节点需要的比较次数为节点深度加一。如深度为 0,节点值为 “6” 的根节点,只需要一次比较即可;深度为 1,节点值为 “3” 的节点,只需要两次比较。即二叉树节点个数确定的情况下,...

求2002年 北京科技大学 计算机专业研究生入学考试试题
1.以 K 为权值集合,构造一棵 Huffman 树;依次取 K 中各值,构造一棵二叉排序树;2.设 Hash 表表长 m=16,选取 Hash 函数的方法为 H(key)=key%13,处理冲突的方法为 "二次探测再散列",请依次取 K 中各值,构造出满足所给条件的 Hash 表结构;3.设以 K 中第一个关键字(26)为...

数据结构问题
②在最好情况下,二叉排序树在生成的过程中,树的形态比较匀称,最终得到的是一棵形态与二分查找的判定树相似的二叉排序树,此时它的平均查找长度大约是lgn。③插入、删除和查找算法的时间复杂度均为O(lgn)。--- 譬如:关键字:10 10 10 10 10 10 10 或 10 10 或 ...10 10...

数据结构的问题~
(1) 按各数据元素的顺序构造一棵二叉排序树 (2) 设各数据元素的查找概率相等,给出该二叉排序树的平均查找长度。 2、 设有数据元素序列{11,23,35,47,51,60,75,88,90,102,113,126},用除留余数法构造哈希表,要求: (1) 设计哈希表的长度取值为m; (2) 画出用开放定址法的线性探查法解决哈希冲突的哈希...

下面关于二叉排序树叙述,错误是( )。
【答案】:C 本题考查数据结构方面基础知识。显然,若关键字初始序列已经有序,则构造出二叉排序树一定是单技树(每个节点只有一个孩子)。为了使在二叉排序树上进行查找操作性能最优,构造二叉排序树时需进行平衡化处理,使每个节点左、右子树高度差绝对值不超过1。因此答案为C选项。

关于数据结构的题目请教大神。 C++数据结构的题目:已知一组关键字为...
C++数据结构的题目:已知一组关键字为:26,36,41,38,44 关于数据结构的题目请教大神。C++数据结构的题目:已知一组关键字为:26,36,41,38,44,15,68,12.试构造其二叉排序树。高分求,谢谢!... 关于数据结构的题目请教大神。C++数据结构的题目:已知一组关键字为:26,36,41,38,44,15,68,12.试构造其二叉...

相似回答
大家正在搜