堆的要求 堆必须满足完全二叉树 堆的分类 堆分为两种: 1.小堆:任何一个孩子大于父亲 2.大堆:任意一个孩子都小于父亲 堆的结构 堆的逻辑结构:二叉树 堆的物理结构:数组 堆的用处:堆排序、topk 堆的特点 大堆可以找到最大值,...
在许多实际问题中,数据之间存在层次关系。例如,组织架构、文件系统、编译器语法分析等场景都需要表示层次结构。二叉树作为一种特殊的树结构,能够清晰地表达这种层次关系。最直观的就是我们电脑上的文件夹的层次结构。...
栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作,进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。 压栈:栈的插入操作叫做进栈/压栈/入...
单向链表:一块内存指向下一个内存。 单链表存在一些缺陷: 1.查找速度慢。 2.不能从后往前找。 3.找不到前驱。 链表的结构分为8种: 1.单向和双向 2.带头和不带头 带头的链表有一个带哨兵位的头结点,这个节点不存储有效数...
缺陷: 1.空间不够了,增容。(增容会带来缺陷,增容会付出一定的性能消耗,其次可能存在一定的空间浪费) 例如:当我有一百个空间,满了之后,增容扩大两倍,但是我插入之后,只插入了10个数据,所以浪费了90个空间。 2.头部或者中部左右的...
这里我们要围绕红黑树上面的几条性质构建红黑树;但是红黑树是在二叉搜索树的基础上加上其平衡限制条件,所有我们构建时可以借鉴二叉搜索树方式。...
1. 为了AVL树实现简单,AVL树节点在定义时维护一个平衡因子,具体节点定义如下:
先将元素放入到底层空间中(注意:空间不够时需要扩容) 将最后新插入的节点向上调整,直到满足堆的性质
注意:在看泛型之前可以,回顾一下,包装类,包装类就是服务泛型的 :初识JAVA中的包装类,时间复杂度及空间复杂度-CSDN博客
而在本游戏中,采用的是9*9的格子,随机布置十个雷,玩家要将所有非雷的格子排查完才算胜利。在本篇博客中,会将游戏分为三个部分完成,便于用户管理,组织,以及理解,也符合程序的高内聚低耦合,使程序变得更加清晰,也可以养成好的代...