张拭心的博客 shixinzhang

“厚德求真·励学笃行”,输入->思考->输出

排序:
默认
按更新时间
按访问量
RSS订阅

重温数据结构:理解 B 树、B+ 树特点及使用场景

读完本文你将了解: B 树 对比平衡二叉树和 B 树 B 树中如何查找数据 B 树如何保证平衡 使用场景 B+ 树 Thanks 大家好,前面那篇文章《3 分钟理解完全二叉树、平衡二叉树、二叉查找树》中我们了解了几种特殊的二叉树的功能及特点,知道了它们在进行查找数据时可以提高效...

2018-05-29 00:46:13

阅读数 4402

评论数 4

重温数据结构:深入理解红黑树

读完本文你将了解到: 什么是红黑树黑色高度 红黑树的 5 个特性 红黑树的左旋右旋 指定节点 x 的左旋 右图转成左图 指定节点 y 的右旋左图转成右图 红黑树的平衡插入 二叉查找树的插入 插入后调整红黑树结构 调整思想 插入染红后的调整有 2 种情况 根据 TreeMap 的代码来验证这个过程 ...

2016-11-25 00:58:51

阅读数 22584

评论数 14

重温数据结构:二叉排序树的查找、插入、删除

读完本文你将了解到: 什么是二叉排序树 Binary Sort Tree BST 二叉排序树的关键操作 查找 插入 删除 运行代码测试 一道面试题 总结 Thanks 我们知道,二分查找可以缩短查找的时间,但是有个要求就是 查找的数据必须是有序的。每次查找、操作时都要维护一个有序的数据集,于是有...

2016-11-20 17:14:17

阅读数 9080

评论数 14

重温数据结构:二叉树的常见方法及三种遍历方式 Java 实现

读完本文你将了解到: 什么是二叉树 Binary Tree 两种特殊的二叉树 满二叉树 完全二叉树 满二叉树 和 完全二叉树 的对比图 二叉树的实现 用 递归节点实现法左右链表示法 表示一个二叉树节点 用 数组下标表示法 表示一个节点 二叉树的主要方法 二叉树的创建 二叉树的添加元素 二叉树的删除...

2016-11-17 02:03:39

阅读数 16897

评论数 17

重温数据结构:树 及 Java 实现

读完本文你将了解到: 什么是树 树的相关术语 根节点、父亲节点、孩子节点、叶子节点如上所述。 节点的度 树的度 节点的层次 树的高度 树的深度 树的两种实现 数组表示: 链表表示的节点: 树的几种常见分类及使用场景 数据结构,指的是数据的存储形式,常见的有线性结构(数...

2016-11-17 02:01:54

阅读数 21989

评论数 7

重温数据结构:哈希 哈希函数 哈希表

点击查看 Java 集合框架深入理解 系列, - ( ゜- ゜)つロ 乾杯~ 在学习 HashMap 前,我们先来温习下 Hash(哈希) 的概念。 什么是 HashHash(哈希),又称“散列”。散列(hash)英文原意是“混杂”、“拼凑”、“重新表述”的意思。在某种程度上,散列是与排序相反...

2016-10-27 00:49:30

阅读数 13980

评论数 6

10种经典排序算法及复杂度总结

排序算法有很多,所以在特定情景中使用哪一种算法很重要。为了选择合适的算法,可以按照建议的顺序考虑以下标准:  (1)执行时间  (2)存储空间  (3)编程工作     对于数据量较小的情形,(1)(2)差别不大,主要考虑(3);而对于数据量大的,(1)为首要。     主要排序法有:...

2015-08-17 12:04:00

阅读数 2207

评论数 0

哈夫曼树与哈夫曼编码

在一般的数据结构的书中,树的那章后面,著者一般都会介绍一下哈夫曼(HUFFMAN) 树和哈夫曼编码。哈夫曼编码是哈夫曼树的一个应用。哈夫曼编码应用广泛,如 JPEG中就应用了哈夫曼编码。 首先介绍什么是哈夫曼树。哈夫曼树又称最优二叉树, 是一种带权路径长度最短的二叉树。所谓树的带权路径长度,...

2015-08-16 22:37:39

阅读数 1634

评论数 1

怎么判断一个序列是不是堆?

已知一个序列,比如{100,6070,50,32,65},怎么判断是不是堆?答案:把这个序列看成数组型的二叉树,如果根结点是i,左子树是2*i,右子树是2*i+1。堆分为最大堆与最小堆。 最大堆中所有父节点都比左子树、右子树大,比如已知序列,画成堆就是: 所以已知序列是个最大堆。 最小堆中所...

2015-08-16 21:37:23

阅读数 23851

评论数 1

我是如何从勉强写冒泡成长到轻松get百度offer? (内有许多优质算法书籍介绍及推荐)

关于 严格来说,本文题目应该是我的数据结构和算法学习之路,但这个写法实在太绕口——况且CS中的算法往往暗指数据结构和算法(例如算法导论指的实际上是数据结构和算法导论),所以我认为本文题目是合理的。 这篇文章讲了什么? 我这些年学习数据结构和算法的总结。 一些不错的算法书籍和...

2015-05-28 21:32:52

阅读数 2439

评论数 0

数据结构回顾:B、B-、B+、B*-Tree

B树        即二叉搜索树:        1.所有非叶子结点至多拥有两个儿子(Left和Right);        2.所有结点存储一个关键字;        3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树;        如: ...

2015-04-30 00:49:30

阅读数 1292

评论数 0

使用并查集UnionFind和优先队列PriorityQueue实现Kruskal算法

拿到题目,先看看UnionFind 和 PriorityQueue 怎么实现吧,谁让上课没好好听呢。 Kruskal算法是通过按照权值递增的顺序依次选择图中的边,当边不处于同一连通分量时加入生成树,否则舍去此边选择下一条代价最小的边,直到所有顶点都在同一连通分量上。 1.UnionFind并查...

2014-11-30 23:08:17

阅读数 1958

评论数 0

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