一、基本概念和术语
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))
治疗皮肤病最专业的医院北京哪能治好白癜风