一、数据结构和算法
1.数据结构定义
对于现实中大量而又复杂的问题,肯定对应着不同属性和不同意义的数据(数值和非数值数据如字符,图像,声音等),而这些大量的数据之间时常会存在某种逻辑关系(比如所属,并列...),这其实就是现实中的数据结构。* 而我们C语言中学习数据结构就是将这些具有逻辑关系的数据(现实中的数据结构)按照关系一一存储在电脑内存中,便于进行之后的操作。
简单小结
运用数据类型实例:
2.算法定义
为了实现某种功能,而对数据进行不同处理的思路和步骤
3.两者关系
- 细述: 由于现实中的问题多元化,所以不同问题的数据关系肯定会有所不同,所以我们就要用到不同的数据结构来对其存储。而为了更好的解决,我们就要根据不同的数据类型(不同的数据存储结构)来进行设计更好的算法。
- 总述:
数据结构通过算法实现操作
算法根据数据结构来设计程序
4.数据结构和其他一些学科的交叉
二、基本的数据结构
1.分类及概括
线性表
线性结构 栈和队列
串
主要分 数组和广义表
非线性结构 树
图
主要学习这些结构,以后好运用到程序设计中
一个问题的理解
//节点的参数
typedef struct Node
{
int Data;
struct Node * pNext;
}pNode;
结构体中struct Node * pNext 表示pNext变量可以存储struct Node类型的变量(其可用动态创造出来)的地址,所以pNext指向自己所在的结构体中