
数据结构
追_光
这个作者很懒,什么都没留下…
展开
-
数据结构-二叉树
数据结构-二叉树(C++)先来了解树的概念,树,非线性数据结构,是n(n>=0)个结点的有限集。树结构的一些基本术语结点的度:结点拥有的子树数叶子(终端)结点:度为0的结点。非终端(分支)结点:度不为0的结点树的度:树内各结点的度的最大值兄弟:同一个双亲的孩子之间结点的祖先:从根到该结点所经分支上的所有结点树的深度:树中结点的最大层次森林:m(m>=0)棵互不相交的...原创 2020-01-22 11:16:33 · 254 阅读 · 0 评论 -
数据结构-串
数据结构-串(C语言)串是由0个或多个字符组成的有序序列。基本概念串的长度:串中字符的数目。空串:零个字符的串,即长度为0。子串:串中任意连续的字符组成的子序列称为该串的子串。主串:包含子串的串。串相等:当且仅当两个串长度相等,并且各个位置的对应字符都相等。空格串:由一个或多个空格字符组成的串。串的三种表示方法:定长顺序存储,堆分配存储,块链存储表示。本文采用堆分配存储的表示方...原创 2020-01-21 10:07:47 · 598 阅读 · 0 评论 -
数据结构-栈
数据结构-栈(C语言)栈是限定仅在表尾进行插入和删除操作的线性表,表尾端称为栈顶,表头端称为栈底。栈为后进先出的线性表。栈有顺序栈和链式两种表示方法,本文主要介绍顺序栈。顺序栈即用一组地址连续的存储单元依次存放从栈底到栈顶的数据元素。栈有两个基本操作,入栈和出栈。栈示意图下面是栈的定义,初始化,入栈出栈等基本操作。定义typedef struct{ int* base; in...原创 2020-01-20 11:12:43 · 187 阅读 · 0 评论 -
数据结构-循环队列
数据结构-循环队列(C语言)要学习循环队列先要了解队列。队列是一种先进先出的线性表,只允许在表一段插入而在另一端删除元素。在队列中允许插入的一端是队尾(rear),允许删除的一端是队头(front)。循环队列的出现是为了解决顺序队列中假溢出的问题。假溢出是在顺序队列中,尾指针已经到达数组的上界,无法再进行插入,而队列中还有空位置。而循环队列也存在无法判断队列空满的问题。主要有两个解决方法。...原创 2020-01-19 09:32:40 · 566 阅读 · 0 评论 -
数据结构-链表的基本操作
数据结构-链表(C语言)四种常见的链表结构结点包括两个域,存储数据信息的是数据域,存储直接后继或前驱存储位置的域的是指针域。指针域中存储的信息称为指针。单链表的指针域只有一个Next指向直接后继而双向链表的指针域有两个Next和Prev分别指向直接后继和直接前驱结点。使用链表的好处:便于插入和删除,时间复杂度都为O(1)。下面是关于单链表的创建,插入,删除,查询和遍历的代码结点的定义...原创 2020-01-18 10:35:00 · 474 阅读 · 0 评论