![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 94
壮少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 · 2432 阅读 · 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 · 336 阅读 · 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 · 332 阅读 · 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 · 316 阅读 · 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 · 1399 阅读 · 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 · 609 阅读 · 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 · 370 阅读 · 0 评论 -
Trie树
1. Trie树 Trie树,即字典树,又称单词查找树或键树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计和排序大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:最大限度地减少无谓的字符串比较,查询效率比哈希表高。 Trie的核心思想是空间换时间。利用字符串的公共前缀来降低查询时间的开销以达到提高效率的目的。它有3个基本性质: 根节点不包含字符,除根原创 2016-09-03 21:40:32 · 308 阅读 · 0 评论