数据结构第一章

来源:互联网 发布:微盘源码 编辑:程序博客网 时间:2024/05/20 09:21

第一章  绪论

1.1数据结构在程序设计中的作用

数据要能被计算机处理,首先必须能够存储在计算机的内存中,这项任务称为数据表示。其核心是数据结构;一个实际问题的求解必须满足各项处理要求,这项任务称为数据处理,其核心是算法。

沃思公式:数据结构+算法=程序

1.2本书讨论的主要内容

由问题到想法需要分析问题,抽象出具体的数据模型,形成问题求解的基本思路;由想法到算法需要完成数据表示和数据处理;由算法到程序需要将算法的操作步骤转为某种程序设计语言对应的语句,换言之,就是用某种程序设计语言描述数据处理的过程。

非数值问题的数据组织和处理,主要内容有如下4点。

(1)数据的逻辑结构:线性表、树、图等数据结构,其核心是如何组织待处理的数据结构以及数据之间的关系。

(2)数据的存储结构:如何将线性表、树、图等数据结构存储到计算机的存储器中,其核心是如何有效的存储数据以及数据之间的逻辑关系。

(3)算法:如何基于数据的某种存储结构实现插入、删除、查找等基本操作,其核心是如何有效的处理数据。

(4)常用数据处理技术:包括查找技术、排序技术、索引技术等。

1.3数据结构的基本概念

1.3.1数据结构

数据是信息的载体,在计算机科学中是指所有能输入到计算机中并能被计算机程序识别和处理的符号集合。可以将数据分为两大类:一类是整数、实数等数值数据;另一类是文字、声音、图形和图像等非数值数据。

数据元素是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。构成数据元素不可分割的最小单位称为数据项。

数据结构是指相互之间存在一定关系的数据元素的集合。

数据的逻辑结构是指数据元素之间逻辑关系的整体。

数据结构:集合、线性结构、树结构、图结构。(树结构和图结构也称为非线性结构。)

1.3.2抽象数据类型

1数据类型

数据类型是一组值的集合以及定义于这个值集上的一组操作的总称。

2抽象

所谓抽象,就是抽出问题本质特征而忽略非本质的细节,是对具体事物的一个概括。

3抽象数据类型

抽象数据类型是一个数据结构以及定义在该结构上的一组操作的总称。

1.4算法及算法分析

1.4.1算法及其描叙方法

1什么是算法

算法被公认为是计算机科学的基石。

算法是对特定问题求解步骤的一种描叙,是指令的有限序列。通常一个问题可以有多种算法,一个算法可以解决某个特定的问题。

算法必须满足五个重要特征。(1)输入

                                           (2)输出

                                            (3)有穷性

                                            (4)确定性

                                            (5)可行性

2什么是“好“算法

(1)正确性

(2)鲁棒性

(3)简单性

(4)抽象分级

(5)高效性

3算法的描述方法

(1)自然语言

(2)流程图

(3)程序设计语言

(4)伪代码  伪代码是介于自然语言和程序设计语言之间的方法,它采用某一程序设计语言的基本语法,操作指令可以结合自然语言来设计

1.4.2算法分析

1      度量算法效率的方法

一种是事后统计的方法,一种是事前分析估算的方法

2     算法的时间复杂度

3     最好、最坏和平均情况

4     算法的空间复杂度

5    算法分析举例




0 0