
数据结构
fcytxdy
这个作者很懒,什么都没留下…
展开
-
二叉树的三叉链表存储(java实现)
package com.fcy.dataStruct; /** * 与二叉树的二叉链表存储相比,三叉链表存储 * 多了一个指针域来记录当前节点的父节点 */ class ThreeLinkBinTree{ public static class TreeNode{ Object data; TreeNode left; //左子节点 TreeNode rig原创 2014-09-07 21:21:10 · 2716 阅读 · 0 评论 -
树-父节点表示法(java实现)
package com.fcy.dataStruct; import java.util.ArrayList; import java.util.List; class TreeParent{ public static class Node{ T data; //记录其父节点的位置 int parent; public Node(){} public Node(T dat原创 2014-09-07 20:28:41 · 1073 阅读 · 0 评论 -
链栈(java实现)
package com.fcy.dataStruct; public class LinkStack { private class Node{ //保存结点数据 private T data; //指向下一个结点的引用 private Node next; public Node(T data,Node next){ this.data=data; this原创 2014-09-07 19:05:44 · 1129 阅读 · 0 评论 -
java语言实现单链表
学习数据结构时,C/C语言描述的数据结构个人觉得太凌乱,通篇都原创 2014-04-04 22:52:04 · 1039 阅读 · 0 评论 -
二叉树的二叉链表存储(java实现)
package com.fcy.dataStruct; /** * 二叉树的二叉链表存储的是数据域、左子节点和右子节点 */ class TwoLinkBinTree{ public static class TreeNode{ //数据域 Object data; //左子节点 TreeNode left; //右子节点 TreeNode right; pub原创 2014-09-07 21:09:39 · 3637 阅读 · 0 评论 -
java使用数组实现线性表功能(增、删、查、改)
新建一个Array类:package demo; public class Array { private int elements; //元素下标 private long[] arr; //数组 public Array(){ arr=new long[50]; //默认初始长度为50 } public Array(int maxleng){ //自定义原创 2014-04-03 13:47:08 · 2389 阅读 · 0 评论 -
循环队列(java实现)
package com.fcy.dataStruct; import java.util.Arrays; class LoopQueue{ private int DEFAULT_SIZE=10; //保存数组的长度 private int capacity; //定义一个数组用于保存循环队列的元素 private Object[] elementData; //保存循环队列中元素的原创 2014-09-07 19:41:17 · 3510 阅读 · 0 评论 -
java语言实现二叉排序树(结点的增、删、查、改,递归、非递归遍历)
package ch10; /** * 二叉排序树 * 1.插入节点时,比节点小的放在左子节点,比节点大的放在右子节点 * 2.查找节点时,比节点小的查找左子树,比节点大的查找右子树 * 3.遍历节点时,应用递归进行相应的遍历 * 4.删除节点时,分为三种情况: * 1.度为0的节点,即叶节点 * 2.度为1的节点,即只有左子树或只有右子树 * 3.度为2的节点,即既有原创 2014-04-06 20:08:06 · 1597 阅读 · 0 评论 -
树-子节点表示法(java实现)
package com.fcy.dataStruct; import java.util.ArrayList; import java.util.List; /** * 子节点链表表示法的特点是,每个节点都可以快速找到它 * 的所有子节点,但如果要找某个节点的父节点则比较麻烦, * 程序要遍历整个节点数组 */ class TreeChild{ private static class原创 2014-09-07 20:44:25 · 2355 阅读 · 0 评论 -
链队列(java实现)
package com.fcy.dataStruct; class LinkQueue{ //定义一个内部类Node,Node实例代表链队列的结点 private class Node{ //保存结点的数据 private T data; //指向下一个结点的引用 private Node next; public Node(T data,Node next){ t原创 2014-09-07 19:58:42 · 1155 阅读 · 0 评论 -
顺序队列(java实现)
package queue; public class MyQueue { private long[] arr; //定义数组 private int elements; //表示元素个数 private int front; //队首 private int end; //队尾 /* * 默认构造函数 * 初始长度为10 */ public My原创 2014-04-03 23:22:54 · 1191 阅读 · 0 评论 -
java实现顺序栈
package stack; public class MyStack { private long arr[]; //定义 数组 private int top; //栈顶指针 /* * 默认构造函数 * 初值长度为10 */ public MyStack(){ arr=new long[10]; top=-1; } /* * 构造函数原创 2014-04-03 23:20:19 · 1373 阅读 · 0 评论 -
java语言实现双向链表
定义一个结点类: //这是结点类:Node.java package funcy; /** * 链结点类,相当于是车厢 */ public class Node { public long data; //数据域 public Node next; //指针域,指向后一个结点 public Node previous; //指针域,指向前一个结点 public No原创 2014-04-05 11:18:36 · 869 阅读 · 1 评论 -
哈夫曼树(java实现)
package com.fcy.dataStruct; import java.util.ArrayDeque; import java.util.ArrayList; import java.util.List; import java.util.Queue; public class HuffmanTree { //节点类 public static class Node{ E da原创 2014-09-07 21:33:26 · 1147 阅读 · 0 评论 -
二叉树顺序存储(java实现)
package com.fcy.dataStruct; /** * 顺序存储是指利用用长度为(2^i-1)数组存储深度为i的二叉树, * 这种存储方法会造成一定的空间浪费。 */ class ArrayBinTree{ //使用数组来记录该树的所有子节点 private Object[] datas; private int DEFAULT_DEEP=8; //保存该树的深度 p原创 2014-09-07 20:56:54 · 1074 阅读 · 0 评论