3、线性数据结构

线性数据结构,从名字可以看出,和“线”脱离不了关系。

那么从“线”联想,水平的,我们可以想到食堂打饭排的队伍,垂直的,我们可以联想到书桌上层叠摆放的书籍。

打饭的队伍一般遵循“先来先服务”的原则,我们叫做队列

书桌上堆放的图书,如果我们不允许从中间抽取,那么当我们需要拿中间的一本书时,就只能先把上边的书拿到一边。这个就是“后进先出”,我们叫做栈。

当我们把人、书、抽象成一个,并忽略方向时,我们发现这就是一些线性的点

3、线性数据结构_第1张图片

这即是“线性”

那么到“结构”,就需要加上一些规则

加上“先进先出” 的规则就是队列,加上“后进先出”的规则就是。这是两种常用的线性数据结构

至于其他的,比如双端队列等等,只是多加了些规则

至此,线性数据结构我们就聊的差不多了。

在C#中,如果我们要实现这些数据结构,可以使用数组、也可以使用链表,也可以使用既有的已经封装好的Queue类和Stack类。

感兴趣的话可以看看这些类的源码,巩固理解。

下一讲我们讲非线性数据结构。

 

你可能感兴趣的:(数据结构与常用算法,数据结构)