数据结构_001

  • Data Structure
    • 1.什么是数据结构
      • 1.1基本概念和术语
        • 基本概念
          • 数据
            • 任何可以被计算机处理的信息
          • 数据元素
            • 数据结构讨论的基本单位
          • 数据项
            • 数据结构中讨论的最小单位
          • 数据对象
            • 性质相同的数据元素的集合,数据的一个子集 
              • 整数数据对象
              • 字母字符数据对象
          • 数据结构(狭义)
            • 带结构的数据元素的集合
            • 是相互之间存在一种或多种特定关系的数据元素的集合
              • 关系不同结构不同
              • 数据的逻辑结构分类(数据关系)
                • 线性结构
                • 树形结构
                • 图结构或网状结构
                • 集合结构
            • 是相互之间存在着某种逻辑关系的数据元素的集合
          • 数据结构形式定义
            • 数据结构是一个二元组
            • 数据,结构(D,S)
          • 数据的存储结构
            • 逻辑结构在计算机中的表示
            • 数据元素的映像
              • 用二进制位()的位串表示数据元素
            • 关系的映像
              • 顺序映像和非顺序映像
                • 顺序存储
                  • 以相对的存储位置表示后继关系,整个存储结构中只含数据元素本身的信息
                • 链式存储
                  • (指针结构)需要用一个和X在一起的附加信息指示y的存储位置
        • 数据类型(Data Type)
          • Like int float string
          • 规定了其取值范围和运算内容
          • 不同类型的变量的取值和所能进行的操作是不同的
          • 是一个值的集合和定义在此集合上的一组操作的总称
        • 抽象数据类型(Abstract Data Type)
          • 概念
            • 一个数学模型以及定义在此数学模型上的一组操作
          • 包含内容
            • 数据对象
            • 数据关系
            • 操作
              • 算法设计
          • 重要特征
            • 数据抽象
            • 数据封装
      • 1.2抽象数据类型的表示与实现
        • 概念
          • 用已有的数据类型来表示实现新的数据类型和结构
      • 1.3算法和算法分析
        • 算法
          • 概念
          • 特征
            • 有穷性
            • 确定性
            • 可行性
            • 有输入
              • 可以无
            • 有输出
              • 必须有
        • 算法设计的要求
          • 目标
            • 正确性
              • 不含语法错误
              • 对机组输入数据得到满足要求的结果
              • 对special典型苛刻的数据能得到满足要求的结果
                • 以这个为衡量算法是否标准的依据
              • 对于一切合法的输入数据都能得出满足要求的结果
            • 可读性
              • 易读
            • 健壮性
              • 输入非法时恰当地表示
              • 处理出错方法不是中断执行而是返回一个表示错误或错误性质的值,以便在更高的抽象层次上进行处理
            • 高效率与低存储量的需求
              • 与问题的规模有关
              • 需求时间和空间越少越好
        • 算法效率的度量
          • 度量方法
            • 事后统计法
              • 缺点
                • 必须执行程序
                • 其他因素掩盖算法本质
            • 事前分析估算法
              • 消耗时间取决因素
                • 算法选用的策略
                • 问题的规模
                • 编写程序的语言
                • 编译程序产生的机器代码的质量
                • 计算机执行指令的时间
              • 抛开硬件软件原因
                • 只依赖于问题的规模
                • 换句话说是问题规模的函数
                • 算法中基本操作重复执行的次数是问题规模n的摸个函数f(n)
                • 算法的时间度量记作 T ( n ) = O ( f ( n )  )
                • 即时间复杂度
          • 算法的时间复杂度
            • 算法 = 控制结构 + 原操作
            • (固有数据来行的操作)
              • 算法的执行时间与原操作执行次数之和成正比
          • 算法效率的度量
            • O(n2)
          • 算法的存储空间需求
            • S(n) = O ( g ( n ) )
              • 空间需求随着问题规模n的增大而同g(n)的增长率相同
            • 算法的存储量
              • 输入数据所占空间
              • 程序本身所占空间
              • 辅助变量所占空间
            • 几种占用空间情况
              • 若输入数据所占空间只取决于问题本身,和算法无关,则只需要分析除输入和程序之外的辅助变量所占额外空间
              • 若所需额外空间相对于输入数据量来说是常数,则称此算法为原地工作
              • 若所需存储量依赖于特定的输入,则通常按最坏情况考虑


你可能感兴趣的:(学习总结)