数据结构和算法

122 阅读2分钟

一、数据结构和算法

1.数据结构定义

对于现实中大量而又复杂的问题,肯定对应着不同属性和不同意义的数据(数值和非数值数据如字符,图像,声音等),而这些大量的数据之间时常会存在某种逻辑关系(比如所属,并列...),这其实就是现实中的数据结构。* 而我们C语言中学习数据结构就是将这些具有逻辑关系的数据(现实中的数据结构)按照关系一一存储在电脑内存中,便于进行之后的操作。

简单小结

CCB30715F35734B3D1C66E47F076AE0F.jpg 288AAE8BDC3EF8CF3214D9EAFCAABEEB.jpg

运用数据类型实例:

565D0856D3611F29F6BA5FFFAE205FE1.jpg

2.算法定义

为了实现某种功能,而对数据进行不同处理的思路和步骤

3.两者关系

  • 细述: 由于现实中的问题多元化,所以不同问题的数据关系肯定会有所不同,所以我们就要用到不同的数据结构来对其存储。而为了更好的解决,我们就要根据不同的数据类型(不同的数据存储结构)来进行设计更好的算法。
  • 总述: 数据结构通过算法实现操作
    算法根据数据结构来设计程序

4.数据结构和其他一些学科的交叉

2ADB0B295C130C63E612CC4A674DE940.jpg

二、基本的数据结构

1.分类及概括

                          线性表
             线性结构      栈和队列
                           串 
   主要分                  数组和广义表
           
             非线性结构     树
                           图
                           
   主要学习这些结构,以后好运用到程序设计中
   

一个问题的理解

//节点的参数
typedef struct Node
{
    int Data;
    struct Node * pNext;
}pNode;

结构体中struct Node * pNext 表示pNext变量可以存储struct Node类型的变量(其可用动态创造出来)的地址,所以pNext指向自己所在的结构体中