数据结构
24只羊羊羊
这个作者很懒,什么都没留下…
展开
-
堆和优先队列
1.优先队列的概念优先队列和其实是队列的一种普通队列:先进先出;后进先出优先队列:出队顺序和入队顺序无关;和优先级相关优先队列的接口和普通队列的接口是完全相同的,只是在出队和查看队首的实现方式会不同(优先级最高的在队首);优先队列可以使用不同的底层数据结构来实现 我们对队列这种抽象的数据结构做一些限制,创造出优先队列这个概念,我们在实现这个概念时可以使用不同的底...原创 2018-08-09 17:29:59 · 11461 阅读 · 0 评论 -
2-3树与红黑树
红黑树与2-3树具有等价性,我们在了解红黑树前先了解2-3树对我们理解红黑树是有帮助的,同时,对于理解B树也是有帮助的(用于磁盘存储,文件系统或数据库存储) 1. 2-3树下面的图片就是一颗2-3树可以看出,2-3树是一棵绝对平衡的树——根节点到任意一个叶子节点所经过的节点数量是相同的那么2-3树是怎样来维护它的绝对平衡的呢?我们来看看下面例子假设现在有...原创 2018-08-15 10:47:34 · 1635 阅读 · 3 评论 -
二叉树之二分搜索树
先来看看二叉树的定义: 我们再来看看二分搜索树: 看完基本概念我们来看代码:完成的代码在我github上:https://github.com/yangbishang/Data-Structures,代码上有详细注解;这里我只讲解下思路: 1.二分搜索树的前序中序后序遍历(深度优先遍历) 前面的图片...原创 2018-08-08 11:56:26 · 609 阅读 · 0 评论 -
平衡二叉树和AVL
1 概述 对于一棵二分搜索树,如果我们的数据是顺序添加到二分搜索树中,它就会退化成一个链表。我们如何解决这个问题呢,我们需要在现有的二分搜索树的基础上添加一些机制,使得我们二分搜索树能维持平衡二叉树这样的一个性质,而AVL就是一种最为经典的平衡二叉树。什么样的树才是平衡二叉树呢?满二叉数:除了叶子节点,其余节点都有左右子树,所以是一棵平衡二叉树而...原创 2018-08-13 09:32:56 · 3663 阅读 · 1 评论 -
哈希表
1. 什么是哈希表 我们先来做个题(leetCode上387题)public class Solution_387 { public int firstUniqChar(String s) { int[] freq = new int[26]; for(int i=0 ; i<s.length() ; i++) ...原创 2018-08-19 21:01:27 · 1062 阅读 · 2 评论