数据结构 ,第一章,绪论

来源:互联网 发布:中国书画网络频道 编辑:程序博客网 时间:2024/04/28 04:20

一、基本概念和术语

l      数据(Data):是指所有能输入到计算机中并被计算机程序处理的符号的总称。是计算机加工的“原料”。

l      数据元素(Data Element):是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。有些情况下,数据元素也称为元素、结点、顶点、记录。有时数据元素可以由若干数据项(也称为字段、域、属性)组成,数据项是数据的有独立含义的最小标识单位。

l      数据类型:(Data Type):是一个值的集合和定义在这个值集上的所有的操作。例如,整数类型。数据类型可分为:原子数据类型和结构数据类型。原子类型的值是不可分解的,结构类型的值是由若干成分按某种结构组成的。

二、   数据的三个层次

数据是计算机加工的对象,是数据元素的集合;

数据元素是数据的基本单位,常称为结点、元素、记录等,作为一个整体出现;

数据项是数据的最小不可分割的单位。

三、什么是数据结构(Data Structure):数据之间的相互关系,即数据的组织形式。包括以下三方面:

   数据元素之间的逻辑关系,也称为数据的逻辑结构;

   数据元素及其关系在计算机存储器内的表示,称为数据的存储结构;

   数据的运算,即对数据施加的操作。

四、数据的逻辑结构分两类:线性结构和非线性结构。(有的教材称四种结构: 集合、线性结构、树形结构、图形结构或网状结构)

五、数据的存储结构:数据结构在计算机中的表示(又称映象)称为数据的物理结构,又称存储结构:数据元素及其关系在计算机存储器的表示。用于表示数据元素的位串称之为元素或结点,用于表示数据项的位串称之为数据域。算法的设计取决于选定的数据逻辑结构,而算法的实现依赖于采用的存储结构。数据有四种存储结构:

① 顺序存储结构:把逻辑上相邻的结点存储在物理位置上相邻的存储单元里,结点间的逻辑关系由存储单元的邻接关系来体现。通常顺序存储结构是借助于语言的数组来描述的。

② 链式存储结构:不要求逻辑上相邻的结点物理上也相邻,结点间的逻辑关系是由附加的指针字段表示的,通常要借助于语言的指针类型来描述。

③ 索引存储方法

    ④ 散列存储方法

六、《数据结构》课程及其重要性

1968年美国克努特教授开创了数据结构的最初体系。

数据结构是一门综合性的专业课程,是一门介于数学、计算机硬件、计算机软件之间的一门核心课程。是设计和实现编译系统、操作系统、数据库系统机其他系统程序和大型应用程序的基础。

七、算法(Algorithm)

算法是对特定问题求解步骤的一种描述,它是指令的有限序列。每条指令表示一个或多个操作。算法具有五个重要特性:有穷性、确定性、可行性、输入、输出。

八 、 算法的例子

    计算机内存的增大与速度的提高并不能降低选择合适算法与数据结构的重要性。例如,百元钱买百支笔问题(钢笔3元一支,圆珠笔2元一支,铅笔0.5元一支),用三层循环,内循环100万次,在某机器上运行用了50分钟。

for (i=1,i<=100;i++)

 for (j=1,j<=100;j++)

   for (k=1,k<=100;k++)

       if ((i+j+k==100) &&(3*i+2*j+0.5*k==100))

           printf(“%d,%d,%d”,i,j,k)

而经过分析,钢笔最多买20支,圆珠笔最多买30支,优化后只运行了2秒,相差1500倍。

for (i=0,i<=20;i++)

 for (j=0,j<=34-i;j++)

     if (3*i+2*j+0.5*(100-i-j)==100)

           printf(“%d,%d,%d”,i,j,k)

 

 

 

 

0 0
原创粉丝点击