DS and Algorithms

/DS and Algorithms
­

[Leetcode] Remove Nth Node From End of List

Given a linked list, remove the nth node from the end of list and return its head.

November 14th, 2015|Categories: DS and Algorithms, Linked List|Tags: , , , , |

An easy way to understand algorithm complexity and big O notation

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

November 18th, 2015|Categories: Algorithm Complexity, DS and Algorithms|Tags: , , , , |

FIxed Size Array

Introduce fixed size array

November 13th, 2015|Categories: Array, DS and Algorithms|Tags: , |

Dynamically Resizing Array

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

November 13th, 2015|Categories: Array, DS and Algorithms|Tags: , |

String and StringBuffer

Introduce string and string buffer

November 14th, 2015|Categories: DS and Algorithms, String|Tags: , |

Linked Lists

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

November 14th, 2015|Categories: DS and Algorithms, Linked List|Tags: , |

Hash Table

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

November 14th, 2015|Categories: DS and Algorithms, Hash|Tags: , |

Stack

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

November 14th, 2015|Categories: DS and Algorithms, Stack|Tags: , |

Queue

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

November 14th, 2015|Categories: DS and Algorithms, Queue|Tags: , |

Representing Graph and Tree

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

November 14th, 2015|Categories: DS and Algorithms, Graph|Tags: , |

Tree

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

November 14th, 2015|Categories: Tree|Tags: , |

Binary Tree

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

November 14th, 2015|Categories: DS and Algorithms, Tree|Tags: , , |

Binary Tree Traversal

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

November 14th, 2015|Categories: DS and Algorithms, Tree|Tags: , , |

BST:Binary Search Tree

Introduce the concept of BST and the related algorithms

November 14th, 2015|Categories: DS and Algorithms, Tree|Tags: , , |

Height Balanced Tree

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

November 14th, 2015|Categories: DS and Algorithms, Tree|Tags: , , |

Complete Tree and full Binary Tree

Introduce Complete Tree and Full Tree

November 14th, 2015|Categories: DS and Algorithms, Tree|Tags: , , |

Depth First Search (DFS) and Breath First Search (BFS)

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

November 14th, 2015|Categories: DS and Algorithms, Searching|Tags: , , , , |

Bubble Sort

Introduce Bubble Sort

November 14th, 2015|Categories: DS and Algorithms, Sorting|Tags: , |

Selection Sort

Introduce Selection Sort

November 14th, 2015|Categories: DS and Algorithms, Sorting|Tags: , |

Insertion Sort

Introduce Insertion Sort

November 14th, 2015|Categories: DS and Algorithms, Sorting|Tags: , |

Merge Sort

Introduce Merge Sort

November 14th, 2015|Categories: DS and Algorithms, Sorting|Tags: , |

Quick Sort

Introduce Quick Sort

November 14th, 2015|Categories: DS and Algorithms, Sorting|Tags: , |

Sorting Algorithms Comparison

Compares pros and cons of different sorting algorithms

November 14th, 2015|Categories: DS and Algorithms, Sorting|Tags: , , , , , , , |

Binary Search

Introduce Binary Search

November 14th, 2015|Categories: DS and Algorithms, Searching|Tags: , |

Recursion

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

November 14th, 2015|Categories: DS and Algorithms, Recursion|Tags: , |

Dynamic Programming Theory

Introduce what is and when to use dynamic programming.

November 14th, 2015|Categories: DS and Algorithms, Dynamic Programming, Recursion|Tags: , |

Dynamic Programming Example: Longest Common Subsequence

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

November 14th, 2015|Categories: DS and Algorithms, Dynamic Programming|Tags: , |

Dynamic Programming Example: The Knapsack Problem

Introduce a classic dynamic programming problem: The Knapsack Problem

November 14th, 2015|Categories: DS and Algorithms, Dynamic Programming|Tags: , |

Bit Manipulation

This post introduces basic operations and tricks about bit manipulation.

November 14th, 2015|Categories: Bit Manipulation, DS and Algorithms|Tags: , |

[Leetcode] Contains Duplicate

Given an array of integers, find if the array contains any duplicates.

November 14th, 2015|Categories: DS and Algorithms, Hash|Tags: , , , |