`

算法和数据结构

阅读更多
算法:
数据结构与算法的关系是相互依赖不可分割的。
算法的定义:算法是解决特定问题求解步骤的描述,在计算机中为指令的有限序列,并且每条指令表示一个或多个操作。
算法的特性:有穷性、确定性、可行性、输入、输出。
算法设计的要求:正确性、可读性、健壮性、高效率和低存储量需求。
算法特性与算法设计容易混,需要对比记忆。
算法的度量方法:事后统计方法(不科学、不准确)、事前分析估算方法。
在讲解如何用事前分析估算方法之前,我们先给出了函数渐近增长的定义。
算法的时间复杂度和空间复杂度
函数的渐近增长:给定两个函数f(n)和g(n),如果存在一个整数N,使得对于所有的n > N,f(n)总是比g(n)大,那么,我们说f(n)的增长渐近快于g(n)。于是我们可以得出一个结论,判断一个算法好不好,我们只通过少量的数据是不能做出准确判断的,如果我们可以对比算法的关键执行次数函数的渐近增长性,基本就可以分析出:某个算法,随着n的变大,它会越来越优于另一算法,或者越来越差于另一算法。
然后给出了算法时间复杂度的定义和推导大O阶的步骤。
推导大O阶:
用常数1取代运行时间中的所有加法常数。
在修改后的运行次数函数中,只保留最高阶项。
如果最高阶项在且不是1,则去除与这个项相乘的常数。
存得到的结果就是大O阶。
通过这个步骤,我们可以在得到算法的运行次数表达式后,很快得到它的时间复杂度,即大O阶。同时我也提醒了大家,其实推导大O阶很容易,但如何得到运行次数的表达式却是需要数学功底的。
接着我们给出了常见的时间复杂度所耗时间的大小排列: 如图

  • 大小: 19.6 KB
分享到:
评论

相关推荐

    算法与数据结构.pdf

    王教授的课程不仅深入浅出地讲述了理论知识,而且还注重实践应用,帮助学生掌握如何将复杂问题转化为计算机可处理的形式,并通过合理设计数据结构和算法来高效解决问题。 在课程的学习过程中,学生首先会接触到数据...

    《Delphi算法与数据结构》全书的源代码

    《Delphi算法与数据结构》是一本深入探讨编程领域核心概念的书籍,专注于使用Delphi语言来实现各种算法和数据结构。这本书的源代码提供了学习者一个实践和理解理论知识的绝佳平台。通过分析和运行这些源代码,读者...

    挑战程序设计竞赛 2 算法和数据结构

    挑战程序设计竞赛 2 算法和数据结构 渡部有隆 人民邮电出版社

    基于JavaScript实现的算法和数据结构

    【作品名称】:基于JavaScript实现的算法和数据结构 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【项目介绍】:基于JavaScript...

    国外经典算法和数据结构

    国外经典算法和数据结构 (共3部)part3

    用于编码面试审查的算法和数据结构 .zip

    用于编码面试审查的算法和数据结构。Python 中的代码目录这是我的...有关 Python 数据结构和算法的优秀书籍Python 中的数据结构和算法(精装)Python 中的数据结构和算法(平装本 - 便宜得多) 理解算法可能含有错误。

    算法导论——所有算法和数据结构的C++实现

    所有代码都是在我学习这本书时亲手敲出来的,并且调试正确了,包括:第三部分到第六部分(即10-26章),外加第七部分31和32章所有的算法和数据结构以及编程习题还有思考题的C++实现源代码; 第一、二部分学习的较早...

    信息学奥赛(基础算法和数据结构)视频链接(2020.11.24).pdf

    * 奥林匹克信息学竞赛(NOIP)数据结构与算法教程:一个详细介绍数据结构和算法的教程。 * 洛谷 2020 算法竞赛秋令营:一个在线算法竞赛平台,提供了许多有用的算法和数据结构资源。 *计蒜客选课中心:一个在线学习...

    算法和数据结构相关书籍

    讲解算法和数据结构的好书 本书较为详细和系统的讲解了算法和数据结构相关基础知识

    数据结构-基于Java的算法和数据结构源码.zip

    数据结构-基于Java的算法和数据结构源码.zip数据结构-基于Java的算法和数据结构源码.zip数据结构-基于Java的算法和数据结构源码.zip

    挑战程序设计竞赛2 算法与数据结构_高清完整书签.rar

    《挑战程序设计竞赛2 算法与数据结构》是一本专为程序设计人员和爱好者量身打造的书籍,尤其适合那些对算法和数据结构有浓厚兴趣的读者,包括高校计算机专业的学生和教师。该书提供了全面且深入的算法解析和实例应用...

    JavaScript算法和数据结构

    数据结构是在计算机中组织和存储数据的一种特殊...算法和数据结构是计算机学习的基石。无论你学习计算机的任何方向,没有扎实的算法和数据结构,肯定学习起来就捉襟见肘了。这是基于 JavaScript 的算法和数据结构教程。

    Java算法和数据结构

    一本讲述java算法和数据结构的好书。 什么是数据结构和算法?

    竞赛算法和数据结构

    竞赛算法和数据结构,里面的还挺不错的,希望大家共同努力!

    delphi算法与数据结构.rar

    《Delphi算法与数据结构》是一本专注于使用Delphi编程语言进行算法实现和数据结构学习的资源集合。这本书籍共分为四部分,包含了丰富的理论知识和实践案例,是Delphi开发者深入理解算法和数据结构的必备参考。 在...

    delphi算法与数据结构

    delphi算法与数据结构,这本书使用delphi语言讲解算法和数据结构,pdf内容清晰。

    算法与数据结构教程(C++版)源码唐宁九

    C++作为一门强大的编程语言,其模板类库STL(Standard Template Library)为实现这些数据结构和算法提供了便利。STL包含容器(如vector、list、set、map)、迭代器、算法(如排序、查找)和函数对象(functors)。...

    算法和数据结构新手班.zip

    算法和数据结构新手班.zip

Global site tag (gtag.js) - Google Analytics