我是一棵“树”

转载自 我是一棵“树”   我是一颗树,之前我们数据结构家族中的一个小朋友——“栈” 已经给你们介绍过的我们这个家族了(我是一个“栈”)。之所以叫栈为小朋友,是因为我和他的爸爸——数组是平辈的。 之所以存在我们这样一个家庭,最主要的原因是数组他们家庭虽然很强大,但是有一定的局限性。大家都知道...

2018-07-24 23:34:29

阅读数:8

评论数:0

深度优先搜索和广度优先搜索

转载自  深度优先搜索和广度优先搜索 图的应用很广泛,也有很多非常有用的算法,当然也有很多待解决的问题,根据性质,图可以分为无向图和有向图。 图 之所以要研究图,是因为图在生活中应用比较广泛: 图是若干个顶点(Vertices)和边(Edges)相互连接组成的。边仅由两个顶点连接,并且没...

2018-07-22 12:49:41

阅读数:14

评论数:0

跳跃表(Skip list)原理与java实现

转载自 【算法导论33】跳跃表(Skip list)原理与java实现Skip list是一个用于有序元素序列快速搜索的数据结构,由美国计算机科学家William Pugh发明于1989年。它的效率和红黑树以及 AVL 树不相上下,但实现起来比较容易。作者William Pugh是这样介绍Skip...

2018-04-18 21:19:31

阅读数:60

评论数:0

跳表SkipList

转载自 跳表SkipList 1.聊一聊跳表作者的其人其事 2. 言归正传,跳表简介 3. 跳表数据存储模型 4. 跳表的代码实现分析 5. 论文,代码下载及参考资料  . 聊一聊作者的其人其事  跳表是由William Pugh发明。他在 Communi...

2018-04-18 21:17:08

阅读数:25

评论数:0

漫画:什么是跳跃表

转载自 玻璃猫 程序员小灰这是发生在很多年以前的故事......几天以前......几天之后......拍卖行的商品总数量有几十万件,对应数据库商品表的几十万条记录。如果是按照商品名称精确查询还好办,可以直接从数据库查出来,最多也就上百条记录。如果是没有商品名称的全量查询怎么办?总不可能把数据库里...

2018-04-13 14:02:27

阅读数:58

评论数:0

漫画:什么是B+树

转载自 玻璃猫 程序员小灰这一次我们来介绍 B+ 树。一个m阶的B树具有如下几个特征:1.根结点至少有两个子女。2.每个中间节点都包含k-1个元素和k个孩子,其中 m/2 <= k <= m3.每一个叶子节点都包含k-1个元素,其中 m/2 &a...

2018-04-13 13:52:49

阅读数:35

评论数:0

漫画:什么是B-树

转载自 玻璃猫 程序员小灰本文提到的「B-树」,就是「B树」,都是 B-tree 的翻译,里面不是减号-,是连接符-。因为有人把 B-tree 翻成 「B-树」,让人以为「B树」和「B-树」是两种树,实际上两者就是同一种树。————————————————————————二叉查找树的结构:第1次磁...

2018-04-13 13:50:33

阅读数:38

评论数:1

漫画:什么是红黑树

转载自 玻璃猫 程序员小灰————————————二叉查找树(BST)具备什么特性呢?1.左子树上所有结点的值均小于或等于它的根结点的值。2.右子树上所有结点的值均大于或等于它的根结点的值。3.左、右子树也分别为二叉排序树。下图中这棵树,就是一颗典型的二叉查找树:1.查看根节点9:2.由于10 &...

2018-04-12 19:01:31

阅读数:50

评论数:0

红黑树详细分析

转载自  coolblog 算法与数据结构“ 一、红黑树简介红黑树是一种自平衡的二叉查找树,是一种高效的查找树。它是由 Rudolf Bayer 于1972年发明,在当时被称为对称二叉 B 树(symmetric binary B-trees)。后来,在1978年被 Leo J. Guibas 和...

2018-04-12 14:42:11

阅读数:24

评论数:0

Android面试题算法之二叉树

转载自  qing的世界  程序员小乐文章目录前言二叉树的递归(深度优先)处理二叉树的层序处理(广度优先)总结“ 一、前言今年可谓是跌宕起伏的一年,幸好结局还算是圆满。开年的时候由于和公司CTO有过节,被"打入冷宫",到下半年开始找工作,过程还是蛮艰辛。先分享一...

2018-04-12 14:32:13

阅读数:36

评论数:0

一篇文章搞定面试中的二叉树

转载自  IOExceptioner  算法与数据结构 在上一篇介绍二叉树( Android面试题算法之二叉树 、红黑树详细分析,看了都说好),没看的读者建议先去了解了解,接下来再给大家带来一篇关于二叉树的文章。 最近总结了一些数据结构和算法相关的题目,这是第一篇文章,关于二叉...

2018-04-12 14:22:23

阅读数:31

评论数:0

数据结构(四)之单链表查找中间结点

一、查找单链表中间结点 1、简单查找   先遍历获取单链表单长度n,然后通过计算得到中间结点为n/2,然后查找下标为n/2的元素。 2、优化查找       先设置记录点fast、slow,下标均从0开始,fast走两步,slow走一步,同时遍历两个记录点,直到fast的值为null,slow是中...

2017-11-26 17:56:44

阅读数:62

评论数:0

数据结构(三)之单链表反向查找

一、反向查找单链表 1、简单查找   先遍历获取单链表单长度n,然后通过计算得到倒数第k个元素的下标为n-k,然后查找下标为n-k的元素。 2、优化查找       先找到下标为k的元素为记录点p1,然后设置新的记录点p2的下标从0开始,同时遍历两个记录点,直到p1的值为null,p2是倒数第k个...

2017-11-26 17:56:42

阅读数:89

评论数:0

数据结构(二)之链表反转

一、链表反转 1、反转非递归算法 2、反转递归算法 链表结点: package cn.edu.scau.mk; /** * * @author MK * @param */ public class Node { private T data; private N...

2017-11-26 17:56:39

阅读数:84

评论数:0

数据结构(一)之链表

一、链表   链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。   链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。 相比于线性表...

2017-11-26 17:56:34

阅读数:56

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭