Java 数据结构学习 之 二叉树及相关
来源:互联网 发布:手机淘宝装修图片尺寸 编辑:程序博客网 时间:2024/06/05 00:11
首先,申明一点,此博客用于仅用于平时学习、总结及复习。最近老师出了一个有关二叉树的迭代器的题目,总是想不明白,于是查了很多资料,现将一些重要知识总结如下:关于数据结构 树这一章重要的知识点有两点:二叉树和Huffman树
- 二叉树创建及遍历
。。。。。。待填
////二叉树输入结点 insert()
public void insert(Object data){
root=insert(root,data);
}
public(应该改为private) Node insert(Node node,Object data){ //这一部分要好好的学习
if(node==null){
node=new Node(data);
}else if(node.data<=data){
insert(node.rchild,data);
}else{
insert(node.lchild,data);
}
return node;
}
/// 创建二叉树
public void buildTree(Object[] obj){
for(Object data:obj){
insert(data);
}
}
/// 先序遍历二叉树
public void travesalBTNode(){
taversalBTNode(root);
}
private Node travesalBTNode(Node node){
if(node==null) return;
System.out.println(“Node.data=”+data);
travesal(node.lchild);
travesal(node.rchild);
}
insert()为什么需要 Node node 参数?值传递 注意它的封装性和访问控制权限,类以及 BinaryTree 的函数都相应有 private 和 public 方法来实现很好的封装和访问控制,这种方式以后自己要多加学习,积极运用。 2. Huffman树的结点和创建
///哈弗曼树结点定义
public class Node implements comparable{
private Object data;
private Node lchild;
private Node rchild;
public Node(){}
public Node(Object data){//构造函数
this.data=data;
lchild=rchild=null;
}
public Object getData(){
return data;
}
public void setData(Object data){
this.data=data;
}
public Node getLeftChild() {
return lchild;
}
public void setLeftChild(Node lchild) {
this.lchild = lchild;
}
public Node getRightChild() {
return rchild;
}
public void setRightChild(Node rchild) {
this.rchild = rchild;
}
public Object compareTo(Object o){//重写comparable类的compareTo方法 Node that=(Node)o; Object result=this.data-that.data; return result>0?1:result==0?0:-1;}
}
“`
有待完善。。。
- Java 数据结构学习 之 二叉树及相关
- 数据结构与算法学习之二叉树及二叉树的相关操作
- 数据结构学习之-二叉树的三种递归遍历C++实现及相关应用
- 数据结构之二叉树相关问题汇总
- 数据结构学习之二叉树
- 数据结构学习之二叉树
- 数据结构学习之二叉树
- java数据结构之二叉树
- java数据结构之二叉树
- 数据结构学习笔记之Java实现二叉查找树
- 数据结构学习之二叉树小结
- 数据结构学习之二叉树(理论篇)
- 数据结构学习之二叉树(实践篇)
- 数据结构学习之二叉树(理论篇)
- 数据结构学习之二叉树(实践篇)
- 数据结构学习笔记之二叉树
- 数据结构学习笔记之二叉树
- java数据结构之二叉搜索树
- JavaScript js无间断滚动效果 scrollLeft方法 使用模板
- overload与override的区别
- object_getClassName
- Linux下C语言编译基础及makefile的编写
- 浅谈XML 解析技术性能对比分析之 生成XML
- Java 数据结构学习 之 二叉树及相关
- NGINX引入线程池 性能提升9倍
- oracle 中要查询某天数据 to_date(createdt,'yyyy-MM-dd')=to_date('2010-11-25','yyyy-MM-dd'); 用这种语
- poj 1251 Jungle Roads 最小生成树
- Linux内核-协议栈-初始化流程分析
- 在ubuntu下访问win的共享文件夹的方法
- HDOJ--1864--最大报销额
- 8.7 8.8 Permutation
- 【JAVA的三大循环】(1)