1. 树(Tree) 首先我们来看几个树的例子。 在一个树结构里,每个元素我们称之为节点,从上到下相邻节点连线的关系,我们称之为父子关系。 在上面的图中,A 节点就是 B 节点的父节点,B 节点就是 A 节点的子节点。B…
标签:算法
看图轻松理解数据结构与算法系列(冒泡排序)
前言 推出一个新系列,《看图轻松理解数据结构和算法》,主要使用图片来描述常见的数据结构和算法,轻松阅读并理解掌握。本系列包括各种堆、各种队列、各种列表、各种树、各种图、各种排序等等几十篇的样子。 冒泡排序 冒泡排序是一种…
Leetcode - Sort Transformed Array
My code: public class Solution { private int a = 0; private int b = 0; private int c = 0; public int[] sortTra…
BZOJ-3277: 串(ST算法+二分+后缀数组)
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=3277 首先将所有字符串串在一次做SA,然后我们对于sa上,枚举每个串的每个后缀,求出有几个该后缀的前缀符合条件,那…
80% 的 Linux 运维都不懂的内核问题
前言 之前在实习时,听了 OOM 的分享之后,就对 Linux 内核内存管理充满兴趣,但是这块知识非常庞大,没有一定积累,不敢写下,担心误人子弟,所以经过一个一段时间的积累,对内核内存有一定了解之后,今天才写下这篇博客,…
virtual dom和diff算法
算法 前端框架 JavaScript 相关热门文章 我如何零基础转行成为一个自信的前端 serialcoder 626 176 程序猿生存指南-54 离别车站 胡七筒 46 70 JS性能优化38条”军规…
如何实现 1080P 延迟低于 500ms 的实时超清直播传输技术
导语:视频直播是很多技术团队及架构师关注的问题,在实时性方面,大部分直播是准实时的,存在 1-3 秒延迟。本文由袁荣喜向「高可用架构」投稿,介绍其将直播延迟控制在 500ms 的背后的实现。 袁荣喜,学霸君工程师,201…
Leetcode - Verify Preorder Sequence in Binary Search Tree
My code: public class Solution { public boolean verifyPreorder(int[] preorder) { if (preorder == null || preor…
有趣的二进制2—高效位运算
优秀的算法都大量用到位运算,而位运算在工作中很少用到,借助一个示例,我们看一下其的优势以及原理,顺便mark一波常见位运算。 上一篇《有趣的二进制》我们讲到二进制的一些基础知识,但没有讲到位运算,有同学大呼不过瘾,那这一…
Leetcode - Shuffle an Array
My code: public class Solution { private int[] nums; private Random r; public Solution(int[] nums) { this.nums…
被面试官温柔地挂掉面试?决定面试成败的这些“暗示”你读懂了吗?
专栏 | 九章算法 网址 | www.jiuzhang.com 面试自我感觉良好,却隔天收到拒信? 事实上,面试结果在你面试结束的那一刻就已经决定了。而面试官在面试过程中的一系列言语、表情和动作已经暗示了你的面试成败。 …
像微信那样有追求的 UINavigationBar
UINavigationBar 是每一个 iOS 工程师都会遇到的坎,它令人抓狂的地方在于是否能随着页面切换而平滑地过渡到目的状态。想要把这件事情做好,不需要高深的算法,不需要深刻的底层原理,只需要一颗执着的内心。 介绍…