
算法
冰冰岩岩_37358143
我是一个小小整理家
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数据结构 之 红黑树的删除操作(二)
转载自:https://mp.weixin.qq.com/s/waFh-_7Q3EiFdUfXawm4Ww 一、二叉查找树的删除 情况1,待删除的节点没有子节点:直接删除即可 情况2,待删除的节点有一个孩子节点(左右孩子均可):直接让孩子节点取代要删除的父节点即可 上图中,待删除的节点13 只有一个左孩子节点,我们让左孩子节点11直接取代被删除的节点,节点11一下的节点关系无需变动。 情况3,待删除的节点有两个孩子节点: ①先选择合适的节点来取代被删除的节点,习惯上选择仅大于被删除节点的节点 ②复制转载 2020-05-25 15:23:36 · 249 阅读 · 0 评论 -
数据结构 之 红黑树的简介与插入(一)
转载自:https://mp.weixin.qq.com/s/cnDx8lJ6fXHgLZWsqjWrag 一、二叉查找树(Binary Search Tree) 为什么要提到二叉查找树呢?红黑树是一种自平衡的二叉查找树 二叉查找树(BST)具备什么特性呢? 1.左子树上所有结点的值均小于或等于它的根结点的值。 2.右子树上所有结点的值均大于或等于它的根结点的值。 3.左、右子树也分别为二叉排序树。 如下图这棵树,就是一棵典型的二叉查找树: 比如查找值为10的节点,先找根节点,而后一层一层进行比较转载 2020-05-11 14:56:58 · 399 阅读 · 0 评论 -
算法小白--数据结构基础(一):线性数据结构
数据结构:是数据的组织、管理和存储格式。其使用目的是高效地访问和修改数据。 数据结构可以划分为物理结构和逻辑结构。 一、数组(array) 1. 数组是最为简单、最为常用的数据结构。 2. 数组是由有限个相同类型的变量所组成的有序集合,它的物理存储方式(在内存中)是顺序存储的,占用了连续完整的存储空间,访问方式是随机访问。 二、链表(linked list) 1. 链表是一种在物理上非...原创 2019-08-20 10:22:46 · 165 阅读 · 0 评论 -
数组VS链表
数组和链表都属于线性的数据结构。 数组VS链表: 操作性能对比 查找 更新 插入 删除 数组 O(1) O(1) O(n) O(n) 链表 O(n) O(1) O(1) O(1) 从表格可以看出,数组的优势在于能快速定位元素,对于读操作多,写操作少的场景来说,使用数组; 相反的,链表的优势在于能够灵活地进...原创 2019-08-20 15:39:02 · 272 阅读 · 0 评论 -
算法小白--数据结构基础(二):非线性数据结构
现实中,许多逻辑关系并不是很简单的线性关系,在实际场景中,常常存在一对多、多对多的情况。这时候,就需要提出非线性数据结构的概念,其中,树和图是非常典型的非线性数据结构。 一、树 1、树(tree)是n(n>=0)个节点的有限集。当n=0时,成为空树。在任意一个非空树中,有如下特点: 有且仅有一个特定的根称为根节点。 当n>1时,其余节点可分为m(m>0)个互不相交的有限集...原创 2019-08-26 16:52:55 · 385 阅读 · 0 评论