随笔分类 -  c++数据结构

摘要:树的遍历 树的遍历方式有两种,即深度优先遍历和广度优先遍历。 ①深度优先遍历 ②广度优先遍历 森林的遍历 ①先根次序遍历的规则 ②种根次序遍历的规则 阅读全文
posted @ 2017-12-09 16:24 T丶jl 阅读(825) 评论(0) 推荐(0)
摘要:树形结构是一类重要的非线性结构数据结构。其中以树和二叉树最为常用,直观看来,树是以分支关系定义的层次结构。 树的定义与基本术语 树的结构定义是一个递归定义,即在树的定义中又用到树的概念。除了树形表示外,树形结构还有广义表表示、文氏图表示(反映集合包含关系)和凹人表示(类似一本书的目录)等其他表示形式 阅读全文
posted @ 2017-10-02 22:04 T丶jl 阅读(579) 评论(0) 推荐(0)
摘要:链式存储的队列称为链队列。和链栈类似,用单链表来实现链队,根据队列的FIFO原则,为了操作上的方便,分别需要一个头指针和尾指针。队头在链头,队尾在链尾。链式队列在进队时无队满问题,但有队空问题。队空条件为front->next==NULL。 链队描述如下: 链队的操作算法描述如下: 优先级队列 队列 阅读全文
posted @ 2017-10-02 19:53 T丶jl 阅读(425) 评论(0) 推荐(0)
摘要:和栈相反,队列(queue)是一种先进先出(First In First Out,FIFO)的线性表。它只允许在表的一端进行插入,而在另一端删除元素、这和我们日常生活中的排队是一致的,最早进入队列的元素最早离开。在队列中,允许插入的一端叫做队尾(rear),允许删除的一端称为队头(front)。 队 阅读全文
posted @ 2017-10-02 12:13 T丶jl 阅读(470) 评论(0) 推荐(0)
摘要:栈还有一个重要应用是在程序设计中实现递归。递归是计算机 科学和数学中一种解决问题的及其重要的方法。在数据结构中,可以用它来设计简单。易于理解的算法,特别是在一些具有递归定义的结构上设计算法。 递归的概念 一个直接或间接地调用自己的函数,称作递归函数。递归是程序设计中一个强有力的方法。 递归函数和运行 阅读全文
posted @ 2017-10-01 18:03 T丶jl 阅读(1063) 评论(0) 推荐(0)
摘要:♥注:未经博主同意,不得转载。 链栈 链式存储的栈称为链栈。可用单链表来实现链栈,因此其节点结构与单链表的结构相同。下面给出这种结构的定义: 若要了解顺序栈的内容请跳转至http://www.cnblogs.com/tenjl-exv/p/7575549.html 链栈无栈满问题,空间可扩充,但有栈 阅读全文
posted @ 2017-09-23 11:05 T丶jl 阅读(513) 评论(0) 推荐(0)
摘要:♥注:未经博主同意,不得转载。 栈(stack)是常用的重要数据结构,其应用十分广泛。栈是一个操作受限的线性表,其插入和删除操作都在表的同一端进行。 其中允许操作的一端称为栈顶(top),另一端称为栈底(bottom),不含元素的栈称为空栈。 栈的修改是按后进先出的原则进行的,因此,栈称为后进先出表 阅读全文
posted @ 2017-09-23 10:17 T丶jl 阅读(681) 评论(0) 推荐(0)
摘要:♥注:未经博主同意,不得转载。 两者特点: 顺序表的特点是逻辑上相邻的数据元素,物理存储位置也相邻,并且,顺序表的存储空间需要预先分配。 它的优点: (1)方法简单,各种高级语言中都有数组,容易实现。 (2)不用为表示节点间的逻辑关系而增加额外的存储开销。 (3)顺序表具有按元素序号随机访问的特点。 阅读全文
posted @ 2017-09-21 18:44 T丶jl 阅读(10740) 评论(0) 推荐(0)
摘要:♥注:未经博主同意,不得转载。 链表是另一种形式的链式存储结构,它是线性链表的一种变形。在线性链表中,每个结点的指针都指向它的下一个结点,最后一个结点的指针域为空,表示链表的结束。若使最后一个结点的指针指向头结点,则链表呈环状,这样的链表称为循环链表。 循环链表当然也分为单链表和双向列表。 通常情况 阅读全文
posted @ 2017-09-21 18:43 T丶jl 阅读(664) 评论(0) 推荐(0)
摘要:♥注:未经博主同意,不得转载。 前面讨论的单链表,每个结点中只有一个指针域,用来存放指向后继结点的指针,因此,从某个结点出发只能顺时针往后查找其他结点。若要查找某个结点的直接前驱,则需要从头指针开始沿链表探寻,处理起来十分不方便。为克服单链表的这一缺点,可引入双向链表。 双向链表中每一个结点含有两个 阅读全文
posted @ 2017-09-20 16:41 T丶jl 阅读(444) 评论(0) 推荐(0)
摘要:♥注:未经博主同意,不得转载。 线性表的链式存储结构的特点是用一组任意的存储单元来存储线性表的数据元素,这些单元可以分散在内存中的任意位置上,其在物理上可以是连续的,也可以是不连续的。具有链式存储结构的线性表称为线性链表。 为了表示出每个数据元素与其后继之间的关系,除了存储数据元素本身的信息之外,还 阅读全文
posted @ 2017-09-04 13:03 T丶jl 阅读(2064) 评论(0) 推荐(0)
摘要:♥注:未经博主同意,不得转载。 线性表的顺序表示指的是用一组地址连续的存储单元依次存储线性表的数据元素。 由于高级程序语言中的数组类型也有随机存取的特性,因此,通常都用数组来描述数据结构中的书序存储结构。 如下描述: 这些基本操作在顺序表中的实现如下: 对上述算法的调试则放在main函数里: 最终的 阅读全文
posted @ 2017-09-03 12:36 T丶jl 阅读(361) 评论(0) 推荐(0)
摘要:♥注:未经博主同意,不得转载。 线性表(linear list)是最常用且最简单的数据结构。简言之,一个线性表是n个数据元素的有限序列。至于每个数据元素的具体含义,在不同的情况下各不相同。例如,26个英文字母的字母表: (A,B,C,D,......Z) 线性表的抽象数据类型定义如下: 对上述定义了 阅读全文
posted @ 2017-09-03 12:14 T丶jl 阅读(928) 评论(0) 推荐(2)
摘要:9月,新的编程之旅开启了, 然而我还窝在家里享受着最后的暑假生活。 笑脸O(∩_∩)O~ 进入正题———— 什么是数据结构 数据结构数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构 阅读全文
posted @ 2017-09-02 12:14 T丶jl 阅读(304) 评论(0) 推荐(0)