树和二叉树(三)

*学习数据与算法结构第三天

(一)查找二叉树(二叉排序树)的基本定义

查找二叉树,又称二叉排序树,怡可查找二叉树,或者是一棵空树,或满足以下条件:

①. 查找树的左右子树各是一棵查找树
②. 若查找树的左子树非空,则其左子树的各节点值均小于根节点的值
③. 若查找树的右子树非空,则其右子树的各节点值均大于根节点的值
④.最大值的节点的右指针一定为空

(二)查找二叉树的基本操作

  • 查找

  • 插入节点

①.如果相同的键值的节点已在查找二叉树中则不再插入
②如果查找二叉树为空树,则以新节点为查找二叉树
③将要插入的键值与插入后的父节点的键值比较,就能确定新节点是父节点的左子节点,还是右子节点,并进行相应插入

  • 删除节点

考虑的情况:
①.若待删除的节点P是叶子节点,则直接删除该节点
②.若待删除的节点P只有一个子节点,则将这个节点与待删除节点的父节点直接连接,然后删除节点P
③.若待删除的节点P有两个子节点,则在其左子树上,用中序遍历寻找关键值最大的节点S,用节点S的值代替节点P,然后删除节点S,节点S必须属于上述的①、②情况之一

(三)最优二叉树(哈夫曼树)

1.基本概念

  • 树的路径长度

从树根到每一个节点的路径长的总和
在这里插入图片描述
该树的路径长度为:(AB)+(AB)+(BD)+(AC)+(AC)+(CE)+(AC)+(CF)

  • 带权路径长度

    扫描二维码关注公众号,回复: 9010656 查看本文章

带权路径长度 = 根到该节点的路径长度 x 权值

  • 树的带树路径长度(树的代价)

所有节点的路径长的之和

发布了3 篇原创文章 · 获赞 2 · 访问量 168

猜你喜欢

转载自blog.csdn.net/weixin_44801843/article/details/104209312