![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法分析
belong to air
时间都是公平的,加油
展开
-
Java实现二叉搜索树及相关操作
package com.tree;import com.tree.BitNode;/** * * 二叉搜索树:一个节点的左子节点的关键字小于这个节点,右子节点的关键字大于或等于这个父节点 * * 注意:不适合插入相同关键字的节点与平衡二叉树比较:不适合插入有序序列 */public class SearchBinTree { public static void main(Str原创 2015-08-22 17:31:08 · 1208 阅读 · 0 评论 -
Java创建二叉树
//定义一个节点class BitNode { int data; BitNode lchild; BitNode rchild; public void setNode(int data, BitNode lc, BitNode rc) { this.data = data; lchild = lc; rchild =原创 2015-08-22 17:00:40 · 13238 阅读 · 2 评论 -
Java实现堆
package com.heap;class Node { private int iData; public int getKey() { return iData; } public void setKey(int iData) { this.iData = iData; } public Node(int iData)原创 2015-08-24 18:23:51 · 1124 阅读 · 0 评论 -
Java实现二叉树重构
package com.tree;public class RebuildBiTree { static boolean CanReBuild = true; // 用来标示是否能够重构二叉树 public static void main(String[] args) { int[] preorder = { 1, 2, 3, 4, 5 }; int[原创 2015-08-22 17:22:11 · 1205 阅读 · 0 评论 -
Java实现二叉树的相关操作
// 求二叉树的深度 public static int BiTreeDepth(BitNode T) { int depthval, depthLeft, depthRight; if (T == null) depthval = 0; else if (T.lchild == null && T.rchild ==原创 2015-08-22 17:15:01 · 898 阅读 · 0 评论 -
中缀表达式求值(Java)
思想:为实现运算符优先算法,可以使用两个栈。一个是OPTR,存放运算符;一个是OPND,存放运算结果。1.首先置OPND为空栈,表达式起始符“#”为栈底元素;2.依次读入表达式中每个元素,若是操作数则进OPND,若是运算符则和OPTR栈中的栈顶运算符比较优先权后作相应操作,直至整个表达式求值完毕。(栈顶运算符优先权低,push操作, 栈顶运算符优先级高,取出两个数运算,再把结果push原创 2015-04-09 12:02:30 · 2435 阅读 · 0 评论 -
一元多项式求和(Java链表实现)
package com.polyn_sum;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;class Polyn { public float coef;//系数 public int expn;//指数} class LNode {原创 2015-04-08 14:31:38 · 2748 阅读 · 0 评论 -
归并排序(Java) @排序
原理: 代码实现:public static void main(String[] args) { int[] arr = { 2, 43, 56, 1, 7, 8, 1, 2, 7, 3, 8, 9 }; mergeSort(arr, 0, arr.length - 1); for (int i = 0; i System.out.print(ar原创 2015-04-07 16:53:50 · 478 阅读 · 0 评论 -
Java实现重构二叉树
通常二叉树重构都可以有先序遍历序列和中序遍历序列重构,,当然在二叉树是满二叉树的情况下也可以通过先序和后序遍历序列重构,这里只针对前一种情况。构建和遍历在前面有,这里只写了重构方法。 package com.tree;public class RebuildBiTree { static boolean CanReBuild = true; // 用来标示是否能够重构二叉树原创 2015-04-12 10:31:59 · 1246 阅读 · 0 评论 -
Java实现二叉树的先序、中序、后序、层级遍历
// 递归先序遍历 public static void PreOrderTraverse(BitNode root) { if (root != null) { visitTNode(root); PreOrderTraverse(root.lchild); PreOrderTraverse(root.原创 2015-08-22 17:10:10 · 1919 阅读 · 0 评论