算法
文章平均质量分 76
Janthrven
有老婆了
展开
-
算法时间复杂度
小记 我们把 算法需要执行的运算次数用 n 的函数 表示,即 T(n) 。 为了 评估算法需要的运行时间 ,简化算法分析,引入时间复杂度的概念:用来度量算法的运行时间,记作: T(n) = O(f(n))。它表示随着 输入大小n 的增大,算法执行需要的时间的增长速度可以用 f(n) 来描述。 1.常数项对函数的增长速度影响并不大,所以当 T(n) = c,c 为一个常数的时候,那么这个算法的时间复杂度为O(1);如果 T(n) 不等于一个常数项时,直接忽略常数项。 2.高次项对于函数的增长速度的影响是很大原创 2021-09-24 16:57:15 · 285 阅读 · 0 评论 -
贪心算法 待续
贪心算法 未完核心思想例子贪心算法三个核心问题 核心思想 假设一个问题比较复杂,暂时找不到全局最优解,那么我们可以考虑把原问题拆分成几个小问题(分而治之思想),分别求每个小问题的最优解,将这些局部最优解当作原问题的解,注意: 这样得到的解不一定是原问题全局的最优解。 总的来说,可以分为三步: 第一步 明确到底什么是最优解 第二步 明确什么是子问题的最优解 第三步 分别求出子问题的最优解再堆叠出全局最优解 例子 有一个背包,最多能承载150斤的重量,现在有7个物品 重量依次为 35,30,60,50,40,原创 2021-09-15 23:22:16 · 85 阅读 · 0 评论