随笔分类 -  数据结构

摘要:规则:左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树 怎么将右图类似情况转换为AVL树呢? 旋转 在构建一棵平衡二叉树的过程中,当有新的节点要插入时,检查是否因插入后而破坏了树的平衡,如果是,则需要做旋转去改变树的结构。 左旋:左旋就是将节点的右支往左拉,右子节点变成父节点 阅读全文
posted @ 2022-08-09 21:24 苍青浪 阅读(145) 评论(0) 推荐(0) 编辑
摘要:搜索引擎为什么能查询速度那么快? 核心是在于如何快速的依据查询词快速的查找到所有的相关文档,这也是倒排索引(Inverted Index)的核心思想。那么如何设计一个快速的(常量,或者1)定位词典的数据结构就显得尤其重要。简单来说,我们可以采用HashMap, TRIE, Binary Search 阅读全文
posted @ 2021-11-26 09:56 苍青浪 阅读(1120) 评论(0) 推荐(1) 编辑
摘要:我们先看看究竟什么是堆?以大顶堆为例: 对于一棵完全二叉树而言,当每个结点不小于其子结点时,便可称之为堆(大顶堆),比如: 原始的待排序的数组为:30, 20, 40, 10, 0, 60, 80, 70其对应的完全二叉树为: 接下来,我们来图解堆排序,并用程序来实现堆排序。在这个过程中,希望大家感 阅读全文
posted @ 2021-07-28 10:18 苍青浪 阅读(4463) 评论(0) 推荐(0) 编辑
摘要:本文首发于政采云前端团队博客:如何用 JS 实现二叉堆 https://www.zoo.team/article/binary-heap-with-js 前言 二叉树(Binary Tree)是一种树形结构,它的特点是每个节点最多只有两个分支节点,一棵二叉树通常由根节点、分支节点、叶子节点组成,如下 阅读全文
posted @ 2021-03-03 09:33 苍青浪 阅读(179) 评论(0) 推荐(0) 编辑
摘要:二叉查找树 由于红黑树本质上就是一棵二叉查找树,所以在了解红黑树之前,咱们先来看下二叉查找树。 二叉查找树(Binary Search Tree),也称有序二叉树(ordered binary tree),排序二叉树(sorted binary tree),是指一棵空树或者具有下列性质的二叉树: 若 阅读全文
posted @ 2020-03-10 14:20 苍青浪 阅读(6472) 评论(0) 推荐(0) 编辑
摘要:1、先说二叉树的遍历,遍历方式: 前序遍历:先遍历根结点,然后左子树,再右子树 中序遍历:先遍历左子树,然后根结点,再右子树 后续遍历:先遍历左子树,然后右子树,再根结点 上代码:主要还是利用递归 function TreeCode() { let BiTree = function (ele) { 阅读全文
posted @ 2019-08-06 10:21 苍青浪 阅读(10827) 评论(0) 推荐(1) 编辑
摘要:前言 树是数据结构中的重中之重,尤其以各类二叉树为学习的难点。一直以来,对于树的掌握都是模棱两可的状态,现在希望通过写一个关于二叉树的专题系列。在学习与总结的同时更加深入的了解掌握二叉树。本系列文章将着重介绍一般二叉树、完全二叉树、满二叉树、线索二叉树、霍夫曼树、二叉排序树、平衡二叉树、红黑树、B树 阅读全文
posted @ 2019-08-05 18:05 苍青浪 阅读(446) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示
哥伦布
03:14发布
哥伦布
03:14发布
7°
多云
西南风
3级
空气质量
相对湿度
64%
今天
多云
-1°/10°
周三
小雨
2°/12°
周四
中雨
2°/14°