
数据结构
讲解最基本的数据结构内容并提供例子
今天努力了吗??
上岸985研究生,人工智能方向,后续大数据和AI相关的知识一起分享,欢迎大佬们批评指正!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Huffman树的创建、Huffman应用文件压缩解压缩
一、Huffman树的概念和创建步骤**概念:**给定n个权值作为n个叶子结点,构造一棵二叉树,若该树的带权路径长度(wpl)达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman Tree),还有的书翻译为霍夫曼树。赫夫曼树是带权路径长度最短的树,权值较大的结点离根较近。不懂这些专业术语的同学可以去搜索一下。步骤:1、从小到大进行排序,将每一个数据,每个数据都是一个节点,每个节点都可以看成是一颗最简单的二叉树2、取出根节点权值最小的两颗二叉树3、组成一颗新的二叉树,该新的二叉树的原创 2021-03-11 14:45:49 · 177 阅读 · 2 评论 -
AVL树详解及Java实现AVL树(二叉排序树的改进版)左旋、右旋、双旋
AVL树如果一个数组{1,2,3,4,5}构建一颗二叉排序树那么他的高度将会很高,导致树的左边为空;虽然说添加的速度影响不大,但是查找速度大大减慢。上述问题的解决方案就是AVL树。概念:1、AVL树也叫平衡二叉树也叫平衡二叉搜索树,可以保证查询效率很高。2、他的左右两个子树的高度差的绝对值不超过1,并且左右两颗子树都是一个平衡二叉树。代码中有详细注释,大家不妨先把代码拷贝然后再走一遍package com.sgr.avl;/** * @author 科比 */public clas原创 2021-03-14 15:33:05 · 244 阅读 · 0 评论 -
Java实现二叉排序树(BinarySort(Search)Tree)添加、删除、遍历等功能,代码中有详细注释!!!
介绍:1、对于二叉排序树的任何一个非叶子节点,要求左子节点的值比当前节点的值小,右子节点的值比当前节点的值大。2、如果有相同的值,可以将改节点放在左子树或右子树多说无益,下面直接上代码!!!代码中有详细注释,如有不明白的地方,欢迎大家指出!!package com.sgr.binarysorttree;/** * @author 科比 */public class BinarySortTreeDemo { public static void main(String[] args)原创 2021-03-12 16:26:09 · 354 阅读 · 0 评论