摘要: 我们知道,算法是作用于具体数据结构之上的,深度优先搜索算法和广度优先搜索算法都是基于“图”这种数据结构的。这是因为,图这种数据结构的表达能力很强,大部分涉及搜索的场景都可以抽象成“图”。 无向图的代码实现 public class Graph { // 无向图 private int v; // 顶 阅读全文
posted @ 2019-12-21 12:12 zhangyu63 阅读(643) 评论(1) 推荐(0) 编辑
摘要: 翻译自 https://medium.com/free-code-camp/distributed-systems-when-you-should-build-them-and-how-to-scale-a-step-by-step-guide-37e76a177218 分布式系统:何时构建它们以及 阅读全文
posted @ 2019-12-21 10:15 zhangyu63 阅读(271) 评论(0) 推荐(0) 编辑
摘要: 翻译自 https://medium.com/ably-realtime/how-to-implement-consistent-hashing-efficiently-fe038d59fff2 我们如何有效地实现一致的哈希 Ably的实时平台分布在14个以上的物理数据中心和100多个节点中。为了确 阅读全文
posted @ 2019-12-20 21:14 zhangyu63 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 今日阅读《现代操作系统》颇有感触,此书的翻译质量还可以,内容也绝非晦涩难懂,可以作为一本操作系统的扫盲书。 处理线程竞争 我们处理竞争问题必须要满足下面几个条件 1)任何两个进程不能处于同一个临界区 2)不应对CPU的速度和数量做假设 3)临界区外的进程不得阻塞任何进程 4)不能使进程无限期等待进入 阅读全文
posted @ 2019-12-19 21:41 zhangyu63 阅读(346) 评论(0) 推荐(0) 编辑
摘要: 这篇扫盲而已,根本没有什么高深的知识点,就像对着车讲,这车是靠发动机和轮子跑路的,至于发动机里面是不讲的。 我们前面讲过了树这种非线性表数据结构,今天我们要讲另一种非线性表数据结构,图(Graph)。和树比起来,这是一种更加复杂的非线性表结构。我们知道,树中的元素我们称为节点,图中的元素我们就叫作顶 阅读全文
posted @ 2019-12-19 19:04 zhangyu63 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 的两个特点? 堆是一个完全二叉树; 堆中每一个节点的值都必须大于等于(或小于等于)其子树中每个节点的值。 第一点,堆必须是一个完全二叉树。还记得我们之前讲的完全二叉树的定义吗?完全二叉树要求,除了最后一层,其他层的节点个数都是满的,最后一层的节点都靠左排列。第二点,堆中的每个节点的值必须大于等于(或 阅读全文
posted @ 2019-12-18 20:43 zhangyu63 阅读(317) 评论(0) 推荐(0) 编辑
摘要: 递归的思想就是,将大问题分解为小问题来求解,然后再将小问题分解为小小问题。这样一层一层地分解,直到问题的数据规模被分解得足够小,不用继续递归分解为止。 如果我们把这个一层一层的分解过程画成图,它其实就是一棵树。我们给这棵树起一个名字,叫作递归树。我这里画了一棵斐波那契数列的递归树,你可以看看。节点里 阅读全文
posted @ 2019-12-18 20:10 zhangyu63 阅读(999) 评论(0) 推荐(1) 编辑
摘要: 定义 1 所谓的一棵二分查找树(Binary search tree) T,要么是一棵空树,要么是以 r = (key, value) 为根节点的二叉树,而且其左、右子树都是二分查找树,同时 n 在 r 的左子树中,所有节点(如果存在的话)的关键码均不大于 key; o 在 r 的右子树中,所有节点 阅读全文
posted @ 2019-12-17 20:46 zhangyu63 阅读(852) 评论(0) 推荐(0) 编辑
摘要: 翻译自 https://medium.com/@kasper.lund/building-for-billions-bcb48814d864 一年多以前,我辞去了我在Google的出色工作,离开了一群很棒的同事,与我的好朋友和前Googler同事Lars Bak进行了黑客入侵。我和Lars在一起已经 阅读全文
posted @ 2019-12-15 19:32 zhangyu63 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 实际上,java.util.Iterator 的大多数实现都提供了故障快速修复(Fail-fast)的机制 ⎯⎯在利用迭代器遍历某一容器的过程中,一旦发现该容器的内容有所改变,迭代器就会抛出 ConcurrentModificationException 意外错并立刻退出。 public class 阅读全文
posted @ 2019-12-14 21:18 zhangyu63 阅读(277) 评论(0) 推荐(0) 编辑