Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2019-07-15:谈谈你对时间复杂度和空间复杂度的理解? #97

Open
Moosphan opened this issue Jul 15, 2019 · 5 comments
Open

Comments

@Moosphan
Copy link
Owner

No description provided.

@gabyallen
Copy link

事后统计的方法
事前分析估算的方法
当一个算法的空间复杂度为一个常量,即不随被处理数据量n的大小而改变时,可表示为O(1);

@18361237136
Copy link

时间:完成一件事所需要的时间
空间:完成一件事所需要的资源

@yangfanggang
Copy link

顶楼上的
不过我们这里的时间复杂度一般都是用次数来衡量

@guosen
Copy link

guosen commented Jul 16, 2019

在进行算法分析时,语句总的执行次数 T(n) 是关于问题规模 n 的函数,进而分析 T(n) 随 n 变化情况并确定 T(n) 的数量级。算法的时间复杂度,也就是算法的时间度量,记作:T(n) = O(f(n))。它表示随问题规模 n 的增大,算法执行时间的增长率和 f(n) 的增长率相同,称作算法的渐进时间复杂度,简称为时间复杂度。其中 f(n) 是问题规模 n 的某个函数。
这样用大写 O()来体现算法时间复杂度的记法,我们称之为大O记法。随着 n 的增大,T(n) 增长最慢的算法为最优算法

算法的空间复杂度是通过计算算法所需的存储空间实现,记作:S(n) = O(f(n)),其中,n 为问题的规模,f(n) 为语句关于 n 所占存储空间的函数。
若算法执行时间所需要的辅助空间相对于输入数据量而言是个常数,则称此算法为原地工作,空间复杂度为 O(1)。

@yline
Copy link

yline commented Jan 14, 2020

    1,复杂度都是基于入参的量而言的。即常说的n,它描述的是模块计算所需的资源和入参的关联

    2,常有的值为:O(1)、O(n)、O(n^2)、O(logn)、O(nlogn)

    3,时间复杂度表示计算所需的次数,空间复杂度表示计算所需的额外申请的空间

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants