您的位置:首页 > 理论基础 > 数据结构算法

数据结构 第一章 绪论

2014-09-13 17:54 288 查看

数据结构 第一章 绪论

程序设计的实质:数据表示和数据处理。

数据表示的核心:数据结构,数据处理的核心:算法。

 

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

程序设计的一般过程


 

1.2本书讨论的主要内容

计算机求解的问题:数值问题和非数值问题

数值问题抽象出的数据模型是数学模型,非数值问题抽象出的数据模型是:线性表、树、图等数据结构。

1.3数据结构的基本概念



数据的基本单位:数据元素,数据元素的最小单位:数据项

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

数据的分类:

按照视点的不同: 逻辑结构(数据元素之间逻辑关系的整体);

                              存储结构

元素之间逻辑关系不同  :集合(数据元素之间属于同一个集合);

                                         线性结构(数据元素存在一对一的线性关系)

                                          树结构(数据元素之间存在一对多的层次关系);

                                          图结构(数据元素之间存在多对多的任意关系)。

 





 

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

抽象:抽出问题本质的特征而忽略本质的细节,是对具体事物的概括。

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

1.4算法及算法分析



算法的描述方法:

(1)自然语言:优点:容易理解;缺点:容易出现二义性,算法冗长。
(2)流程图:优点:直观易懂;缺点:缺少严密性和灵活性。
(3)程序设计语言:优点:能由计算机直接执行;缺点:对语言要求高,抽象性差。
(4)伪代码:是介于自然语言和程序设计语言之间的方法,它采用某一程序设计语言的基本语法,操作指令可以结合自然语言来设计。
 

1.度量算法效率的方法:
(1)事后统计:将算法实现,测算其时间和空间开销;
         缺点:(1)编写程序实现算法将花费较多的时间和精力;
                    (2)所得实验结果依赖于计算机的软硬件等环境因素。
(2)事前分析估算,它是对算法所消耗资源的一种估算方法。
2.算法的时间复杂度
定义:若存在两个正的常数c和N,对于任意n>=N,都有T(n)<=c*f(n),则称T(n)=O(f(n))(或称算法在O(f(n))中)。



 

                                                                        

.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息