20200728_数据结构C++语言版_读书笔记10_大omega

69 篇文章 0 订阅
22 篇文章 0 订阅

20200728_数据结构C++语言版_读书笔记10_大omega

每日小知识

ls -h命令,人性化显示文件大小,默认是字节,加上-h可以变为kb或gb。

一、相关术语

  • big-omega notation
    大Ω,渐进下界。

二、相关内容

第1章,绪论。
1.2 复杂度度量

1.2.1 时间复杂度

1.2.2 渐进复杂度(一)

■大Ω记号

如果存在正的常数c和函数g(n),使得对于任何n>>2都有
T(n) ≥ c*g(n)
就可以认为,在n足够大之后,g(n)给出了T(n)的一个渐进下界。此时,我们记之为:
T(n) = Ω(g(n))
这里的Ω称作“大Ω记号”(big-omega notation)。

与大O记号相反,大Ω是对算法执行效率的乐观估计——对于规模为n的任意输入,算法的运行时间都不低于Ω(g(n))。

比如,即便在最好情况下,起泡排序也至少需要T(n) = Ω(n)的计算时间。

■大Θ(h(n)记号)
借助于大O记号、大Ω记号,可以对算法的时间复杂度作出定量的界定,亦即,从渐进的趋势看,T(n)介于Ω(g(n))与O(f(n))。
若恰巧出现g(n)=f(n)的情况,则可以使用另一记号来表示。

如果存在正的常数c1<c2和函数h(n),使得对于任何n>>2都有
c1*h(n) ≤ T(n) ≤ c2*h(n)
就可以认为在n足够大之后,h(n)给出了T(n)的一个确界。此时,我们记之为:
T(n) = Θ(h(n))

这里的Θ称作“大Θ记号”(big-theta notation),它是对算法复杂度的准确估计——对于规模为n的任何输入,算法的运行时间T(n)都与Θ(h(n))同阶。

三、看不懂的内容

n>>2。

四、相关笔试题

面试例题13、C++中的空类默认产生哪些类成员函数?

解析:类的概念问题

答案:构造,析构,拷贝,赋值。

面试例题14:structure是否可以constructor、destructor及成员函数?如果可以,那么structure和class还有区别吗?

答案:区别是class中的变量默认是private,struct中的变量默认为public。
struct可以有构造函数、析构函数,之间也可以继承。
C++中的struct其实和class意义一样,唯一不同的就是struct里面默认的访问控制是public,class中默认的访问控制是private。C++中存在struct关键字的唯一意义就是为了让C程序员有个归属感,是为了让C++编译器兼容以前用C开发的项目。

本文归类

建议归类到【数据结构】。

明日计划

标题:数据结构C++语言版_读书笔记11_空间复杂度
小知识:centos7配置本地源。

参考文献:

《数据结构(C++语言版)》,第11页。

《程序员面试手册》,第27页。

面试进度

投简历,广联达科技。

Linux视频学习进度,4.1.1与4.1.2,文件处理命令。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

丰哥86

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值