
算法
文章平均质量分 62
sicaujh
这个作者很懒,什么都没留下…
展开
-
为什么要模1000000007
刷力扣时,经常会遇到要模1000000007。转载 2023-02-18 20:26:51 · 283 阅读 · 0 评论 -
算法时间复杂度与空间复杂度
算法(Algorithm)是指用来操作数据、解决程序问题的一组方法。对于同一个问题,使用不同的算法,也许最终得到的结果是一样的,但在过程中消耗的资源和时间却会有很大的区别。那么我们应该如何去衡量不同算法之间的优劣呢?主要还是从算法所占用的「时间」和「空间」两个维度去考量。时间维度:是指执行当前算法所消耗的时间,我们通常用「时间复杂度」来描述。 空间维度:是指执行当前算法需要占用多少内存空间,我们通常用「空间复杂度」来描述。因此,评价一个算法的效率主要是看它的时间复杂度和空间复杂度情况。然而,转载 2021-01-28 20:27:52 · 121 阅读 · 0 评论 -
栈中stack.pop()和stack.peek()使用区别
看源码:pop():peek():区别:可见pop()函数是将栈顶元素的值赋值给obj再将其返回,并且会弹出(删除)该栈顶元素。而peek()函数仅仅是返回栈顶元素,不将其弹出。原创 2021-01-04 22:03:12 · 2293 阅读 · 0 评论 -
算法时间复杂度的计算
时间复杂度的定义 一般情况下,算法中基本操作重复执行的次数是问题规模n的某个函数,用T(n)表示,若有某个辅助函数f(n),使得当n趋近于无穷大时,T(n)/f(n)的极限值为不等于零的常数,则称f(n)是T(n)的同数量级函数。记作T(n)=O(f(n)),称O(f(n))为算法的渐进时间复杂度(O是数量级的符号),简称时间复杂度。根据定义,可以归纳出基本的计算步骤1. 计算出基本操作的执行次数T(n) 基本操作即算法中的每条语句(以;号作为分割),语句的执行次数也叫做语句的频度。在做...转载 2021-01-04 21:29:52 · 2175 阅读 · 0 评论