计算机软件基础(自考本科)(1.7)
桂林电子科技大学 GUILIN UNIVERSITY OF ELECTRONIC TECHNOLOGY 桂林电子科技大学 GUILIN UNIVERSITY OF ELECTRONIC TECHNOLOGY 计算机 软件基础 第二篇 数据结构基础 第七章 数据结构概论 一、引言 1.基本概念 (1)数据(data):计算机加工的对象。 (2)数据节点(data node):数据的基本单位。 (3)数据项(data item):具有独立含义的最小表示单位。 一、引言 1.基本概念 例如: 一个单位的职工名册中,每一位职工的信息就是一个数据节点。 职工信息中包含编号、姓名、性别、年龄,参加工作时间、工资级别、职称、职务等项目,每一个项目就是某个职工数据节点的一个数据项。 一、引言 1.基本概念 (4)数据组织的三个层次: 数据 (5)数据结构(data structure):相互之间存在一种或多种特定关系的数据节点所组成的集合。 数据节点 数据项 (6)数据结构包含以下三个方面的内容:数据逻辑结构、数据的存储结构、数据的运算和实现。 一、引言 2.数据结构研究的主要内容 目的:如何组织数据,才能既省时,又省空间。 逻辑结构与存储结构之间的相互运算 (1)顺序存储; (2)链式存储; (3)索引存储; 数据的存储结构:是数据节点间的关系在计算机内存中的表示。 (1)线性结构:严格的“一对一” 关系; (2)非线性结构: 集合结构:为“松散” 关系; 树形结构:为严格的“一对多”关系; 图形结构:为“多对多”关系。 数据的逻辑结构:是指数据节点间的逻辑关系。 二、算法的性能指标及其描述 1.算法的时间复杂度T(n) 与算法的时间复杂度有关的因素: 求解问题的算法所消耗时间的程度。 (2)算法的时间复杂度 每一条语句执行的次数。 (1)语句频度 (1)与算法中的语句频度有关; (2)与问题的规模n有关; 二、算法的性能指标及其描述 一般情况下,算法的时间复杂度如下表: 常见的时间复杂度有小到大依次为:O(1)、O(log2n)、 O(n)、O(nlog2n)、O(n2)、O(n3)、O(2n)等。 算法所耗时间与n无关 T(n)=O(n0)=O(1) 算法中没有循环 算法所耗时间与n2有关 T(n)=O(n2) 算法中只有二层循环 算法所耗时间与n有关 T(n)=O(n) 算法中只有一层循环 含义 时间复杂度 二、算法的性能指标及其描述 2.算法的空间复杂度S(n) 求解问题的算法所消耗空间的程度。 历年真题演练 1.(2009.4单选)下列算法的时间复杂度是( )。 A O(nlogn) B O(n) C O(2n) D O(n2) for(int i=1;j<=n;i++) for(int j=1;j<=n;j++) a[i][j]=i+j; 桂林电子科技大学 GUILIN UNIVERSITY OF ELECTRONIC TECHNOLOGY 桂林电子科技大学 GUILIN UNIVERSITY OF ELECTRONIC TECHNOLOGY