数据结构之绪论

会有一股神秘感。 提交于 2020-03-05 16:20:07

1.基本概念和术语

  • 数据:对客观事物的符号表示,在计算机科学中是指所有能输入到计算机并被计算机程序处理的符号的总称
  • 数据元素:数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。
  • 数据对象:性质相同的数据元素的集合,是数据的一个子集
  • 数据结构:相互之间存在一种或多种特定关系的数据元素的集合
  • 存储结构:数据结构在计算机中的表示,包括数据元素的表示和关系的表示,有顺序存储结构和链式存储结构
  • 数据类型:刻画操作对象的特性
  • 抽象数据类型:指一个数学模型以及定义在该模型上的一组操作

2.算法和算法分析

  • 算法的五个特性:
    • 有穷性
    • 确定性
    • 可行性
    • 有输入
    • 有输出
  • 算法设计的要求
    • 正确性
    • 可读性
    • 健壮性
    • 效率与低存储量需求
  • 算法效率的度量
    • 事后统计的方法
      缺点:一是先必须运行依据算法编制的程序;二是所得时间的统计量依赖于计算机的硬件、软件等环境因素。
    • 事先分析估算的方法
  • 一个算法是由控制结构(顺序、分支和循环3种)和源操作(指固有数据类型的操作)构成的,则算法时间取决于两者的综合效果。通常的做法是,从算法中选取一种对于研究的问题来说是基本操作的原操作,以该基本操作重复执行的次数作为算法的时间量度。
  • 算法的渐进时间复杂度,简称时间复杂度:T(n) = O(f(n))
    在这里插入图片描述
  • 算法的空间复杂度:S(n) = O(f(n))
    若额外空间相对于输入数据量来说是常数,则称此算法为原地工作
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!