数据结构和算法
排序算法七:计数排序
一、计数排序 其基本思想为:假设 n 个输入的元素中的每一个都是在 0 到 k 之间的一个整数,对于每一个输入元素 x,确定小于 x 的元素个数,直接把 x 放在它输出的数组中的位置上。例如有 17 个元素小于 x,则 x 就应该在数组的第 18 个位置上。当有几个元素相同时,这一方案就要略作修改,不能都放在同一个位置上。 计数排序需 ... 阅读更多
581-最短无序连续子数组
来源:力扣 (LeetCode) 链接:581. 最短无序连续子数组,著作权归领扣网络所有。 一、题目描述 给定一个整数数组,你需要寻找一个连续的子数组,如果对这个子数组进行升序排序,那么整个数组都会变为升序排序。 你找到的子数组应是最短的,请输出它的长度。 示例 1: 输入: [2, 6, 4, 8 ... 阅读更多
113-路径总和 II
来源:力扣 (LeetCode) 链接:113. 路径总和 II 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 一、题目描述 给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。 说明:叶子节点是指没有子节点的节点。 示例: 给定如下二叉树,以及 ... 阅读更多
543-二叉树的直径
来源:力扣 (LeetCode) 链接:https://leetcode-cn.com/problems/diameter-of-binary-tree 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 一、题目描述 给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任 ... 阅读更多
数据结构之二叉搜索树
一、二叉搜索树 1.1 什么是二叉搜索树 算法导论中对二叉搜索树 (Binary Search Tree, 简称 BST) 的定义: 设 x 是二叉搜索树中的一个节点,如果 y 是 x 左子树中的一个节点,那么 y.key<=x.key 。如果 y 是 x 右子树中的一个节点,那么 y.key>=x.key 。 以下两棵 ... 阅读更多