数据结构
文章平均质量分 86
利用java语言实现数据结构的一些知识。
不愿透露姓名的Y同学
这个作者很懒,什么都没留下…
展开
-
压缩算法之哈夫曼树(基于Java实现)
一,Huffman树的简介1,定义给定n个带权值的节点,将这n个节点作为叶子节点构建一棵二叉树,若该树的带权路径最小,则称该树为最优二叉树,也叫Huffman树。2,生成方法<1>,在节点中取权值最小的两个节点为叶节点,生成一棵二叉树,该二叉树的父节点权值为两个叶节点的权值之和。<2>,将取出的两个节点删除,加入新生成的父节点,重新回到步骤1,直到只剩下1个节点不能再生成树为止。举个例子,现在我们有一下几个节点,它们的权值分别如下所示:带权路径长度WPL(weight原创 2021-04-26 12:05:04 · 569 阅读 · 0 评论 -
Java之二叉排序树
在上一篇博客中(Java之二叉树的手动构建与遍历)我们了解了二叉树的基本知识,知道二叉树可以用来存储数据,并且有多种遍历方式,那么我们联想到如果我们有一组数据需要排序,能否利用二叉树实现呢?答案是当然可以!下面就来一步步实现!一,节点属性规定节点根据连接关系有四个属性:1,父节点2,左子节点3,右子节点4,节点值 class Node{ Node paren; Node left; Node right; int value; //构造方法 实例化节点时要传参原创 2021-04-17 15:33:52 · 226 阅读 · 1 评论 -
Java之二叉树的手动构建与遍历
一,树的基本知识树是一种数据结构,它是由n(n>=1)个有限结点组成的一个具有层次关系的集合,如下图所示:<1>树的基本术语:1,父节点和子节点:一个节点若干分支下的节点都称为该节点的子节点,该节点称为子节点的父节点。如上图中B、C是A的子节点,A是B、C的父节点。2,兄弟节点:同一父节点的所有子节点互为兄弟节点。如上图中B、C互为兄弟节点。3,节点的度:该节点拥有子树的数目。上图中A的度为2,B的度为1,C的度为3.4,叶子节点:没有子树的节点即度为0的节点。上图中D、E、原创 2021-04-15 12:29:43 · 429 阅读 · 0 评论
分享