随着计算机产业的迅猛发展,计算机的应用深入到人类生活的各个领域。正是这种深入,使得计算机的应用不再局限于数值计算。而更多的应用于控制、管理以及处理数据等非数值计算的处理工作。
用计算机解决一个问题大体步骤如下:
1.从具体问题出发,抽象出一个适当的数学模型 ------------------分析问题
2.设计一个解决此数学模型的算法 ------------------从中提取操作的对象,找出对象间的关系,用数学语言加以描述
3.编程
4.测试、调整
5.解答
数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间关系和操作等的学科。
数据结构的形式定义:数据结构是一个二元组Data_Structure = (D,S)
数据结构 1968 开始作为独立的课程 但对课程范围没有明确规定
《计算机程序设计技巧》(第一卷:《基本算法》)---->第一本系统地阐述数据的逻辑结构和出差结构及其操作的著作
当时几乎和图论(表、树的理论)同义 ---------------->网络、集合代数论、格、关系扩充进来-->《离散结构》-------->文件管理
计算机科学---->数据结构(综合性的专业基础课)1.硬件(编码理论、存储装置、存取方法)
2.软件(编译程序、操作系统、存储分配)
3.数学
一些基本概念:
1。数据data
对客观事物的符号表示
2。数据元素data element
数据的基本单位
3。数据项data item
数据不可分割的最小单位
4。数据对象data object
性质相同的数据元素的集合,是数据的一个子集
4。数据结构data structure
相互之间存在一种或多种特定关系的数据元素的集合
1)集合:同属一个集合(极为松散的结构)
2)线性结构:一对一
3)树形结构:一对多
4)图状结构(网状结构):多对多
6。数据类型data type
一个值的集合和定义在这个值集上的一组操作的总称。
抽象数据类型(ADT,abstract data type):一个数学以及定义在该模型上的一组操作。
ADT = (D,S,P)
----数据对象
----数据关系
----基本操作 -----初始条件
-----操作结果
算法algorithm:对特定问题求解步骤的一种描述,是指令的有限序列,一条指令表示一个或多个操作。
1)有穷性:步骤有穷,时间有穷
2)确定性:每一条指令必须有确切意义
3)可行性:可以通过已经实现的基本运算执行有限次来实现
4)输入:零个或多个
5)输出:一个或多个
算法的渐近时间复杂度
算法的存储空间需求

1148

被折叠的 条评论
为什么被折叠?



