Cristiano的数据结构与算法绪论小部分概括

一、程序设计的概念
1、程序设计的实质是数据表示和数据处理,数据要能被计算机处理,首先必须能够存储在计算机内存中,这项任务称为数据表示;一个实际问题的求解必须满足各项处理要求,这项任务称为数据处理
2、其中数据表示的核心是数据结构;数据处理的核心是算法
3、因此,数据结构+算法 = 程序

二、数据结构的由来
1、计算机能够求解的问题一般分为数值问题和非数值问题
2、数值问题的数据模型通常是数学方程;非数值问题抽象出的数据模型通常是线性表、树、图等数据结构

三、数据结构的研究思路即内容
对于数据结构,主要有以下四点内容
1、数据的逻辑结构:核心是如何组织待处理的数据及数据之间的关系
2、数据的存储结构:核心是如何有效地存储数据以及数据之间的逻辑结构
3、算法:核心是如何有效的处理数据
4、常用数据处理技术:包括查找、排序、索引技术等

四、数据结构的简单概念
1、数据:数据一般被分为两类,一类是整数、实数等数值数据;一类是图像、声音、图形等非数值数据
2、数据元素
3、数据结构:指相互之间存在一定关系的数据元素的集合。
4、数据的逻辑结构:指数据元素之间逻辑关系的整体根据元素之间的逻辑关系的不同,数据结构可分为以下四类
1)集合:数据元素之间就是“属于同一个集合”
2)线性结构:数据元素之间存在着一对一的线性关系
3)树结构:数据元素之间存在着一对多的层次关系
4)图结构:数据元素之间存在着多对多的任意关系
树、图结构被称为是非线性结构
5、数据的存储结构:指数据元素之间逻辑关系的整体,又称为物理结构,是数据及其逻辑结构在计算机中的表示,通常存在两种存储结构:顺序存储结构和连接存储结构
6、顺序存储结构的基本思想:用一组连续的存储单元依次存储数据元素,数据元素之间的逻辑关系由元素的存储位置来表示
7、连接存储结构的基本思想:用一组任意的存储单元存储数据元素,数据元素之间的逻辑关系用指针来表示

五、算法的简单概念
1、算法:算法是对特定问题求解步骤的一种描述,是指令的有限序列
2、算法一般满足以下5个特征:输入(零个或多个输入)、输出(一个或多个输出)、有穷性、确定性、可行性
3、“好”算满足的特征法:正确性、鲁棒性(健壮性)(对非法输入有较强的抵抗能力)、简单性、抽象分级、高效性
4、算法的表示:自然语言、流程图、程序设计语言、伪代码
5、算法分析,如何度量一个算法的效率?测算其时间和空间开销
1)时间复杂度:可以用算法中基本语句的执行次数来度量算法的工作量
2)空间复杂度:是指算法的执行过程中,需要的辅助空间的数量

六、数据结构的学习内容通常分为以下几个内容
1、线性表
2、栈和队列
3、字符串和多维数组
4、树和二叉树
5、图
6、查找技术
7、排序技术

猜你喜欢

转载自blog.csdn.net/Cristiano_san/article/details/106763326