数据结构和算法学习--二叉排序树

数据结构和算法学习--二叉排序树一、二叉排序树介绍二叉排序树:BST(Binary Sort(Search) Tree),对于二叉排序树的任何一个非叶子节点,要求左子节点的值比当前节点的值小,右子节点的值比当前节点的值大。特别说明:如果有相同的值,可以将该节点放在左子节点或右子节点比如针对前面的数据(7,3,10,12,5,1,9),对应的二叉排序树为:二、二叉排序树创建和遍历一个数组创建成...

Java 2020-02-16 PM 1618次 0条

数据结构和算法学习--线索二叉树

数据结构和算法学习--线索二叉树一、线索二叉树应用案例应用案例说明:将下面的二叉树,进行中序线索二叉树,中序遍历的数列为}{8,3,10,1,14,6}思路分析:中序遍历的结果:{8,3,10,1,14,6}说明:当线索化二叉树后,Node节点的属性left和right,有如下情况:(1)left:指向的是左子树,也可能是指向的前驱节点。比如①节点left指向的左子树,而⑩节点的left指向...

Java 2020-02-12 PM 1457次 0条

数据结构和算法学习--顺序存储二叉树

数据结构和算法学习--顺序存储二叉树一、基本说明从数据存储来看,数组存储方式和树的存储方式可以相互转换,即数组可以转换成树,树也可以转换成数组,看下面的示意图。要求:(1)上图的二叉树的结点,要求以数组的方式来存放arr:[1,2,3,4,5,6](2)要求在遍历数组arr时,仍然可以以前序遍历,中序遍历和后序遍历的方式完成结点的遍历顺序存储二叉树的特点:(1)顺序二叉树通常只考虑完全二叉树...

Java 2020-02-11 PM 1810次 0条

数据结构和算法学习--二叉树查找指定节点

数据结构和算法学习--二叉树查找指定节点要求:(1)请编写前序查找,中序查找和后序查找的方法。(2)并分别使用三种查找方式,查找heroNO=5的节点(3)并分析各种查找方式,分别比较了多少次(4)思路分析图解使用前序,中序,后序的方式来查找指定的结点前序查找思路1.先判断当前结点的no是否等于要查找的2.如果是相等,则返回当前结点3.如果不等,则判断当前结点的左子节点是否为空,如果不为空,...

Java 2020-02-10 PM 1697次 0条

数据结构和算法学习--二叉树删除节点

数据结构和算法学习--二叉树删除节点要求(1)如果删除的节点是叶子节点,则删除该节点(2)如果删除的节点是非叶子节点,则删除该子树(3)测试,删除掉5号叶子节点和3号子树(4)完全删除思路分析完成删除节点的操作(1)如果删除的节点是叶子节点,则删除该节点(2)如果删除的节点是非叶子节点,则删除该子树思路首先先处理:考虑如果树是空树root,如果只有一个root节点,则等价将二叉树置空//然后...

Java 2020-02-09 PM 1541次 0条

数据结构和算法学习--二叉树遍历应用实例(前序,中序,后序)

数据结构和算法学习--二叉树遍历应用实例(前序,中序,后序)应用实例和说明和思路分析二叉树的前序,中序,后续的遍历步骤1.创建一颗二叉树2.前序遍历2.1 先输出当前节点(初始的时候是root节点)2.2 如果左子节点不为空,则递归继续前序遍历2.3 如果右子节点不为空,则递归继续前序遍历3.中序遍历3.1 如果当前节点的左子节点不为空,则递归中序遍历3.2 输出当前节点3.3 如果当前节点...

Java 2020-02-08 PM 1934次 0条

数据结构和算法学习--树结构的基础部分

数据结构和算法学习--树结构的基础部分一、二叉树1.1 为什么需要树这种数据结构(1)数组存储方式的分析优点:通过下标方式访问元素,速度快。对于有序数组,还可使用二分查找提高检索速度。缺点:如果要检索具体某个值,或者插入值(按一定顺序)会整体移动,效率较低画出操作示意图:(2)链式存储方式的分析优点:在一定程度上对数组存储方式有优化(比如:插入一个数值节点,只需要将插入节点,链接到链表中即可...

Java 2020-02-08 PM 1855次 0条