数据结构:初识数据结构
文章目录
- 简介
- 数据结构分类
- 栈(FILO)
- 队列(FIFO)
- 表(LIST)
- 树(TREE)
- 学习数据结构的方法
简介
数据结构对于从事计算机领域的人来说是极为重要的,在嵌入式领域,数据结构的学习也很重要。简单地说,数据结构所讲述的是数据元素之间的关系,例如数据与数据之间的对应关系、数据之间的组织结构等。数据结构在嵌入式系统中有着很多的应用,例如操作系统中对进程的组织都是通过链表来实现的,操作系统对进程的管理实际上就是对一系列链表的管理,如下图所示。
C语言中的函数调用和单片机中的中断现场保护是通过栈来实现的,如下图所示。
这里不做过多讲述,感兴趣的话可以读一下有关操作系统和计算机方面的书籍。
数据结构分类
数据结构可以分为:栈、队列、表、树、图(本教程不做讲解)等类型,下面简单地介绍一下:
栈(FILO)
栈是一种类似于墙纸弹夹一样的数据结构,先进入的最后弹出,后进入的先弹出,可用于中断现场保护、正则表达式等,如图所示。
队列(FIFO)
队列是一种类似于排队的数据结构,先进入的先出来,后进入的后出来,可用于数据缓冲,如图所示。
表(LIST)
简单的说,表是排列好的数据元素的集合,表可用于保存数据、组织数据等,分为线性表(内存单元连续)和链式表(存储单元不连续),下图为几种常用链表。
树(TREE)
树是一种有节点组成的数据结构,类似于PC上的文件目录,如图所示。
学习数据结构的方法
学习数据结构与学习C语言一样,不能只看而不操作,实践是最好的学习方式。建议学习的时候,把实例代码都写一遍,加深印象和理解;有时间的话,可以看一些操作系统的内核源码,例如uC/OS-II,读一读内核源码,对学习C语言和数据结构都有很大的帮助。