
算法导论
蓝猫_虹
道为体,术为用。有道者术能长久,无道者术必落空。学术先需明道,方能大成。学术若不明道,终是小器。故道为纲,术为目,纲举目张。道为世间规律,术为规律之用,道为本,术为末,若本末倒置,则一世殆矣!
展开
-
时间复杂度和空间复杂度
转载自: http://blog.youkuaiyun.com/u010402786/article/details/51435735一 时间复杂度的概念 一般情况下,算法的基本操作重复执行的次数是模块n的某一函数f(n),因此,算法的时间复杂度记做 T(n) = O(f(n))。 随着模块n的增大,算法执行的时间增长率f(n)的增长率成正比,所以f(n)越小,算法的时间复杂度越低,算法的效率越...转载 2018-12-14 16:02:39 · 533 阅读 · 0 评论 -
算法的基础概念,插入算法和分治算法分析
算法导论基础:1.关于一些概念算法:非形式的说,算法就是任何良定义的计算过程,该过程取某个值或值的集合作为输入并产生某个值或值的集合作为输出。 算法就是把输入转换成输出的计算步骤的一个序列。 可以把算法看成是用于求解良说明的计算问题的工具。一般来说问题陈述说明了期望的输入输出关系。算法则描述一个特定的计算过程来实现该输入输出体系。 (1)时间复杂度:执行这个算法需要消耗多少时间。 ...原创 2019-01-15 11:29:02 · 647 阅读 · 0 评论 -
分治策略时间复杂度计算
转发自:https://www.jianshu.com/p/7635e4babff2 文章说明了logN 怎么计算得到的。维基百科——在计算机科学中,分治法是建基于多项分支递归的一种很重要的算法范式。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。维基百科给出了分治法的定义,我相信这比...转载 2019-01-28 10:41:59 · 4106 阅读 · 0 评论 -
算法导论--函数的增长
3.函数的增长1.渐近记号我们将主要使用渐进记号来描述算法的运行时间。渐进记号实际上应用于函数。θ(n2)=an2+bn+c 这个是插入排序的运行时间表达,我们使用θ(n2)来表示。我们使用渐近记号来刻画算法的运行时间。(1) θ 记号插入排序的最坏运行时间为:T(n) = θ(n²)。让我们来定义这个记号意指什么。对于一个给定的函数g(n),用θ(g(n))来表示...原创 2019-01-30 14:42:45 · 1564 阅读 · 0 评论 -
算法导论---时间复杂度函数的推导
算法导论中式如何把一个分段函数推导出一个通式的?证明过程:原创 2019-01-30 14:46:30 · 919 阅读 · 0 评论 -
算法导论--最大子数组问题
最大子数组问题:问题描述: 假定你获得了投资挥发性化学公司的机会。与其生产的化学制品一样,这家公司的股票价格也是不稳定的。你被准许可以在某个时刻买进一股该公司的股票,并在之后某个日期将其卖出,买进卖出都是在当天交易结束后进行。为了补偿这一限制,你可以了解股票将来的价格。你的目标是最大化收益。虽然最高价卖出,最近价买进是收益最大化,但是在一段给定时期内,可能无法做到在最低价格时买进股票...原创 2019-01-30 14:53:08 · 453 阅读 · 0 评论