| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> 小鲤算法之算法时间计算 -> 正文阅读 |
|
[数据结构与算法]小鲤算法之算法时间计算 |
? ? ?小鲤只是一条想要好运的笨鲤鱼o(* ̄▽ ̄*)ブ 你的程序运行了多久呢?怎么看呢?别着急,小鲤为你提供了两个办法?o(^▽^)o? 1.时钟打点
(1)clock_t是clock()函数返回的变量名;clock()函数在time.h中 (2)这里是你想要测试运行的程序 (3)一些不在测试范围的准备工作或者处理放在这里: 我们来测试下: item:给定多项式在定点的值: ?
(1)秦九韶公式 (2)一般的多项式加和 这里不做更多的赘述了。但是运行后(请你自己找一个多项式带入)时间都是0.00e 但是这两个函数的时间可不是一样的呀! 想到物理中的累加法了吗??(●′▽`●)
于是,我们有了:
这里仅给出循环部分。 (1)宏定义,defne;1e7是科学计数法,等价于十的七次方; (2)循环MAXK-1次; 有人会问了,小鲤,每次都要这样吗?如果我的数据规模是千万级,甚至是亿万级呢?我的代码再来三个嵌套for循环,我怎么会等到我的电脑给出结果啊 所以,我们更经常使用的是第二种方法,来看程序运行时间 (至于为啥有第一种,他只是你闲的无聊的耍酷工具而已ヽ(○′?`)ノ) 2,时间复杂度这块内容其实东西不少,但是小鲤怎么忍心让读者大大看什么大O啊,小O啊什么奇怪的符号啊(才不是小鲤懒呢) 总结有这么几点,你会了就🆗了 1.计算你的程序时间复杂度,数据规模都是n(这里的n可以看作一个无穷级数,所以时间复杂度可以看作渐进的) 2,我们最常用的是大o,即 ?我们在推导大O阶时,有这样的操作 ①不计算常数余项,如+5,-3这样的小项 ②抓大放小,如我们只看项,此外我们不看系数,系数常被忽略; ③对于logn,我们不关心它的底数; ?其他你还要注意的: ?学会了吗? 如果我的文章对你有帮助,不要吝惜你的点赞,小鲤希望得到你的支持?(′?`?) 求三连和关注!!! 部分内容来自mooc数据结构(浙大)和算法图解 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 | -2025/1/10 2:41:34- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |