摘要:
一、图的定义和相关术语 1. 图是由顶点(Vertex)和边(Edge) 2. 图可以分为有向图和无向图,无向图所有边都是双边的 3. 顶点的度是指该顶点相连的边的条数,特别是对于有向图的边数称为顶点的出度,顶点的入边条数称为该顶点的入度。 4. 顶点和边都可以有一定的属性,量化的属性称为权值,顶点 阅读全文
摘要:
一、技术总结 1. 这一题是关于图的遍历的,首先拿到题目理解题意,可以发现第一个需要考虑的问题是如何存储的问题。 2. 然后就是考虑使用哪种遍历方法的问题,这里使用DFS遍历的方法。 3. 然后还有就是如何存储字符串和编号的问题,使用 ,进行解决。最后就是关于统计每一个连通分量是否达标,一个是人数, 阅读全文
摘要:
一、技术总结 1. 这是一道考查插入排序和堆排序的问题。 2. 这里开始最主要的问题是,没有理解堆排序。堆排序是通过把数组中第一个元素与最后一个元素交换,然后再对于第一个元素进行向下调整downAdjust函数。 3. 所以这里对于插入排序,只要一直遍历发现第一个元素的比前一个元素小,记录下这时的下 阅读全文
摘要:
一、技术总结 1. 这是一道并查集的题目,这里无非就是明白题目的含义,然后将套路用上基本上问题不大。 2. 一个是father数组用于存储父亲结点,isRoot用于存储根结点,如果题目需要,还可以建立一个course数组,用于存储,例如这个题目就是用于判断该该兴趣是否有人涉及。 3. findFat 阅读全文
摘要:
一、并查集的定义 1. 并查集是一种维护集合的数据结构,它的名字中“并”、“查”、“集”。分别取自Union(合并)、Find(查找)、Set(集合)。 合并:就是合并两个集合 查找:判断两个元素是否在一个集合 那么并查集是用什么实现的,就是一个数组, 对于同一个集合来说只存在一个根结点,且将其作为 阅读全文
摘要:
一、技术总结 1. 这是一个平衡二叉树AVL树,就是一个二叉查找树,但是平衡因子不能够超过1。 2. 这个树的数据结构比一般的要多一个height的参数,用于计算平衡因子,就是用当前结点的左子树的height减去右子树的height。 3. 对于node newNode(int data)函数,首先 阅读全文
摘要:
一、平衡二叉树的定义 1. 使树的高度在每次插入元素后仍然能保持O(logn)的级别 2. AVL仍然是一棵二叉查找树 3. 左右子树的高度之差是平衡因子,且值不超过1 二、平衡二叉树的基本操作 1. 查找操作 查找方法和二叉查找树一致 2. 插入操作 左旋(Left Rotation) 右旋(Ri 阅读全文
摘要:
一、技术总结 1. 这一题就是将给的数,构造一个完全二叉排序树 2. 关键就是要利用完全二叉树的特点,如果该结点的下标是x,那么左子树的结点下标一定是2 x,右子树下标是2 x+1,然后二叉排序树的中序遍历是从小到大的。 二、参考代码 阅读全文
摘要:
一、技术总结 1. 这一题是二叉排序树的问题,题目主要是给出二叉排序树的先序遍历或者二叉排序树镜像的先序遍历或其他,如果是前两种输出YES,并且输出各自的后序遍历。后者直接输出NO 2. 关键在于创建树,据我观察发现无论是镜像的先序遍历还是原来二叉排序树的先序遍历,可以直接根据二叉排序树的特点进行树 阅读全文
摘要:
一、二叉查找树的定义 是一种特殊的二叉树,又称排序二叉树,二叉搜索树,二叉排序树。 1. 递归定义如下: 2. 要么二叉树查找树是一棵空树 3. 要么二叉树查找树由根结点、左子树、右子树组成,其中左子树和右子树都是二叉树查找树,且左子树上所有结点的数据域均小于或等于根结点的数据域,右子树上所有结点的 阅读全文