数据结构和算法的概念

1.1 数据结构和算法的概念

数据结构与算法相辅相成,不会孤立存在;数据结构是为算法服务的,算法是作用在特定的数据结构之上(如数组具有随机访问的特点,二分查找算法需要用数组来存储数据)。

数据结构是静态的,只是组织数据的一种形式,若不在它的基础上操作、构建算法、孤立存在的数据结构是没有意义的。

两种层面区分数据结构和算法

  • 广义:

    • 数据结构:一组数据的存储结构

    • 算法:操作数据的一组方法

  • 狭义:

    • 指的是某些著名的数据结构和算法,如:队列、栈、堆、二分查找、动态规划等


为什么学数据结构和算法

学好算法写出 时间复杂度高、空间复杂度高的垃圾代码也会越来越少,可以提升自己的代码性能,从而使自己的编程水平得到质的飞升。

建立时间、空间复杂度意识,写出高质量代码,能够设计基础架构,提升编程技能,训练逻辑思维,积攒人生经验,以此获得工作回报,实现你的价值,完善人生。

1.2 算法的五大特性

  • 输入:算法具有0个或多个输入

  • 输出:算法至少有1个或多个输出

  • 有穷性:算法在有限的步骤之后会自动结束而不会无限循环,并且每一个步骤可以在可接受的时间内完成

  • 确定性:算法中的每一步都有确定的含义,不会出现二义性

  • 可行性:算法的每一步都是可行的,也就是说每一步都能够执行有限的次数完成



作者:焰火青春
链接:https://www.jianshu.com/p/f5a6bd129636
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


评论


编程爱好者 © 2021 - 2024