计算机系统应用教程网站

网站首页 > 技术文章 正文

详解算法时间复杂度#原创不易请勿抄袭

btikc 2024-09-25 15:09:51 技术文章 20 ℃ 0 评论

二分查找算法的种类繁多,如星河璀璨,而探寻其优劣之道却非仅凭掐表计时所能尽数。再者,不同机器之性能、编程语言之差异亦会使同一算法在不同环境下展现迥异之风采。因此吾等尚需以客观度量之标准,这便是时间复杂度。

·谓之大O者,以其表算法之最劣情况,运行时间之上界,欲深探时间复杂度之究竟,亦从四项察之。

→其一作用:以直观之目视之,算法之运行效能可一目了然。

→其二表达式之含义:算法完成计算任务之成本与其输入数据量之联系。

→其三表达逻辑:时间复杂度之考量非直接依据时间长短为据,乃以执行步骤次数为据,以间接是指。

·其次要素要素:

→一者以高次方覆盖低次方,以凸显时间复杂度之核心。譬如n立方与n平方同在,忽略常数;

→要素二者:常数应弃之于大数之前,可忽略不计。以简表达,如9加n立方与9乘n立方,皆以n立方概制,以求精炼。

下面5等共赏诸场景,其时间复杂度之表达式及其性能优劣排名。

·首先观瞻者n0乃常数时间复杂度也,此复杂度之操作非一输入之大小而变恒定如一。

·其次观瞻者log n乃对数时间复杂度,无以二分查找为引,彰显其精妙。

·再者观瞻n乃线性时间复杂度,吾以单层for循环为引,即可窥其全貌。

·再次观瞻n平方,其乃平方时间复杂度。吾可以汝等老友冒泡排序为例,此视频以直角坐标关注复杂度之增减为终,图中以横轴为入参之数量变化,纵轴则是其计算之耗费,如此乃可直观领悟其间之变化。

至此视频已毕,愿诸君在算法之道上精进不辍,再会。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表