LiuZhian's Blog

Welcome to my home~

Java集合—Map篇

HashMap、ConcurrentMap

Map简介Map,即哈希表,也称字典,是一个键值对(Kry-Value)的数据结构,put()和get()函数几乎可以在常数级别内完成,哈希表有两种实现方式,一种被称为开放地址法(open addressing),另一只被称为冲突链表法(seperate chaining),和之间的分析步骤一样,我们先看一下相关接口的设计,再深入到具体实现类。 1. Map接口123456789101112......

Java集合—Queue篇

Queue、Deque、LinkedList、ArrayDeque

Queue简介Queue,即队列,是一个先进先出(First In First Out, FIFO)的数据结构,在JCF中也有很好的支持。和之间的分析步骤一样,我们先看一下接口的设计,再深入到具体实现类。 1. Queue接口相对于List接口来说,Queue接口中支持的方法相对就比较少了,接口代码如下: 1234567891011public interface Queue<E>......

Java集合—List篇

List、ArrayList、LinkedList

List相关我们从最简单的List开始入手,一步步往下分析。List是一个列表,是一个顺序容器,对容器中对象的get和set都可以在常数级别时间内完成。 1. List接口List接口如下,这里只分析了一些主要的函数。1234567891011121314151617181920212223242526272829public interface List<E> extends ......

Java集合—初见

揭开Java集合的面纱

Java8集合框架所谓集合,就是对象的容器,即可以容纳其他Java对象的对象。Java Collections Framework(JCF)为Java开发者提供了通用的容器,其始于JDK 1.2。 后续我将一步步分析集合中的关键容器实现原理,并结合阅读源代码来加深理解。 1.接口和实现Java8的集合框架中,接口、抽象类以及具体的实现类组织如下: Map接口没有继承自Collection接口......

基于FlowNet的光流估计

Deep Learning Based Approach

基于FlowNet的光流估计我为什么要写这篇文章? 因为我最近在读FlowNet【1】这篇论文,虽然网上多多少少有一些相关的博客,例如【2】【3】,但我发现很少有对这个论文中的一些细节介绍得比较详细的review,所以本文就出现了。本文会先简要介绍一下光流的概念,主要的重心还是在FlowNet这个论文一些细节的介绍上。 我会延续自己的风格,尽最大的努力,用intuitive的表述来介绍相关概......

LeetCode-820-单词的压缩编码

前缀树

LeetCode-820-单词的压缩编码1. 题目描述给定一个单词列表,我们将这个列表编码成一个索引字符串S与一个索引列表A。 例如,如果这个列表是["time", "me", "bell"],我们就可以将其表示为S = "time#bell#"和indexes = [0, 2, 5]。 对于每一个索引,我们可以......

LeetCode-84-柱状图中最大的矩阵

单调栈

LeetCode-84-柱状图中最大的矩阵1. 题目描述给定n个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为1。 求在该柱状图中,能够勾勒出来的矩形的最大面积。 12输入: [2,1,5,6,2,3]输出: 10 以上是柱状图的示例,其中每个柱子的宽度为 1,给定的高度为[2,1,5,6,2,3]。 2. 思路2.1暴力搜索暴力搜索的思路就是,对于每一个bar,我们都......

Leetcode 365-水壶问题

贝祖定理

Leetcode 365-水壶问题1. 题目描述有两个容量分别为$x$升和$y$升的水壶以及无限多的水。请判断能否通过使用这两个水壶,从而可以得到恰好$z$升的水? 如果可以,最后请用以上水壶中的一或两个来盛放取得的$z升$水。 你允许: 装满任意一个水壶 清空任意一个水壶 从一个水壶向另外一个水壶倒水,直到装满或者倒空 例子:12345输入: x = 3, y = 5, z = 4输出......

GAMES101笔记-Lecture5&6-光栅化

现代图形学入门

1.光栅化1.1定义在经过了MVP变换之后,我们需要把3维空间中的任意一个点转到屏幕2维空间上对应的一个位置来,一般假设空间中的物体是由一个一个的三角形组成的,很多的三角形就组成了一个三角形网格(triangle mesh),当然,也是有多边形网格的(polygon mesh)。下面的海豚就是一个三角形网格例子: 在把某个空间中的三角形转到了屏幕上后(只关心x和y坐标),我们要做的就是把三角......

GAMES101笔记-Lecture4-基本变换

现代图形学入门

1. 3D旋转如果我们用齐次坐标(homegeneous coordinates)来表示3D空间中的点和向量,点的齐次坐标表达形式为$(x, y, z, 1)^{\top}$,而向量的齐次坐标表达形式为$(x, y, z, 0)^{\top}$ 通常来说,假设有3D空间中点的齐次坐标$(x, y, z, w)^{\top}$(其中$w$ !=0),我们可以转化得到其对应的普通坐标点$(x/w......