02142<数据结构导论>之第一章 概论

文章目录

  • 引言
    • 术语:
    • 时间复杂度
    • 空间复杂度
    • 课后题:
      • 应用或解答题

引言

术语:

  • 数据: 所有被计算机存储, 处理的对象.
  • 数据元素: 数据的基本单位, 在程序中作为一个整体而加以考虑和处理.是运算的基本单位,通常具有完事确定的实际意义, 数据元素又简称为元素.
  • 数据元素由数据项组成. 在数据库中数据项又被称为字段或域, 它是数据的不可分割的最小标识单位.
  • 数据结构是相互之间存在一种或多种特定关系的数据元素的集合, 它包换数据的逻辑结构, 数据的存储结构和数据的基本运算.
  • 数据的逻辑结构是指数据元素之间的逻辑关系. 逻辑关系是指数据元素之间的关联方式或"邻接关系"
  • 数据的存储结构是指 数据的逻辑结构在计算机中的实现, 又称为物理结构, 一般包括两部分(存储数据元素, 数据元素之间的关联方式)
    • 表示数据元素之间的关联方式, 主要有顺序存储方式链式存储方式
    • 顺序存储方式是指所有存储结点存放在一个连续的存储区里. 利用结点在存储器中的相对位位置来表示数据元素之间的逻辑关系.
    • 链式存储方式是指每个存储结点除了含有一个数据元素外,还包含指针, 每个指针指向一个与本结点有逻辑关系的结点, 用指针表示数据元素之间的逻辑关系.
    • 还有索引存储方式和散列存储方式.
    • 一种逻辑结构可以采用一种或多种存储方式来数据元素之间的逻辑关系, 相应的存储结构称为逻辑结构的储存实现或存储映像.
    • 运算: 是指在某种逻辑结构上施加的操作, 即对逻辑结构的加工.
    • 算法: 规定了求解给定问题的所需的处理步骤及其执行顺序, 使得给定问题能在有限时间内被求解.

计算机解决一个具体问题时,一般要经过几个步骤:

  1. 从具体的问题中抽象出一个适当的数学模型.
  2. 设计一个求解该数学模型的算法
  3. 用某种计算机语言编写实现该算法的程序, 调试和运行程序直至最终得到问题的解答.

计算机解决问题的步骤: 原始数据->逻辑结构->存储结构

算法+数据结构 = 程序

算法分析:

  • 正确性
  • 易读性
  • 健壮性
  • 时空性: 是指该算法的时间性能(或时间效率)和空间性能(或空间效率), 前者是算法包含的计算量, 后者是计算机包含的存储量
  • 大O表示法,也称渐进表示法,

时间复杂度

  • 时间复杂度常见的阶数有常数阶O(1)(即算法的复杂度与输入规模n无关); 对数阶O(log2n), 线性阶O(n), 多项式阶O(nc)和指数阶O(Cn), C为大于1的正整数.
  • 常见的多项式阶有O(n2)和O(n3)
  • 常见的指数阶有O(2n)
  • 通常认为: 时间复杂度具有指数阶的算法是实际不可计算的, 而阶数低于平方阶的算法是高效的.
  • 最坏时间复杂度是指: 对相同输入数据量的不同输入数据, 算法时间用量的最大值.
  • 平均时间复杂度是指: 对所有相同数据量的各种不同输入数据, 算法时间用量的平均值.

空间复杂度

空间复杂度是对一个算法在运行过程中临时占用存储空间大小的量度.一个算法在执行期间所需要的存储空间量应包括以下三个部分:

  1. 程序代码所占用的空间
  2. 输入数据所占用的空间
  3. 辅助变量所占用的空间
    在估算算法空间复杂度时, 一般只需要分析辅助变量所占用的空间.

课后题:

应用或解答题

  1. 什么是数据, 数据元素, 数据项, 它们有何区别?
    答: 数据是所有被计算机存储或处理的对象
    数据元素:数据的基本单位, 在程序中作为一个整体被加以考虑和处理,是运算的基本单位,通常具体完整的实际意义.
    数据项: 数据元素由数据项数据, 在数据库中,数据项又称为字段或域,是数据的不可以分割的最小单位.
    从宏观上看, 数据, 数据元素, 数据项实际上反映了数据组织的三个层次, 数据可以若干个数据元素组成, 而数据元素又可由若干个数据项组成.

  2. 什么是数据的逻辑结构, 什么是数据的存储结构?
    答:数据的逻辑结构是指数据元素的之间的逻辑关系,所谓逻辑关系是指数据元素之间的关联方式或"邻接关系"
    数据的存储结构是指数据的逻辑结构在计算机的实现

  3. 数据的逻辑结构与存储结构有什么关系?
    答: 数据的逻辑结构可以采用一种或多种存储方式来表达数据元素之间的逻辑关系,相应的存储结构称为给定逻辑结构的存储实现或存储映像.

  4. 用计算机实现地图的着色问题,需要经过那些主要步骤? 每个步骤的主要工作是什么?
    答: 第一步: 对具体的问题抽象出一个适当的数据模型. 主要工作是建立数学模型, 将区域之间的相邻关系存储到计算机中.
    第二步:设计一个该问题求解的算法, 主要工作是对设计出地图求解算法每一个步骤.
    第三步: 用某种计算机语言编写实现该算法的程序, 调试和运行程序直至最终得到问题的解答.主要工作是:使用某种计算机语言编写出地图着色的程序

你可能感兴趣的:(02142,数据结构导论,自考,02142,数据结构导论)