数据结构
文章平均质量分 95
JeremyChan1887
这个作者很懒,什么都没留下…
展开
-
【线性表】队列
目录一、队列的定义二、常见的三种队列及其实现1、顺序队列2、循环队列3、动态顺序队列4、链式队列三、阻塞队列和并发队列四、队列的应用场景一、队列的定义队列:同栈一样,队列也是一种“操作受限”的线性表,只不过栈的插入、删除操作被受限在表的一端,而队列的插入、删除操作则分别被受限于表的两端。队列有两个最基本操作:入队enqueue()——将数据插入到队列尾部...原创 2018-12-12 15:54:43 · 409 阅读 · 0 评论 -
【线性表】线性表
目录一、线性表二、数组 1、数组的定义 2、数组随机访问特性的实现 3、为什么数组不是从1开始,从1开始不是更符合人类的思维吗? 4、数组的访问越界问题三、链表 1、单链表 2、循环链表 3、双向链表 4、循环双向链表 5、各种链表的对比四、数组和链表(单链表)的对比 一、线性表线...原创 2018-12-06 22:19:11 · 438 阅读 · 0 评论 -
【非线性结构】树
一、树1、什么是树什么是树结构?从形状来看,树结构是现实中的树倒立得到的结构。现实生活中有很多这种结构,如,一个家族的家谱、一个机构的组织架构。 从定义来说,树是一些节点的集合,这个集合要么是空集,要么是一个根节点加上n个非空子树(n≥0),这是递归的定义方式。这个节点包含数据域、指向n个子树的n条边。如下面所示,树T是根节点T+4个子树,同样,4个子树也分别可以...原创 2018-12-14 18:00:14 · 736 阅读 · 0 评论 -
【线性表】栈
目录一、栈的定义二、如何实现一个栈1、数组实现2、链表实现三、栈的应用场景1、使用栈来反转表或集合2、括号匹配 一、栈的定义栈:栈是一种“操作受限”的线性表。栈的主要操作有2个:入栈(在栈顶插入一个数据)、出栈(在栈顶删除一个数据)。受限一定不好吗?非也。从功能上来说,数组/链表可以替代栈,但它们暴露了太多的操作接口,使用时不可控;此外,特定的结构是...原创 2018-12-10 17:12:28 · 1442 阅读 · 0 评论