算法与数据结构-诸论-学习笔记
2014-01-27 17:03
573 查看
数据结构:
线性关系(linear):一对一
树形结构(tree):一对多
网状结构(graph):多对多、非线性
基本概念和术语:
数据(data):所有能输入到计算机中并被计算机程序处理的符号的总称。
数据元素(dataelement):数据的基本单位,在程序中通常作为一个
整体来进行考虑和处理。
由若干个数据项(dataitem):数据的最小单位,对客观事物某一方面特性的数据描述。
数据对象(dataobject):性质相同的数据元素的集合,是数据的一个子集。
数据结构(datastructure):相互之间具有(存在)一定联系(关系)的数据元素的集合。
元素之间的相互联系(关系)-->逻辑结构:
集合:只是同属于一个集合;
线性结构:一对一;
树形结构:一对多;
图状结构/网状结构:多对多。
数据结构的形式定义:
二元组:Data-Structure=(D,S)
D是数据元素的有限集,S是D上关系的有限集。
数据结构的存储方式:
数据结构在主存中的存储:
数据元素的存储
元素之间的关系的表示:
顺序表示-->顺序存储结构:用数据元素在存储器中的相对位置-->元素之间的逻辑结构/关系。
非顺序表示-->链式存储结构:每一个数据元素中增加一个存放另一个数据元素的指针
(pointer)-->元素之间的逻辑结构/关系。
一个算法的设计-->所选定的逻辑结构,
而算法的实现-->所采用的存储结构
在C语言中,用一维数组表示顺序存储结构;
用结构体类型表示链式存储结构。
数据类型:
一个值的集合
定义在该值集上的一组操作的总称。
C语言中:
基本类型
构造类型
数据结构的运算:
1.建立(create)
2.消除(destory)
3.删除一个元素(delete)
4.插入一个元素(insert)
5.访问数据结构(access)
6.对数据结构(中的元素)进行修改(modify)
7.排序(sort)
8.查找(search)
抽象数据类型(ADT):一个数学模型&在该模型上的一组操作(逻辑非物理)
形式化定义:三元组:ADT=(D,S,P)
D:数据对象;S:D上的关系集;P:对D的基本操作集
ADT的一般定义形式:
ADT<抽象数据类型名>{
数据对象:<数据对象的定义>(D)
数据关系:<数据关系的定义>(S)
基本操作:<基本操作的定义>(P)
}ADT<抽象数据类型名>
基本操作的定义:
<基本操作名>(<参数表>)
初始条件:<初始条件描述>
操作结果:<操作结果描述>
初始条件:描述操作执行之前数据结构和参数应满足的条件;若不满足,则操作失
败,返回相应的出错信息。
操作结构:描述操作正常完成之后,数据结构的变化状况和应返回的结果。
算法:对特定问题求解方法(步骤)的一种描述,是指令的有限序列。
特性:有穷性、确定性、可行性、输入、输出。
程序不必有穷(例如OS)。
设计要求:正确性、可读性、健壮性(适当处理非法或错误数据)、通用性、效率(算法执行时间)与存储量需求(执行所需的最大存储空间)。
复杂性分析:时间复杂性、空间复杂性。
符号:O(n)。
线性关系(linear):一对一
树形结构(tree):一对多
网状结构(graph):多对多、非线性
基本概念和术语:
数据(data):所有能输入到计算机中并被计算机程序处理的符号的总称。
数据元素(dataelement):数据的基本单位,在程序中通常作为一个
整体来进行考虑和处理。
由若干个数据项(dataitem):数据的最小单位,对客观事物某一方面特性的数据描述。
数据对象(dataobject):性质相同的数据元素的集合,是数据的一个子集。
数据结构(datastructure):相互之间具有(存在)一定联系(关系)的数据元素的集合。
元素之间的相互联系(关系)-->逻辑结构:
集合:只是同属于一个集合;
线性结构:一对一;
树形结构:一对多;
图状结构/网状结构:多对多。
数据结构的形式定义:
二元组:Data-Structure=(D,S)
D是数据元素的有限集,S是D上关系的有限集。
数据结构的存储方式:
数据结构在主存中的存储:
数据元素的存储
元素之间的关系的表示:
顺序表示-->顺序存储结构:用数据元素在存储器中的相对位置-->元素之间的逻辑结构/关系。
非顺序表示-->链式存储结构:每一个数据元素中增加一个存放另一个数据元素的指针
(pointer)-->元素之间的逻辑结构/关系。
一个算法的设计-->所选定的逻辑结构,
而算法的实现-->所采用的存储结构
在C语言中,用一维数组表示顺序存储结构;
用结构体类型表示链式存储结构。
数据类型:
一个值的集合
定义在该值集上的一组操作的总称。
C语言中:
基本类型
构造类型
数据结构的运算:
1.建立(create)
2.消除(destory)
3.删除一个元素(delete)
4.插入一个元素(insert)
5.访问数据结构(access)
6.对数据结构(中的元素)进行修改(modify)
7.排序(sort)
8.查找(search)
抽象数据类型(ADT):一个数学模型&在该模型上的一组操作(逻辑非物理)
形式化定义:三元组:ADT=(D,S,P)
D:数据对象;S:D上的关系集;P:对D的基本操作集
ADT的一般定义形式:
ADT<抽象数据类型名>{
数据对象:<数据对象的定义>(D)
数据关系:<数据关系的定义>(S)
基本操作:<基本操作的定义>(P)
}ADT<抽象数据类型名>
基本操作的定义:
<基本操作名>(<参数表>)
初始条件:<初始条件描述>
操作结果:<操作结果描述>
初始条件:描述操作执行之前数据结构和参数应满足的条件;若不满足,则操作失
败,返回相应的出错信息。
操作结构:描述操作正常完成之后,数据结构的变化状况和应返回的结果。
算法:对特定问题求解方法(步骤)的一种描述,是指令的有限序列。
特性:有穷性、确定性、可行性、输入、输出。
程序不必有穷(例如OS)。
设计要求:正确性、可读性、健壮性(适当处理非法或错误数据)、通用性、效率(算法执行时间)与存储量需求(执行所需的最大存储空间)。
复杂性分析:时间复杂性、空间复杂性。
符号:O(n)。
相关文章推荐
- 数据结构之线性链表
- C#知识点总结系列:C# 数据结构
- JBPM4.4流程数据结构
- 【数据结构】·【链式栈】
- 测试nginx数据结构的开源库libngx
- 浅谈算法和数据结构: 三 合并排序
- R语言数据结构1—vector
- R语言数据结构6—list
- R语言数据结构5—factor
- R语言数据结构4—dataframe
- R语言数据结构3—array
- R语言数据结构2—matrix
- C++代码,数据结构-关键路径
- 浙江大学OJ 1323 第一个AC程序
- 标题: 振兴中华 小明参加了学校的趣味运动会,其中的一个项目是:跳格子。 地上画着一些格子,每个格子里写一个字,如下所示:(也可参见p1.jpg) 从我做起振 我做起振兴 做起
- 数据结构第二天----名词意思的探索篇
- 传说中的数据结构
- 机房收费系统之CDM
- 常见hash算法的原理
- 【数据结构】·【顺序栈】