随笔分类 -  数据结构

总结
摘要:1.1 基本概念 二叉堆是一颗完全二叉树(区别于满二叉树),堆中某个结点的值总是不大于其父节点的值,通常这种堆称为最大堆(相应的可以定义最小堆),下层的某一元素不一定小于上层的某一元素。 1、大顶堆(最大堆) 最大堆的任何一个父节点的值,都大于或等于它左、右孩子节点的值。 2、小顶堆(最小堆) 最小 阅读全文
posted @ 2021-12-27 10:51 guardwhy 阅读(52) 评论(0) 推荐(0)
摘要:1.1 基本介绍 循环链表,顾名思义,链表整体要形成一个圆环状。在单向链表中,最后一个节点的指针为null,不指向任何结点,因为没有下一个元素了。要实现循环链表,只需要让单向链表的最后一个节点的指针指向头结点即可。 1.2 添加操作 1、思路分析 链表为空的时候 让head和tail同时指向这个结点 阅读全文
posted @ 2021-12-27 10:50 guardwhy 阅读(130) 评论(0) 推荐(0)
摘要:1.1 基本介绍 双向循环链表就是在双线链表的基础上首尾相连(第一个节点的prev指向最后一个节点,最后一个节点的next指向第一个节点)。 1.2 添加操作 1、思路分析 头部插入 当整个链表都为空时,添加操作。 头结点和尾节点都指向自己。 当链表不为空时,添加操作 先把当前头节点的上一跳地址给新 阅读全文
posted @ 2021-12-27 10:50 guardwhy 阅读(125) 评论(0) 推荐(0)
摘要:1.1 基本介绍 1、单向链表优缺点 单向链表,查找的方向只能是一个方向,而双向链表可以向前或者向后查找。 单向链表不能自我删除,需要靠辅助节点 ,而双向链表则可以自我删除。 2、双向链表基本介绍 双向链表也叫双向表,是链表的一种,它由多个结点组成,每个结点都由一个数据域和两个指针域组成,数据域(d 阅读全文
posted @ 2021-12-27 10:48 guardwhy 阅读(193) 评论(0) 推荐(0)
摘要:1.1 基本介绍 平衡二叉树又称AVL树,是一种最早的自平衡二分搜索树结构,它是具有如下性质的二叉树: 左、右子树是平衡二叉树; 所有结点的左、右子树深度之差的绝对值≤1。 满二叉树一定是平衡二叉树,高度最低。 完全二叉树也是平衡二叉树,叶子节点深度相差不为1 为了方便起见,给每个结点附加一个数字 阅读全文
posted @ 2021-12-27 10:47 guardwhy 阅读(110) 评论(0) 推荐(0)
摘要:1.1 基本介绍 链表(linked list)是一种在物理上非连续、非顺序的数据结构,由若干节点(node)所组成。链表中数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域 阅读全文
posted @ 2021-12-27 10:47 guardwhy 阅读(47) 评论(0) 推荐(0)
摘要:1.1 基本介绍 顺序表是在计算机内存中以数组的形式保存的线性表,线性表的顺序存储是指用一组地址连续的存储单元,依次存储线性表中的各个元素、使得线性表中再逻辑结构上响铃的数据元素存储在相邻的物理存储单元中,即通过数据元素物理存储的相邻关系来反映数据元素之间逻辑上的相邻关系。 数组是最常见的顺序表,数 阅读全文
posted @ 2021-12-27 10:46 guardwhy 阅读(304) 评论(0) 推荐(0)
摘要:1.1 基本介绍 二叉搜索树是二叉树的一种,是应用非常广泛的一种二叉树,英文简称为BST又被称为:二叉查找树、二叉排序树,任意一个节点的值都大于其左子树所有节点的值,任意一个节点的值都小于其右子树所有节点的值,它的左右子树也是一棵二叉搜索树。二叉搜索树可以大大提高搜索数据的效率,二叉搜索树存储的元素 阅读全文
posted @ 2021-12-12 15:58 guardwhy 阅读(80) 评论(0) 推荐(0)