随笔分类 -  数据结构

摘要:转载自 Java 程序员必须掌握的 8 道数据结构面试题,你会几道 瑞士计算机科学家Niklaus Wirth在1976年写了一本书,名为《算法+数据结构=编程》。 40多年后,这个等式仍被奉为真理。这就是为什么在面试过程中,需要考察软件工程师对数据结构的理解。 几乎所有的问题都需要面试者对数据结构 阅读全文
posted @ 2018-10-29 12:45 茅坤宝骏氹 阅读(0) 评论(0) 推荐(0)
摘要:转载自 漫画:如何用栈实现队列 栈的特点是先入后出,出入元素都是在同一端(栈顶): 入栈: 出栈: 队列的特点是先入先出,出入元素是在不同的两端(队头和队尾): 入队: 出队: 既然我们拥有两个栈,那么我们可以让其中一个栈作为队列的入口,负责插入新元素;另一个栈作为队列的出口,负责移除老元素。 队列 阅读全文
posted @ 2018-10-27 09:44 茅坤宝骏氹 阅读(0) 评论(0) 推荐(0)
摘要:转载自 深度优先搜索和广度优先搜索 图的应用很广泛,也有很多非常有用的算法,当然也有很多待解决的问题,根据性质,图可以分为无向图和有向图。 图 之所以要研究图,是因为图在生活中应用比较广泛: 图是若干个顶点(Vertices)和边(Edges)相互连接组成的。边仅由两个顶点连接,并且没有方向的图称为 阅读全文
posted @ 2018-07-22 12:49 茅坤宝骏氹 阅读(0) 评论(0) 推荐(0)
摘要:转载自 玻璃猫 程序员小灰 这是发生在很多年以前的故事...... 几天以前...... 几天之后...... 拍卖行的商品总数量有几十万件,对应数据库商品表的几十万条记录。 如果是按照商品名称精确查询还好办,可以直接从数据库查出来,最多也就上百条记录。 如果是没有商品名称的全量查询怎么办?总不可能 阅读全文
posted @ 2018-04-13 14:02 茅坤宝骏氹 阅读(0) 评论(0) 推荐(0)
摘要:转载自 玻璃猫 程序员小灰 本文提到的「B-树」,就是「B树」,都是 B-tree 的翻译,里面不是减号-,是连接符-。因为有人把 B-tree 翻成 「B-树」,让人以为「B树」和「B-树」是两种树,实际上两者就是同一种树。 ———————————— ———————————— 二叉查找树的结构: 阅读全文
posted @ 2018-04-13 13:50 茅坤宝骏氹 阅读(0) 评论(0) 推荐(0)
摘要:转载自 coolblog 算法与数据结构 “ 一、红黑树简介 红黑树是一种自平衡的二叉查找树,是一种高效的查找树。它是由 Rudolf Bayer 于1972年发明,在当时被称为对称二叉 B 树(symmetric binary B-trees)。后来,在1978年被 Leo J. Guibas 和 阅读全文
posted @ 2018-04-12 14:42 茅坤宝骏氹 阅读(0) 评论(0) 推荐(0)
摘要:转载自 qing的世界 程序员小乐 文章目录 前言二叉树的递归(深度优先)处理二叉树的层序处理(广度优先)总结 “ 一、前言 今年可谓是跌宕起伏的一年,幸好结局还算是圆满。开年的时候由于和公司CTO有过节,被"打入冷宫",到下半年开始找工作,过程还是蛮艰辛。先分享一下offer的情况 国内的有 1. 阅读全文
posted @ 2018-04-12 14:32 茅坤宝骏氹 阅读(0) 评论(0) 推荐(0)
摘要:转载自 IOExceptioner 算法与数据结构 在上一篇介绍二叉树( Android面试题算法之二叉树 、红黑树详细分析,看了都说好),没看的读者建议先去了解了解,接下来再给大家带来一篇关于二叉树的文章。 最近总结了一些数据结构和算法相关的题目,这是第一篇文章,关于二叉树的。 先上二叉树的数据结 阅读全文
posted @ 2018-04-12 14:22 茅坤宝骏氹 阅读(0) 评论(0) 推荐(0)
摘要:一、查找单链表中间结点 1、简单查找 先遍历获取单链表单长度n,然后通过计算得到中间结点为n/2,然后查找下标为n/2的元素。 2、优化查找 先设置记录点fast、slow,下标均从0开始,fast走两步,slow走一步,同时遍历两个记录点,直到fast的值为null,slow是中间结点。 单链表结 阅读全文
posted @ 2017-08-02 22:43 茅坤宝骏氹 阅读(758) 评论(0) 推荐(0)
摘要:一、反向查找单链表 1、简单查找 先遍历获取单链表单长度n,然后通过计算得到倒数第k个元素的下标为n-k,然后查找下标为n-k的元素。 2、优化查找 先找到下标为k的元素为记录点p1,然后设置新的记录点p2的下标从0开始,同时遍历两个记录点,直到p1的值为null,p2是倒数第k个元素。 单链表结点 阅读全文
posted @ 2017-08-02 21:27 茅坤宝骏氹 阅读(312) 评论(0) 推荐(0)
摘要:一、链表反转 1、反转非递归算法 2、反转递归算法 链表结点: package cn.edu.scau.mk; /** * * @author MK * @param <T> */ public class Node<T> { private T data; private Node<T> next 阅读全文
posted @ 2017-08-02 19:39 茅坤宝骏氹 阅读(252) 评论(0) 推荐(0)
摘要:一、链表 链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。 链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。 相比于线性表顺序结构, 阅读全文
posted @ 2017-08-01 21:48 茅坤宝骏氹 阅读(180) 评论(0) 推荐(0)