树
程序员飞鱼子
花有重开日,人无再少年。
展开
-
30、赫夫曼树
1. 概念赫夫曼树:给定n个权值作为n个叶子节点,构造一棵二叉树,若该树的带权路径长度(wpl)达到最小,称这样的二叉树为最优二叉树,也叫赫夫曼树(Huffman Tree)。路径:从一个节点往下可以达到的孩子或者孙子节点之间的通路,称之为路径。路径长度:通路中的分支数目称之为路径长度,若规定根节点的层数为1,则从根节点到第L层节点的路径长度为L-1。权:将书中的节点赋给一个有某种意义的数值,则这个数值称之为给节点的权。带权路径长度:从根节点到该节点之间的路径长度与该节点的权的乘积。.原创 2020-05-13 16:17:51 · 127 阅读 · 0 评论 -
28、线索二叉树
1、前序和中序线索二叉树 思路就是构建个pre指针,在交换时,注意pre和curNode节点的指针指向问题代码:package tree;import javax.xml.soap.Node;public class ThreadBinaryTreeDemo { public static void main(String[] args) { // TODO Auto-generated method stub //1、**************演示前中后序打印结果***原创 2020-05-09 12:18:23 · 155 阅读 · 0 评论 -
27、数组存储完全二叉树
思路: 简单介绍了用数组存储完全二叉树的问题,重点就是找到父节点和子节点的关系(Node = 2leftNode+1,Node = 2rightNode+1 ) 下面的代码就是二叉树用数组存储后,怎么对数组进行前中后遍历的问题。 代码: package tree;public class ArrBinaryTreeDemo { public static void main(String[] args) { // TODO Auto-generated method stub..原创 2020-05-08 18:53:45 · 1655 阅读 · 0 评论 -
26、二叉树的应用
思路:写了树节点类、树类和测试类,并写了前中后序遍历和搜索,并写了删除函数。相关代码package tree;public class BinaryTreeDemo { public static void main(String[] args) { //1、**************演示前中后序打印结果*************** // TODO Auto-generated method stub BinaryTreeNode binaryTreeNode1原创 2020-05-08 18:49:17 · 156 阅读 · 0 评论