摘要: package ALV; public class ALVTreeDemo { /* 平衡二叉树:也叫平衡二叉搜索树,也叫AVL,与二叉排序树相比,可以保证查询效率(前提是一颗二叉排序树) 特点:左右两棵子树的高度差绝对值不超过一 平衡二叉树的常用实现方法有:红黑树和AVL(算法) */ publi 阅读全文
posted @ 2021-05-03 10:39 素色学习 阅读(65) 评论(0) 推荐(0) 编辑
摘要: package BinarrSortTree; public class BSTTreeDemo01 { /* 二叉树排序树:比根节点小的数在左边,大的在右边 */ public static void main(String[] args) { } } //创建二叉树类 class BinaryS 阅读全文
posted @ 2021-05-03 10:36 素色学习 阅读(36) 评论(0) 推荐(0) 编辑
摘要: 线索化二叉树 1.n个节点的二叉链表含有n+1(2n-(n-1))个空指针域。利用二茬链表中的空指针域,存放该节点在某种遍历情形下的前驱和后继节点指针(这种附加的节点成为线索); 2.这种加上了线索的链表称之为线索链表,相应的二叉树成为线索化二叉树。根据线索的不同,分为前序线索二叉树,中序线索二叉树 阅读全文
posted @ 2021-05-03 10:34 素色学习 阅读(87) 评论(0) 推荐(0) 编辑
摘要: 数组存储方式可以和树得存储方式可以相互转换。 特点 1.通常只考虑完全二叉树; 2.第n个元素的左子节点为2*n +1; 3.第n个元素的右子节点为2*n +2; 4.第n个元素的父节点为(n-1)/2; 5.n:表示树得第几个元素(从0开始(数组的索引)); //index:数组开始索引 //顺序 阅读全文
posted @ 2021-05-03 10:32 素色学习 阅读(75) 评论(0) 推荐(0) 编辑
摘要: ### 树形结构的优点 **为什么要有树这种结构?**数组和链表分析:**数组**:在查找时因为有下标,所以查找的速度特别快还可以使用二分(插值)查找提高效率; 但是在增加或删除数据时,需将数组扩容或者减小容量(新创建一个数组将原数组需要的数组拷贝进去), 并将一些数据前移或者后移效率低下**链表* 阅读全文
posted @ 2021-05-03 10:30 素色学习 阅读(38) 评论(0) 推荐(0) 编辑