数据结构和算法
0 人感兴趣 · 42 次引用
- 最新
- 推荐
复杂度分析:如何分析、统计算法的执行效率和资源消耗
我们都知道,数据结构和算法本身解决的是“快”和“省”的问题,所以,执行效率是算法一个非常重要的考量指标。那如何来衡量你编写的算法代码的执行效率呢?这里就要用到我们今天要讲的内容:时间、空间复杂度分析。
[Day34-02]-[二叉树] 从前序与中序遍历序列构造二叉树
给定两个整数数组 preorder 和 inorder ,其中 preorder 是二叉树的先序遍历, inorder 是同一棵树的中序遍历,请构造二叉树并返回其根节点。
[Day34]-[二叉树] 有序链表转换二叉搜索树
给定一个单链表的头节点 head ,其中的元素 按升序排序 ,将其转换为高度平衡的二叉搜索树。
[Day33-03]-[二叉树] 二叉树展开为链表
展开后的单链表应该同样使用 TreeNode ,其中 right 子指针指向链表中下一个结点,而左子指针始终为 null 。
[Day32-03]-[二叉树] 不同的二叉搜索树
一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种?返回满足题意的二叉搜索树的种数。
[Day32-02]-[二叉树] 在二叉树中增加一行
二叉树的根 root 和两个整数 val 和 depth ,在给定的深度 depth 处添加一个值为 val 的节点行。
[Day32]-[二叉树] 二叉树中的最大路径和
路径 被定义为一条从树中任意节点出发,沿父节点-子节点连接,达到任意节点的序列。同一个节点在一条路径序列中 至多出现一次 。该路径 至少包含一个 节点,且不一定经过根节点。
[Day31-04]-[二叉树] 二叉树的堂兄弟节点
在二叉树中,根节点位于深度 0 处,每个深度为 k 的节点的子节点位于深度 k+1 处。
[Day31-03]-[二叉树] BST 树中的众数
给你一个含重复值的(BST)的根节点 root ,找出并返回 BST 中的所有 众数(即,出现频率最高的元素)。
[Day31-02]-[二叉树] 二叉搜索树节点最小距离
给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值 。
[Day31-01]-[二叉树] 二叉树的直径
二叉树的直径给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过也可能不穿过根结点。
[Day30]-[二叉树] 第二小的值
给定一个非空特殊的二叉树,每个节点都是正数,并且每个节点的子节点数量只能为 2 或 0。如果一个节点有两个子节点的话,那么该节点的值等于两个子节点中较小的一个。
图算法系列之计算图中最短路径
我们通过深度优先搜索可以从图中找出一条通过顶点v到顶点w的路径,但是深度优先搜索与顶点的输入有很大的关系,找出来的路径也不一定是最短的,通常情况下我们很多时候需要找出图中的最短路径,比如:地图功能。这里我们就需要使用到广度优先搜索算法
图算法系列之深度优先搜索(二)
吐血整理程序员必读书单:https://github.com/silently9527/ProgrammerBooks
图算法系列之无向图的数据结构
吐血整理程序员必读书单:https://github.com/silently9527/ProgrammerBooks
基于数组或链表实现 Map
程序员常用的IDEA插件:https://github.com/silently9527/ToolsetIdeaPlugin