Loading

摘要: 一.什么是宽度遍历? 我们可通过下图理解: 下面我们用代码重现上面的情况: 二.代码实现: //辅助队列 class ArrayQueue{ private int front; private int rear; private int capacity; private int [] array 阅读全文
posted @ 2020-03-30 16:30 文牧之 阅读(6) 评论(0) 推荐(0)
摘要: 一.什么是深度遍历? 我们可以通过下面的图深入了解: 下面我们用代码重现上面的场景: 二.代码实现: import java.util.Stack; class Vertex{ public char label;//节点信息 public boolean visited;//存储节点是否被访问信息 阅读全文
posted @ 2020-03-30 15:58 文牧之 阅读(12) 评论(0) 推荐(0)
摘要: 一.什么是图? 有几个节点,节点之间有线连着,这样的情景就叫图: 二.由于节点之间的连接方式的不同,我们诞生了以下含义: 1.有向边:从一个节点到另一个节点的连接是单向的,我们称两个节点之间的线为有向边。 2.无向边: 从一个节点到另一个节点的连接是双向的,我们称两个节点之间的线为无向边。 3.有向 阅读全文
posted @ 2020-03-30 13:52 文牧之 阅读(23) 评论(0) 推荐(0)
摘要: 文章目录 一.数组重要知识点1.声明不分配空间2.Java和C数组的比较3.当没有给数组赋值时,它默认为0或null;4.声明和初始化相结合 一.数组重要知识点 1.声明不分配空间 声明一个数组不需要分配任何存储空间,它仅仅代表你试图创建一个数组。跟C声明一个数组的明显区别就是空间的大小没有被特别标 阅读全文
posted @ 2020-03-28 20:09 文牧之 阅读(7) 评论(0) 推荐(0)
摘要: 一.基本思想: 首先将所有元素(从未排过序的数组)插入堆中,然后从堆的根节点开始提取并且将最小的元素放到根节点然后堆化,直到完毕。 时间复杂度为O(nlogn). 二,排序代码如下: //堆排序 int[] Heapsort(Heap h,int A[],int n) { int i,temp; B 阅读全文
posted @ 2020-03-27 10:17 文牧之 阅读(5) 评论(0) 推荐(0)
摘要: 1.什么是堆? 堆是一颗具有特定性质的完全二叉树。 特定性质是:所有节点的值必须大于或等于(或小于或等于)其孩子节点的值。 2.堆的类型。 最小堆:节点的值必须小于或等于孩子节点的值。 最大堆:节点的值必须大于或等于孩子节点的值。 3.堆的java实现 以最大堆为例: 我们使用数组来实现。 那么堆的 阅读全文
posted @ 2020-03-26 20:26 文牧之 阅读(11) 评论(0) 推荐(0)
摘要: 总结自《Java Web开发实战经典》–李兴华 阅读全文
posted @ 2020-03-25 17:47 文牧之 阅读(13) 评论(0) 推荐(0)
摘要: 一.什么是平衡二叉搜索树? 在二叉搜索树的基础上: 每个左右子树的高度差为0,此时的二叉树称为完全平衡二叉搜索树。 每个左右子树的高度差不大于1时,此时的二叉树称为AVL树。(就是平衡二叉搜索树) 二.旋转 当树的结构发生变化时(插入,删除节点),它可能变得不符合AVL结构了,所以我们需要旋转来保证 阅读全文
posted @ 2020-03-25 10:45 文牧之 阅读(17) 评论(0) 推荐(0)
摘要: 总结自《Java Web开发实战经典》–李兴华 阅读全文
posted @ 2020-03-24 15:34 文牧之 阅读(21) 评论(0) 推荐(0)
摘要: 一.什么是二叉搜索树? 简单来说,它是一个加了限定条件的二叉树。 它可以使最坏情况下的平均搜索的时间复杂度降低到O(log n). 条件是: 1.一个节点的左子树只能包含键值小于该节点的键值的节点。 2.一个节点的右子树只能包含键值大于该节点的键值的节点。 3.左右子树也都必须是二叉搜索树。 例如: 阅读全文
posted @ 2020-03-24 11:30 文牧之 阅读(18) 评论(0) 推荐(0)