所在的位置: 数据结构 >> 体系结构 >> 数据结构

数据结构

一、基本概念和术语

1、数据(Data):一切能够由计算机接受和处理的对象。2、数据元素(DataElement):是数据的基本单位,在程序中作为一个整体加以考虑和处理。3、数据项(DataItem):是数据的不可分割的最小单位,在有些场合下,数据项又称为字段或域。

4、什么是数据结构(Datastructure)*

数据相互之间存在一种或多种特定逻辑关系,这些数据元素所构成的逻辑结构,称为数据结构。

5、数据结构学科研究的内容*:

A、逻辑结构:数据之间逻辑关系描述.没有考虑到其在计算机中的具体实现。

B、四种基本数据结构:集合、线性结构、树形结构、图形结构

C、存储结构:

(1)定义:存储结构(又称物理结构)指逻辑结构在计算机中的存储映像,是逻辑结构在计算机中的实现,包括数据的表示和关系的表示。

(2)分类:

a、顺序存储结构:借助元素在存储器中的相对位置来表示数据元素之间的逻辑关系。

b、链式存储结构:借助指示元素存储地址的指针表示数据元素之间的逻辑关系。

散列和索引

D、运算集合

讨论数据的目的是在计算机中实现操作,因此在数据结构上的运算集合是很重要的部分.数据结构就是研究一类数据的表示及其相关操作的集合。

例如:工资表的查找,删除和插入操作.

编号姓名性别基本工资工龄工资应扣工资实发工资张爱芬女....张林男....刘晓峰男....00..................张兴强男....51

二、算法和算法分析*

1、算法和算法分析

(1)算法:

解决某一特定问题的具体步骤的描述,是指令的有限、有序序列。

举例:两个数相加的算法;

程序开始:

a、定义两个数x,y;

b、将两个数相加x+y;

c、输出结果

(2)算法的特性*

(3)算法的设计要求

a、正确性

b、可读性

c、健壮性(鲁棒性)

d、高效率与低存储量

(4)算法的描述工具

描述算法的工具:自然语言、框图或高级程序设计语言,算法的描述可用自然语言、框图或高级程序设计语言,自然语言简单但易于产生二义。框图直观但不擅长表达数据组织结构,高级语言描述算法,具有严格准确的优点,但用于描述算法,也有语言细节过多的弱点,为此常采用类程序语言形式。

程序是算法在计算机中的实现(与所用计算机及所用语言有关)

(5)设计实现算法过程步骤:

a、找出与求解有关的数据元素之间的关系(建立结构关系)

b、确定在某一数据对象上所施加运算

c、考虑数据元素的存储表示

d、选择描述算法的语言

e、设计实现求解的算法,并用程序语言加以描述。

(6)算法的性能分析**:

评价一个算法主要看执行这个算法所占用的机器资源的多少.而这些资源中,时间代价和空间代价是主要的方面.通常以算法执行的机器时间和所占用的存储空间来评价算法的优劣.

A、算法的时间复杂度:

算法中基本操作重复执行的次数的阶数,记做T(n)=O(f(n)).

例如:

1.x=x+1;时间复杂度为O(1),称为常量阶

2.for(i=1;i=n;i++)x=x+1;时间复杂度为O(n),称为线性阶

3.for(i=1;i=n;i++)

for(j=1;j=n;j++)

x=x+1;时间复杂度为O(n2),称为平方阶

4.for(i=1;i=n;i++)

for(j=1;j=n;j++)

{c[i][j]=0;

for(k=1;k=n;k++)

c[i][j]=c[i][j]+a[i][k]*b[k][j];}

B、空间复杂度:

为算法所需存储空间的度量,记做S(n)=O(f(n))









































治疗皮肤病最专业的医院
北京哪能治好白癜风



转载请注明:http://www.92nongye.com/txjg/204613282.html