- 9
- 0
- 约6.22千字
- 约 37页
- 2024-08-07 发布于北京
- 举报
(1)执行一条读写语句或赋值语句所用的时间为O(1)。
(2)依次执行一系列语句所用的时间采用求和准则。
(3)条件语句if的耗时主要是当条件为真时执行语句体所用的时间,而检测条件是否为真还需耗费O(1)。
(4)对while、do…while和for这样的循环语句,其运行时间为每次执行循环体及检测是否继续循环的时间,故常用乘法准则。例1.3试求下面程序段的时间复杂度。
for(i=0;in;i++)
for(j=0;jn;j++)
{
C[i][j]=0;
for(k=0;kn;k++)
C[i][j]=C[i][j]+A[i][k]*B[k][j];
}【解】我们给程序中的语句进行编号,并在其右侧列出该语句的频度:
(1)for(i=0;in;i++) n+1
(2)for(j=0;jn;j++) n(n+1)
{
(3)C[i][j]=0 n2
(4)for(k=0;kn;k++) n2(n+1)
(5)C[i][j]=C[i][j]+A[i][k]*B[k][j];n3
}感谢谢谢,精品课件资料搜集第1章绪论1.1数据结构的概念1.2逻辑结构与存储结构1.3算法与算法分析 1.1数据结构的概念
人们利用计算机的目的是解决实际问题。在明确所要解决问题的基础上,经过对问题的深入分析和抽象,为其在计算机中建立一个模型,然后确定恰当的数据结构表示该模型,再在此基础上设计合适的算法,最后根据设计的数据结构和算法进行相应的程序设计来模拟和解决实际问题,这就是计算机求解问题的一般过程。因此,用计算机解决实际问题的软件开发一般分为下面几个步骤:(1)分析阶段:分析实际问题,从中抽象出一个数学模型。
(2)设计阶段:设计出解决数学模型的算法。
(3)编程阶段:用适当的编程语言编写出可执行的程序。
(4)测试阶段:测试、修改直到得到问题的解答。
数据结构课程集中讨论软件开发过程中的设计阶段,同时涉及分析阶段和编程阶段的若干基本问题。此外,为了构造出好的数据结构及其实现,还需考虑数据结构及其实现的评价与选择。因此,数据结构课程的内容包括了如表1.1所示的数据表示和数据处理方面所对应的3个层次。数据结构的核心内容是分解与抽象。通过对问题的抽象,舍弃数据元素(含义见后)的具体内容,就得到逻辑结构。类似地,通过分解将处理要求划分成各种功能,再通过抽象舍弃实现的细节,就得到基本运算的定义。上述两个方面的结合使人们将问题转换为数据结构,这是一个从具体(即具体问题)到抽象(即数据结构)的过程。然后,通过增加对实现细节的考虑,进一步得到存储结构和实现算法,从而完成设计任务,这是一个从抽象(即数据结构)到具体(即具体实现)的过程。熟练掌握这两个过程是数据结构课程在专业技能培养方面的基本目标。1.1.1数据与数据元素
数据是人们利用文字符号、数学符号以及其他规定的符号对现实世界的事物及其活动所做的抽象描述。简而言之,数据是信息的载体,是对客观事物的符号化表示。从计算机的角度看,数据是计算机程序对所描述客观事物进行加工处理的一种表示,凡是能够被计算机识别、存取和加工处理的符号、字符、图形、图像、声音、视频信号等都可以称为数据。我们日常涉及到的数据主要分为两类:一类是数值数据,包括整数、实数和复数等,它们主要用于工程和科学计算以及商业事务处理;另一类是非数值数据,主要包括字符和字符串以及文字、图形、语音等,它们多用于控制、管理和数据处理等领域。
数据元素是数据集合中的一个“个体”,是数据的基本单位。在计算机中,数据元素通常被作为一个整体来进行考虑和处理。在有些情况下,数据元素也称为元素、结点、顶点和记录等。一个数据元素可以由一个或多个数据项组成,数据项是具有独立含义的数据最小单位,有时也称为字段或域。例1.1一个学生信息(数据)表如表1.2所示,请指出表中的数据、数据元素及数据项,并由此得出三者之间的关系。【解】表1.2中是全部学生信息数据。表中的每一行即为记录一个学生信息的数据元素,而该行中的每一项则为一个数据项。数据、数据元素和数据项实际上反映了数据组织的三个层次,数据可以由若干个数据元素构
原创力文档

文档评论(0)