算法的设计目标
在设计算法来解决实际问题时,通常要求算法是正确的、可读的、健壮的、高效的。一个好的算法应该达到以下目标
![](https://img-blog.csdnimg.cn/img_convert/18a91391a19c59fbf7650d2e61d795ae.png)
2.计算时间复杂度例题可如下:
![](https://img-blog.csdnimg.cn/img_convert/b4bf02e00ebdeaacf19b3d9005d16ae4.png)
![](https://img-blog.csdnimg.cn/img_convert/bb609f362d6d1f05444da97b91842036.png)
空间复杂度
上述思维导图基本将信息补充全面,这里在对其细节进行补充。如果输入数据说占用空间只取决于问题本身,则只需要分析除输入和程序外的额外空间,否则应同时考虑输入所需空间(对此我也不是很了解,如果有了解的可以在评论区给解释以下谢谢)。若额外空间相对于输入数据量来说是常数,则称此算法为原地工作。例如排序算法就如这一类。若所占空间依赖于特定的输入,则除了特别指明外,均按最坏情况来分析。
本节内容不多,只是对第一节进行一个补充,使我们对这门课的开头能够认识全面一些,那样后面的知识学习起来才不会有难以理解的问题。对于章内容少,干货不精笔者深感抱歉!以后会越来越精进笔者自身技能,希望以后可以为读者来此的目的多多助力。
下一节将介绍有关线性表的内容。