algorithms
文章平均质量分 80
JFS_Study
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
展开
-
二叉树:找出两个节点的最近公共祖先
一、问题描述给定二叉树(不是二叉搜索树)和两个节点 n1 和 n2,编程实现找到二者的最近公共祖先(Lowest Common Ancestor,LCA)。二、思路分析LCA定义:最近公共祖先是两个节点所有公共祖先中离根节点最远的节点。从根开始遍历树,如果任一给定节点(n1和n2)与根匹配,则根为 LCA。如果根与任何节点都不匹配,重复左右子树中寻找节点 n1 和 n2。如果在其左子树中存在一个节点而在右子树中存在的另一个节点,则此节点即为 LCA。如果两个节点都位于左子树中,则 LCA 也位于左子原创 2022-03-25 14:29:46 · 5151 阅读 · 1 评论 -
十大经典排序算法
排序算法汇总原创 2022-06-18 10:25:39 · 602 阅读 · 0 评论 -
归并排序(Merge Sort)
归并排序(Merge Sort)原创 2022-06-17 17:44:21 · 538 阅读 · 0 评论 -
冒泡排序(Bubble Sort)
冒泡排序(Bubble Sort)原创 2022-06-17 17:36:20 · 3104 阅读 · 0 评论 -
算法面试比较常问的点
算法面试原创 2022-06-17 17:20:51 · 791 阅读 · 0 评论 -
算法的时间复杂度和空间复杂度
一、简述算法的优劣,有两个重要的衡量维度:1️⃣时间维度:是指执行当前算法所消耗的时间,通常用时间复杂度来描述。2️⃣空间维度:是指执行当前算法所占用的内存,通常用空间复杂度【Space Complexity】来描述。因此,评价一个算法的效率主要是看它的时间复杂度和空间复杂度情况。时间复杂度不是用来计算程序具体耗时的,空间复杂度也不是用来计算程序实际占用的空间的。二、时间复杂度T(n) = O(f(n))算法的时间复杂度,很多人以为就是该算法程序的运行时间。然而这种结果非常容易受运行环境的影响,原创 2022-01-19 09:26:44 · 2542 阅读 · 0 评论