随笔分类 -  1 数据结构基础

学习顺序表、链表、栈、队列、树、图
平衡二叉树,AVL树之图解篇
摘要:平衡二叉树,AVL树之图解篇 学习过了二叉查找树,想必大家有遇到一个问题。例如,将一个数组{1,2,3,4}依次插入树的时候,形成了图1的情况。有建立树与没建立树对于数据的增删查改已经没有了任何帮助,反而增添了维护的成本。而只有建立的树如图2,才能够最大地体现二叉树的优点。 在上述的例子中,图2就是 阅读全文
posted @ 2017-10-26 12:12 王小东大将军 阅读(608) 评论(0) 推荐(0)
二叉查找树(一)之 图文解析 和 C语言的实现
摘要:概要 本章先对二叉树的相关理论知识进行介绍,然后给出C语言的详细实现。关于二叉树的学习,需要说明的是:它并不难,不仅不难,而且它非常简单。初次接触树的时候,我也觉得它似乎很难;而之所产生这种感觉主要是由于二叉树有一大堆陌生的概念、性质等内容。而当我真正的实现了二叉树再回过头来看它的相关概念和性质的时 阅读全文
posted @ 2017-10-26 11:51 王小东大将军 阅读(361) 评论(0) 推荐(0)
1.7图结构
摘要:数据元素存在3种关系: 1)先行后续,即一个数据元素有一个直接前驱和一个直接后继,这种组织结构叫线性结构; 2)层次关系,每一层上数据元素可能和下一层中的多个数据元素相关,但只和上一层中的一个数据元素相关,这类组织结构叫树结构; 3)数据元素间是”一对多“或者”多对一“的关系,即任意两个数据元素之间 阅读全文
posted @ 2017-05-15 18:03 王小东大将军 阅读(247) 评论(0) 推荐(0)
1.6树结构
摘要:树结构是以分支关系定义的一种层次结构。(应用数结构组织起来的数据应当具有层次关系) 树的定义 树:由n个结点组成的有穷集合。 在任意的一颗非空树中: 1) 有且仅有一个称为根的结点 2) 当n>1时,其余结点分为m个互不相交的有限集,T1,T2……Tm,其中每一个集合本身又是一颗树,并称为根的子树。 阅读全文
posted @ 2017-05-15 10:49 王小东大将军 阅读(337) 评论(0) 推荐(0)
1.5队列
摘要:队列是一种先进先出的线性表。要求所有数据从队列一端进入,从队列另一端离开。 在队列中,允许插入数据的一端叫做队尾rear;允许数据离开的一端叫做队头front; 定义一个队列: QNode为队列元素的类型,QueuePtr为指向QNode类型元素的指针类型,等价于QNode*。 创建一个队列: 1) 阅读全文
posted @ 2017-05-12 17:01 王小东大将军 阅读(223) 评论(0) 推荐(0)
1.4栈
摘要:栈:后进先出的线性表,要求在表尾进行数据的删除和插入操作、 1)栈的元素必须先进后出 2)栈的操作只能限定在这个顺序表的表尾进行。 对于栈,这个顺序表或者链表的表尾(进行删除和插入的地方)称为栈顶top,相应的表头称为栈底bottom、 定义一个顺序栈: 创建一个空栈 入栈 注意:top指向的空间始 阅读全文
posted @ 2017-05-12 15:58 王小东大将军 阅读(147) 评论(0) 推荐(0)
1.3链表
摘要:链表的物理存储结构是用一组地址任意的存储单元存储数据的。不像顺序表占据连续的一段内存空间,而是将存储单元分散在内存的任意地址上。 链表结构中,每个数据元素记录都存放到链表的一个节点(node)中,而每个节点之间由指针将其连接在一起,形成了”链“的结构、 链表每个节点中,都必须有一个专门用来存放指针( 阅读全文
posted @ 2017-05-12 15:18 王小东大将军 阅读(350) 评论(0) 推荐(0)
1.2顺序表
摘要:计算机内部存储一张线性表(线性结构的数表),最简单方便的方法就是用一组连续地址的内存单元来存储整张线性表。 顺序表的特征: 1)有一个唯一的表名来标识该顺序表; 2)内存单元连续存储,也就是说,一张顺序表要占据一块连续的内存空间; 3)数据顺序存放,元素之间有先后关系 注意:数组本身就是一张顺序表。 阅读全文
posted @ 2017-05-10 22:55 王小东大将军 阅读(347) 评论(0) 推荐(0)
1.1数据结构
摘要:数据结构是指计算机内部数据的组织形式和存储方法。 线性结构是最常用,也是最简单的一种数据结构。线性结构,由n个数据元素构成的有限序列。数组就是一种最简单的线性结构表示。 线性结构包括:顺序表、链表、栈、队列等基本形式、 顺序表和链表是从存储形式上(或者说物理结构上)区分的,而栈和队列是从逻辑功能区别 阅读全文
posted @ 2017-05-10 21:57 王小东大将军 阅读(160) 评论(0) 推荐(0)