topological sorting using DFS and BFS

topological sorting can be solved using DFS and BFS in asymptotical time complexity $O(V + E)$.

...(Read more)

learn React the easy way

tl;dr

Remember the core idea in React: UI = func(const props, state).

...(Read more)

One of the correct ways to start JS projects in 2017

tl;dr

I choose to use create-react-app, then use ES2016 standard to write react to build the UI and use redux to manage the data, and write flexbox to manage layouts in CSS, if I am going to start a completely new general-purposes front end project in early 2017.

...(Read more)

longest increasing subsequence

tl;dr

This post discusses the $O(n^2)$, $O(n log(n))$ complexity methods to find the length of longest increasing subsequence (LIS), and the way to recover the subsequence.

...(Read more)

梦之诡境

小周醒了过来。

...(Read more)

Edit Distance

introduction

Edit Distance is a famous algorithm problem solved by dynamic programming. I heard it for multiple times, until now I understand the solution after having an algorithm class.

...(Read more)

compile Hadley's ggplot2 book (online version)

Hadley’s ggplot2 book is a useful resource about learning his ggplot2 package. He generously provides the online version for us to read. But how to compile and get the (personal) pdf version from the repo? I figure it out and note down here. I am working on Windows 10.

...(Read more)

heapsort in array

Heapsort is one of the algorithms for sorting, with average time complexity $O(n log(n))$ and worst $O(n log(n))$, and space complexity $O(1)$. I think it’s kind of interesting, so I write down the Java implementation here. Previously I was familar with the top-down (siftUp()) method, but in this post I write down the buttom-up (siftDown()) way, based on Wikipedia.

...(Read more)

quicksort in array and linked list

Quicksort is a usual algorithm for sorting, with average time complexity $O(n log(n))$ and worst $O(n^2)$, and (stack depth) space complexity $O(log(n))$. As an exercise, I wrote down the quicksort for array and linked list in Java here.

...(Read more)

Docker for Windows beta setup

what

While developing on Windows, sometimes I need to switch to a *nix-like environment. Right now Docker has released the Docker for Windows (beta). But the documents are lacking and I did not use Docker too much before, so sometimes I got confused, and here are some notes.

...(Read more)