随笔分类 - 数据结构与算法学习笔记
摘要:图搜索策略 这里的“图搜索策略”应该怎么理解呢? 首先,是“图搜索”,所谓图无非就是由节点和边组成的,那么图搜索也就是将这个图中所有的节点和边都访问一遍。 其次是“策略”: ==> 如果就直接给你一个图,要怎么样才能将所有的节点和边都访问一遍呢? 这里可以考虑一个非常非常大并且结构复杂的图,那么当拿
阅读全文
摘要:1. 平衡二叉树 平衡二叉树 对于树中的每个节点要求: 左子树和右子树的深度差不超过1 左右子树都是平衡二叉树 平衡因子 = 左子树深度 - 右子树深度 ==> 在一棵平衡二叉树中,所有节点的平衡因子只可能有三种取值:-1, 0, 1 2. 失衡原因分析及失衡情况分类 平衡二叉树是一种特殊的二叉排序
阅读全文
摘要:1. 题目描述 2. 题目解答 2.1 题目理解: 所谓二叉树的右视图就是:每一层只能看到这一层最右边的节点。 2.2 基本思路: (1)深度优先遍历:按照每次先访问右孩子的方式进行深度优先遍历。那么每一层访问到的第一个节点就是该层最右边的节点。 (2)广度优先遍历:按照每一层从左向右的方式进行广度
阅读全文
摘要:树的遍历 树的遍历算法分为两种:广度优先遍历(BFS)和深度优先遍历(DFS)。 所谓的BFS其实就是层次遍历,而DFS指的是前序/中序/后序遍历。 广度优先遍历: 用队列实现,迭代: Init: Q.push(root) Each Loop: 取出队首元素:①访问该元素 ②将该节点的左孩子右孩子依
阅读全文