![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 90
数据结构以及实现
会飞的皮卡丘EI
这个作者很懒,什么都没留下…
展开
-
平衡二叉树(AVL)详解
平衡二叉树(AVL)1、为什么会出现平衡二叉树平衡二叉树(Balanced Binary Tree),又称AVL树,指的是左子树上的所有节点的值都比根节点的值小,而右子树上的所有节点的值都比根节点的值大,且左子树与右子树的高度差最大为1。平衡二叉树性质:它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。知道了平衡二叉树的概念之后,我们来聊聊为什么会...原创 2020-04-04 23:05:00 · 4005 阅读 · 2 评论 -
二叉树的相关计算以及前中后层序遍历
二叉树的相关计算1、计算二叉树中节点的个数两种方法:利用遍历的思想利用汇总的思想根 + 左子树 + 右子树1、利用遍历的思想private static int count = 0;public static int calcCount(Node root) { if (root == null) { return 0; } co...原创 2020-03-31 23:27:27 · 180 阅读 · 0 评论 -
二叉树
二叉树1、树1.1、树的概念树:一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。树的特点:每个结点有零个或多个子结点;没有父结点的结点称为根结点;每一个非根结点有且只有一个父结点;除了根结点外,每个子结点可以分为多个不相交的子树 。节点的度:一个节点含有的子树的个数称为该节点的度叶节点或终端节点:度为0的节点称为叶节点非终端节点或分支...原创 2020-03-29 22:04:46 · 238 阅读 · 0 评论 -
平衡二叉树
平衡二叉树的性质: 1.可以是空树 2.如果不是空树,任何一个结点的左子树和右子树都是平衡二叉树,并且高度之差的绝对值不超过1如何判断一棵树是否是平衡二叉树:思路:采用 队列层序遍历二叉树 将节点入队,不管左右子树 是空或者 不是空 全部入队出队时 遇到null 时停止出队,最后判断队列中所剩元素是不是都是null,如果都为空,则是完全二叉树代码展...原创 2019-08-26 18:13:15 · 191 阅读 · 0 评论 -
Java---八大排序总结(快排、归并、冒泡、选择、直接、希尔、基数、堆排)
排序1.二分查找1.1 原理需求:使用二分查找找出该元素在数组中第一次出现的索引二分查找的前提:该数组元素必须有序思想:每一次查找中间的元素,比较大小就能减少一半的元素最小索引 : 0 ------ minIndex最大索引 : array.length - 1------maxIndex中间索引:(最小索引+最大索引)/ 2-----centerIndex步骤:查找的...原创 2020-02-19 21:09:36 · 270 阅读 · 0 评论 -
Java使用链表实现栈
链表实现栈思路:创建一个链表head为链表的头插入元素的时候如果head==null,创建链表,head指向这个结点如果head != null,利用方法getLast()得到最后一个结点last,然后last.next = 新的节点,新节点的下一个节点为null;弹栈的时候如果head==null,直接返回-1如果head != null,得到倒数第二个元素lastLa...原创 2020-02-28 21:44:04 · 441 阅读 · 0 评论 -
栈和队列的概念、方法以及实现
栈和队列1、栈(stack)1.1、栈的概念栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。出栈:栈的删除操作叫做出栈。出数据也在栈顶。1.2、栈的实现栈的实现一般可以使用数组或...原创 2020-02-27 21:37:15 · 323 阅读 · 0 评论