Computer Science Fundamentals

Computer Science fundamentals are one of the important cogs of knowledge in all things computing. In this section, we will cover a wide range of topics starting from the basics in algorithmic analysis and complexity and slowly progressing to more advanced topics in self balancing trees and path searching algorithms.

The order of the topics in this section starts with the basics and steadily progresses to the more advanced topics in Computer Science. The topics listed provide a good point of reference for someone who is starting out and wishes to get their hands around the basics, but should also be useful as a reference source for more experienced individuals who wish to brush up on their fundamentals.

Code examples for each of the topics are hosted on GitHub at the following location:


Topics will include:

Algorithm complexity, design and analysis

Sorting

  • Efficient sorting algorithms (n log n)
  • Quick sort and Merge sort

Hash Tables

  • How they work
  • How to implement one with arrays

Trees

  • How to construct a tree
  • Traversal and manipulation algorithms
  • Binary trees, n-ary trees and trie trees
  • Balanced binary tree (AVL, Red/Black, Splay)
  • Implementing a balanced tree
  • BFS and DFS tree traversal
  • In order, pre order and post order

More topics will be added over time.

No comments:

Post a Comment