数据结构
文章平均质量分 85
壮少Bryant
安卓小子
展开
-
红黑树
一红黑树简介1 java代码定义二红黑树的时间复杂度和相关证明时间复杂度为 Olgn定理一棵含有n个节点的红黑树的高度至多为2logn1三旋转1 左旋2 右旋3 区分左旋和右旋四添加Case 1叔叔是红色Case 2叔叔是黑色且当前节点是右孩子Case 3叔叔是黑色且当前节点是左孩子五删除Case 1x是黑黑节点x的兄弟节点是红色Case 2 x是黑黑节点x的兄弟节点是黑色原创 2016-06-23 23:27:49 · 2790 阅读 · 0 评论 -
队列实现
数组型队列public class MyQueue { // 数组 private long[] arr; // 最大空间 private int maxSize; // 有效元素大小 private int elems; // 队头 private int font; // 队尾 private int end; pub原创 2016-06-14 21:02:17 · 366 阅读 · 0 评论 -
栈的实现
1栈的数组实现1、栈的数组实现package cn.zhuang.stack;/** * 栈的ADT实现,数组栈 * @author zhuang */public class ArrayStack<E> { private E[] data;//对象数组 private int top;//栈顶位置 //默认构造函数,初始数组容量为10 public Arra原创 2016-04-13 15:17:37 · 385 阅读 · 0 评论 -
链表实现
单链表package com.zhuang.lianbian;public class Node { public Node next=null; //默认新加的结点指针为null public int data; public Node(int data){ this.data=data; } @Override public Str原创 2016-04-13 15:48:46 · 331 阅读 · 0 评论 -
二叉搜索树
性质:左子节点<父节点<右子节点定义:public class TreeNode { public int keyValue; //关键字值 public TreeNode leftNode;//左节点 public TreeNode rightNode;//右节点 public TreeNode(){} public TreeNode(int Key)原创 2016-06-16 11:24:45 · 1416 阅读 · 0 评论 -
AVL树
一AVL树的介绍AVL树是高度平衡的而二叉树它的特点是AVL树中任何节点的两个子树的高度最大差别为1二AVL树的Java实现1 节点定义2 旋转21 LL旋转22 RR旋转23 LR旋转24 RL旋转3 插入节点4 删除节点三完整代码代码分析一、AVL树的介绍 AVL树是高度平衡的而二叉树。它的特点是:AVL树中任何节点的两个子树的高度最大差别为1。上面的两张图片,左边的原创 2016-06-19 17:37:33 · 662 阅读 · 0 评论 -
各种遍历总结
1、 二叉树的层次遍历import java.util.LinkedList; public void levelIterator(BiTree root){ if(root == null){ return ; } LinkedList<BiTree> queue = new LinkedList<BiTree>(); BiTr原创 2016-09-10 11:19:19 · 390 阅读 · 0 评论 -
Trie树
1. Trie树 Trie树,即字典树,又称单词查找树或键树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计和排序大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:最大限度地减少无谓的字符串比较,查询效率比哈希表高。Trie的核心思想是空间换时间。利用字符串的公共前缀来降低查询时间的开销以达到提高效率的目的。它有3个基本性质:根节点不包含字符,除根原创 2016-09-03 21:40:32 · 356 阅读 · 0 评论