数据结构
云澈丿
小白在线指教
展开
-
写树算法的套路框架
二叉树算法的设计的总路线:明确一个节点要做的事情,然后剩下的事抛给框架。原创 2020-08-21 09:34:00 · 225 阅读 · 0 评论 -
递归_leetcode.114.二叉树展开为链表
二叉树展开为链表题目分析解法一:暴力(常规思路)解法二: 深度递归搜索解法三:先序遍历递归解法四: 先序遍历迭代题目给定一个二叉树,原地将它展开为一个单链表。例如,给定二叉树 1 / \ 2 5 / \ \3 4 6将其展开为1 \ 2 \ 3 \ 4 \ 5 \ 6分析本题需要将二叉树转化为列表,对于二叉树的题目,无非就以下几种解题思路:原创 2020-08-02 11:26:23 · 373 阅读 · 0 评论 -
递归_leetcode.95.不同的二叉搜索树2
题目给定一个整数 n,求以 1 … n 为节点组成的二叉搜索树有多少种?示例:输入:3输出:[[1,null,3,2],[3,2,null,1],[3,1,null,null,2],[2,1,3],[1,null,2,null,3]]解释:以上的输出对应以下 5 种不同结构的二叉搜索树:1 3 3 2 1 \ / / / \ \ 3 2 1 1 3原创 2020-07-24 10:07:24 · 187 阅读 · 0 评论 -
DFS-BFS_leetcode.785.判断二分图
题目给定一个无向图graph,当这个图为二分图时返回true。如果我们能将一个图的节点集合分割成两个独立的子集A和B,并使图中的每一条边的两个节点一个来自A集合,一个来自B集合,我们就将这个图称为二分图。graph将会以邻接表方式给出,graph[i]表示图中与节点i相连的所有节点。每个节点都是一个在0到graph.length-1之间的整数。这图中没有自环和平行边: graph[i] 中不存在i,并且graph[i]中没有重复的值。示例 1:输入: [[1,3], [0,2], [1,3],原创 2020-07-23 10:34:53 · 203 阅读 · 0 评论 -
算法_数据结构_树状数组基础简介
「树状数组」也叫 Binary Indexed Tree,二进制索引树,很好地表示了「树状数组」处理数据的思路:「树状数组」里某个元素管理了原始输入数组多少数据是由下标决定的。原创 2020-07-12 11:41:26 · 238 阅读 · 0 评论 -
索引数组_leetcode.315.计算右侧小于当前元素的个数
题目给定一个整数数组 nums,按要求返回一个新数组 counts。数组 counts 有该性质: counts[i] 的值是 nums[i] 右侧小于 nums[i] 的元素的数量。示例:输入: [5,2,6,1]输出: [2,1,1,0]解释:5 的右侧有 2 个更小的元素 (2 和 1).2 的右侧仅有 1 个更小的元素 (1).6 的右侧有 1 个更小的元素 (1).1 的右侧有 0 个更小的元素.分析这道题要用排序的思路来解决。快速查找和更新,使用递归或树的结原创 2020-07-11 10:35:58 · 1111 阅读 · 1 评论 -
体验算法的魅力——数据结构(另一棵树的子树)
给定两个非空二叉树 s 和 t,检验 s 中是否包含和 t 具有相同结构和节点值的子树。s 的一个子树包括 s 的一个节点和这个节点的所有子孙。s 也可以看做它自身的一棵子树。示例 1:给定的树 s: 3/ \ 4 5 / \ 1 2给定的树 t: 4 / \ 1 2返回 true,因为 t 与 s 的一个子树拥有相同的结构和节点...原创 2020-05-07 15:38:14 · 369 阅读 · 0 评论