
Data structure
文章平均质量分 80
孟哲Hogan
这个作者很懒,什么都没留下…
展开
-
平衡树(AVL树)
二叉搜索树虽可以缩短查找的效率,但如果数据有序或接近有序二叉搜索树将退化为单支树,查找元素相当于在顺序表中搜索元素,效率低下。当向二叉搜索树中插入新结点后,如果能保证每个结点的左右子树高度之差的绝对值不超过1(需要对树中的结点进行调整),即可以降低树的高度,从而减少平均搜索长度。AVL树...原创 2021-07-18 11:32:26 · 2655 阅读 · 0 评论 -
优先级队列
总结学习1:https://blog.youkuaiyun.com/LF_2016/article/details/52750174总结学习2:https://blog.youkuaiyun.com/red_red_red/article/details/84559951原创 2021-07-17 09:41:20 · 181 阅读 · 0 评论 -
搜索结构之二叉搜索树
二叉搜索树的概念原创 2021-07-13 21:16:51 · 177 阅读 · 0 评论 -
堆
什么是堆?堆数据结构是一种数组对象,一颗完全二叉树结构.如果有一个关键码的集合K=k0,k1,k2,...,kn−1,K={k_0,k_1,k_2,...,k_{n-1}},K=k0,k1,k2,...,kn−1, 把它的所有元素按照完全二叉树的顺序存储方式存储在一个一维数组中,并满足:ki<=它的左右孩子,i=0,1,2...k_i<=它的左右孩子,i=0,1,2...ki<=它的左右孩子,i=0,1,2...,则称为小堆...原创 2021-05-16 10:42:17 · 75 阅读 · 0 评论 -
线索二叉树的前序、中序、后续遍历
线索化二叉树原创 2021-05-13 10:36:32 · 1627 阅读 · 0 评论 -
二叉树
一、二叉树的概念一棵二叉树是结点的一个有限集合,该集合或者为空,或者是由一个根结点加上两棵分别称为左子树和右子树的二叉树组成.二叉树的特点:每个结点最多有两棵子树,即二叉树不存在度大于2的结点二叉树的子树有左右之分,其子树的次序不能颠倒二叉树是通过上述5种形式的组合或嵌套形成二、满二叉树与完全二叉树满二叉树:在一棵二叉树中,如果所有分支结点都存在左子树与右子树,并且所有结点都在同一层上完全二叉树:如果一棵具有N个结点的二叉树的结构与满二叉树的前N个结点的结构相同,称为完全二叉树.原创 2021-05-04 21:25:43 · 210 阅读 · 0 评论 -
树形结构
一、树的概念树:由N(N>0)个结点构成的集合,对于N>1,有:有一个特殊的结点,称为根结点,根结点没有前驱结点除根结点外,其余结点被分成M(M>0)个互不相交的集合T1、T2…、Tm,其中每一个集合Ti(1<=i<=m)又是一颗结构与树类似的子树.每棵子树的根结点有且只有一个前驱,可以有0个或多个后继,因此,树是递归定义的....原创 2021-04-30 11:02:21 · 2579 阅读 · 0 评论 -
栈与队列
一、栈的概念 一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。不含任何元素的栈称为空栈,栈又称为后进先出的线性表。栈特性: 后进先出的线性表栈功能: 将数据从一种序列改变到另一种序列顺序栈顺序栈和顺序表数据成员相同,不同之处:顺序栈的入栈和出栈操作只允许对当前栈顶进行操作。所有的操作时间复杂度为O(1).链式栈:链式栈的实现,下面的更方便.二、栈的实现(1)栈的定义typedef struct Stack{原创 2021-04-08 22:05:41 · 103 阅读 · 0 评论 -
链表总结
1.删除一个无头单链表的非尾节点void deletepPos(ListNode* pos){ assert(pos==NULL||pos->next==NULL); //pos不为空且不是尾位置 ListNode* tmp = pos->next; pos->val = tmp->val; pos->next = tmp->next; delete tmp;}总结:为什么要说明是无头单链表? 因为如果是带有头节原创 2021-03-19 08:23:31 · 129 阅读 · 0 评论 -
线性表(顺序表+链表)
定义struct ListNode { int val; //定义val变量值,存储节点值 struct ListNode *next; //定义next指针,指向下一个节点,维持节点连接 }在节点ListNode定义中,定义为节点为结构变量。节点存储了两个变量:value 和 next。value 是这个节点的值,next 是指向下一节点的指针,当 next 为空指针时,这个节点是链表的最后一个节点。注意注意val只代表当前指针的值,比如p->v原创 2021-03-10 14:17:51 · 245 阅读 · 0 评论 -
线性表
数据结构学习之路原创 2017-07-25 14:57:10 · 263 阅读 · 0 评论