## An easy way to understand algorithm complexity and big O notation

Easy to understand algorithm's time and space complexity with big o notation.

Easy to understand algorithm's time and space complexity with big o notation.

Introduce fixed size array

A dynamically resizing array is an array that resizes itself as needed

Introduce string and string buffer

A basic linked list is a da data stucture of nodes in which every previous node has a reference to the next node.

A hash table is a data structure that maps keys to values for highly effient lookup.

A stack is a container of objects that are inserted and removed according to the last-in first-out (LIFO) principle.

A queue is a container of objects (a linear collection) that are inserted and removed according to the first-in first-out (FIFO) principle.

Representing a graph or tree by a matrix or adjacent node lists.

A tree is a data structure consisting of nodes organised as a hierarchy

A binary tree is a tree data structure in which each node has at most two children

Introduce the 3 types of Binary tree traversal - pre-order traversal, in-order traversal and post-order traversal.

Introduce the concept of BST and the related algorithms

A tree is height-balanced if the heights of the left and right subtree's of each node are within 1.

Introduce Complete Tree and Full Tree

The two main methods to traverse each node in a graph - Depth First Search and Breath First Search.

Introduce Bubble Sort

Introduce Selection Sort

Introduce Insertion Sort

Introduce Merge Sort

Introduce Quick Sort

Compares pros and cons of different sorting algorithms

Introduce Binary Search

Recursion solves a problem by solving one or more sub-states of the problem itself.

Introduce what is and when to use dynamic programming.

Introduce a classic dynamic programming problem: Longest Common Subsequence (LCS)

Introduce a classic dynamic programming problem: The Knapsack Problem

This post introduces basic operations and tricks about bit manipulation.

Introduction to HTML and CSS, the two major languages that are used to build web pages.

A basic example of HTML code and how it looks like on browsers.