数据结构
衡扫天下
这个作者很懒,什么都没留下…
展开
-
数据结构之优先队列——二叉堆
数据结构之优先队列(堆)简介二叉堆的结构性质我们之前已经讲过好几种数据结构,其中讲到队列时我们说过队列经常用于打印机作业,此时打印机安排打印作业是按照作业加入打印机的先后顺序进行的。但这未必是最好的做法,例如,现有一项后来插入的特别重要的作业,需要优先打印,此时再按照“先来后到”的原则就不合适了,这种情况在日常生活和工作中十分多见,这时就需要用到今天我们讲的一种十分重要且常用的数据结构——优先队...原创 2020-05-02 11:43:39 · 446 阅读 · 0 评论 -
数据结构—链表及其迭代器的封装
数据结构—链表及其迭代器的封装链表简介代码实现节点定义封装链表类链表类声明链表类各操作定义封装迭代器类迭代器类声明迭代器类定义测试代码链表简介链表是采用链式存储方式实现的一种逻辑上类似于数组的数据结构,其元素之间的逻辑顺序是连续的,但在内存中的物理存储顺序是不连续的,因此不能使用下标的方式读取元素。为了实现数据元素的各种操作,我们把各元素封装成一个结构体——节点(下文都使用此称谓),每个节点内...原创 2020-03-26 17:49:06 · 727 阅读 · 0 评论 -
数据结构之栈——概念原理及代码实现
数据结构之栈栈的简介顺序栈顺序栈类声明顺序栈各接口实现测试链栈链栈类声明链栈类实现测试总结栈的简介今天给大家介绍另一种常用的数据结构——栈。(注意,栈从不同的角度定义有不同的定义,从内存分配的角度定义是指变量由系统分配内存,今天讲的是一种数据结构)它是一种先进后出的结构即FILO(first in last out)。如下图所示,数据的插入(压栈)删除(出栈)都从栈顶操作。栈通常具有以下接...原创 2020-03-27 20:18:41 · 270 阅读 · 0 评论 -
数据结构之二叉树——概念原理及代码实现
数据结构之树——重点概念和原理树的简介二叉树树的简介之前已经写过几篇关于数据结构的文章,分别是链表、栈和队列。其中链表采用链式存储结构,栈和队列既可以使用链式存储也可以使用顺序存储(数组),而这些结构有一个共同的特性,看下图从逻辑上讲,无论是链式存储还是顺序存储,这些结构在非空得情况下,每个节点最多只有一个前驱和一个后继,也就是说它们一对一的。而今天所讲的树属于非线性结构,树在非空的情况下...原创 2020-04-04 16:46:09 · 397 阅读 · 0 评论 -
数据结构之队列——概念原理及代码实现
数据结构之队列简介简介今天讲另一种常用的数据结构——队列。队列存储数据的结构类型和栈相同(如果不了解栈可以去看我另一篇专讲栈的文章),不同的是栈只在栈顶插入(压栈)和删除(出栈)数据,而队列在队首删除(出队)数据,在队尾插入(入队)数据。所以队列的入队和出队顺序相同(这一点和栈相反),它是一种先进先出FIFO(First In First Out)的数据结构。如下图所示。...原创 2020-03-28 20:34:31 · 360 阅读 · 0 评论