数据结构&算法
文章平均质量分 53
TheJianJiao
这个作者很懒,什么都没留下…
展开
-
递归算法 - 二叉树最大路径和
文章目录二叉树最大路径和题目:解析:代码:二叉树最大路径和题目:路径被定义为一条从树中任意节点出发,沿父节点-子节点连接,达到任意节点的序列。同一个节点在一条路径序列中至多出现一次 。该路径 至少包含一个 节点,且不一定经过根节点。路径和 是路径中各节点值的总和。给你一个二叉树的根节点 root ,返回其 最大路径和 。输入:root = [1,2,3]输出:6解释:最优路径是 2 -> 1 -> 3 ,路径和为 2 + 1 + 3 = 6输入:root = [-10,9,2原创 2021-07-26 11:17:35 · 670 阅读 · 0 评论 -
栈:双栈排序
双栈排序偶然发现的一个题目,应该是面试手撕的算法题,看到了撸它呗!题目给定一个乱序的栈,设计算法将其升序排列。ps: 允许额外使用一个栈来辅助操作输入 [4, 2, 1, 3]输出 [1, 2, 3, 4]分析| | | ||1| | ||2| | ||4| |3|stk tmp (1)此时遇到的问题就是要将 stk 栈顶的元素与 tmp 栈顶的元素进行交换位置;| | | ||3| | ||2|原创 2021-07-18 00:13:40 · 207 阅读 · 0 评论 -
堆排序—数组中的第K个最大元素
文章目录堆最大堆-堆排序例题如何排序堆化建堆找第K大值堆堆可以看作是一个近似的完全二叉树;完全二叉树??完全二叉树就是对于一颗二叉树,假设深度为d,除第d层外的所有节点都构成满二叉树,且第d层所有节点从左到右连续紧密排列;满二叉树??满二叉树就是叶子节点都在同一层,并且除了叶子节点之外的节点都有两个子节点;堆可分为 最大堆 和 最小堆;最大堆就是根节点是最大元素,除了根节点,其他节点最多和其父节点一样大;左右兄弟之间没有顺序;十大排序算法中的堆排序中,通常使用最大堆进行排序;最小堆通常用原创 2021-07-16 14:12:25 · 739 阅读 · 0 评论 -
二叉树:前中后序遍历(递归与迭代)
前序遍历题目:给你二叉树的根节点,返回它节点值的前序遍历。解析:对于递归函数,分为三个部分:确定 输入参数 和 返回值 确定 终止条件 确定 单层循环逻辑 对于递归法,前、中、后序遍历只是改变 三类节点的遍历顺序对于迭代法,前、中、后序遍历 不仅仅是只改变某些代码顺序就可以在 前序遍历迭代法 中,要访问和处理的元素顺序是一致的题解:递归法class Solution {public: vector<int> preorderTraversal(原创 2021-07-16 00:17:39 · 96 阅读 · 0 评论