05 2023 档案

摘要:# 多路查找树 ## 1. 二叉树的问题分析 二叉树的操作效率较高,但是也存在一些问题: + **二叉树需要加载到内存中**,若二叉树的节点较少没什么问题,但若二叉树的节点很多,则会出现下列的问题: + 在构建二叉树时,**需要多次进行I/O操作**(海量数据存储在数据库或文件中),也即**海量的节 阅读全文
posted @ 2023-05-25 20:36 GaoakaJie 阅读(70) 评论(0) 推荐(0) 编辑
摘要:# 平衡二叉树AVL ## 1. BST存在的问题——引入平衡二叉树 + 上图中的BST左子树为空,从形式上来看更像是一条单链表; + 虽然插入的速度并没有受到影响,但**查询的速度明显降低**; + 这是由于每次查询进行比较时,**还需要比较左子树**,其**查询速度比单链表还慢**,**无法发挥 阅读全文
posted @ 2023-05-25 11:05 GaoakaJie 阅读(28) 评论(0) 推荐(0) 编辑
摘要:二叉排序树BST 1. 问题描述 数组(顺序存储): 未排序: 优点:直接在数组末尾添加元素,速度较快; 缺点:查找速度慢; 已排序: 优点:可以使用二分查找等查找算法,查找速度较快; 缺点:为了保证数组是有序的,添加新数据时,找到插入位置后,后面的数据需要整体移动,速度较慢; 链表(链式存储): 阅读全文
posted @ 2023-05-19 13:07 GaoakaJie 阅读(61) 评论(0) 推荐(0) 编辑
摘要:赫夫曼编码 1. 基本介绍 赫夫曼编码也即哈夫曼编码(Huffman Coding),是一种编码方式,属于一种程序算法; 赫夫曼编码是赫夫曼树在电讯通信中的经典应用之一; 赫夫曼编码广泛地应用于数据文件压缩,其压缩率通常在**20%~90%**之间。重复次数越多,压缩率越高。 赫夫曼编码是**可变字 阅读全文
posted @ 2023-05-17 18:45 GaoakaJie 阅读(83) 评论(0) 推荐(0) 编辑
摘要:赫夫曼树HuffmanTree 1. 基本概念 路径:在树中,从一个节点到另外一个节点之间的分支构成这两个节点之间的路径; 路径长度:路径上的分支数称为路径长度; 若规定根节点的层数为1,则从根节点到第L层节点的路径长度为L - 1; 节点的权:对树中的节点赋一个具有某种含义的数值,则该数值称为该节 阅读全文
posted @ 2023-05-11 14:09 GaoakaJie 阅读(70) 评论(0) 推荐(0) 编辑
摘要:线索化二叉树 1. 问题分析 当对上面的二叉树进行中序遍历时,序列应为:[8,3,10,1,14,6]; 但存在一个问题也即,编号为6,8,10,14的几个节点的左右指针并没有完全利用上; 如果希望利用到各个节点的左右指针,让各个节点可以指向自己的前后节点,即使用线索化二叉树。 2. 线索化二叉树基 阅读全文
posted @ 2023-05-09 21:30 GaoakaJie 阅读(66) 评论(0) 推荐(0) 编辑
摘要:顺序存储二叉树 1. 介绍 从数据存储来看,数组的存储方式和树的存储方式是可以互相转换的,即数组可以转换成树,树也可以转换成数组; 遍历数组arr时,仍然可以以前序遍历、中序遍历、后序遍历的方式得到二叉树。 2. 顺序存储二叉树的特点 顺序存储二叉树通常只考虑完全二叉树; 下标为i的元素的左子节点为 阅读全文
posted @ 2023-05-09 12:21 GaoakaJie 阅读(62) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示