博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
从C语言的角度重构数据结构系列(二)-如何衡量一个算法的优劣?
阅读量:1475 次
发布时间:2019-04-20

本文共 413 字,大约阅读时间需要 1 分钟。

前言

在学习具体的数据结构和算法之前,每一位初学者都要掌握一个技能,即善于运用时间复杂度和空间复杂度来衡量一个算法的运行效率。

在这里给自己打个广告,需要的小伙伴请自行订阅。

python快速学习实战应用系列课程

手把手教你ML机器学习算法源码全解析

所谓算法,即解决问题的方法。同一个问题,使用不同的算法,虽然得到的结果相同,但耗费的时间和资源肯定有所差异。就比如拧一个螺母,扳手和钳子都可以胜任,但使用钳子拧螺母肯定没有扳手的效率高。

这也就意味着,如果解决问题的算法有多种,我们就需要从中选出最好的那一个。那么,怎么判断哪个算法更好(或者更优)呢?

1.时间复杂度和空间复杂度

1.1“好”算法的标准

解决一个问题的方法可能有很多,但能称得上算法的,首先它必须能彻底解决这个问题(称为准确性),且根据其编写出的程序在任何情况下都不能崩溃(称为健壮性)。

注意,程序和算法是完全不同的概念。算法是解决某个问题的想法、思路;

转载地址:http://ohmgu.baihongyu.com/

你可能感兴趣的文章
字节流复制文本文件【应用】
查看>>
私钥加密私钥解密
查看>>
锁的释放流程-ReentrantLock.unlock
查看>>
Java判断字符串是否为数字(浮点类型也包括)
查看>>
ubuntu opencv-python 安装很慢问题
查看>>
MySQL5.7版本修改了my.ini配置文件后mysql服务无法启动问题
查看>>
Exception in thread “main“ java.sql.SQLException错误之一: Column Index out of range, 0 < 1.
查看>>
C3p0连接池连接mysql出现: com.mchange.v2.resourcepool.BasicResourcePool
查看>>
Azkaban体系结构
查看>>
机器学习之重头戏-特征预处理
查看>>
synchronized底层实现及锁的升级、降级
查看>>
PermGen space-永久区内存溢出
查看>>
Maven继承和聚合
查看>>
Apache Kafka:优化部署的 10 种最佳实践
查看>>
Leetcode 35. 搜索插入位置 c#
查看>>
[9] JMeter-常用函数的使用
查看>>
[12] JMeter-结果分析之图形图表
查看>>
使用aspose.words 18.6实现pdf文档转换
查看>>
Java数组详解
查看>>
vs中动态DLL与静态LIB工程中加入版本信息的方法
查看>>