Thursday, March 17, 2016

Week1 Project 1- Sorting Algorithms Comparator

I'm practicing data structures and algorithms and it made sense to build something that lets you compare almost all important sorting algorithms on various parameters such as running time, space, number of comparisons etc.

I've chosen 11 sorting algorithms:
Basic: Bubble, Selection, Insertion
D&C: Quick Sort, Merge Sort
Others:Heap Sort, Shell Sort,
Linear Sorting Algos: Counting Sort, Bucket Sort, Radix Sort & Tree Sort.

The user would be able to both enter custom input as well as generate random numbers for a given length to sort

I'll implement this as a console application in C, with each sorting algorithm implemented too. I'd push it into the SortingAlgorthmsComparator Github repo.

I'll finish it by 27th March.

Monday, January 18, 2016

Pushing Out of Comfort Zone

In this blog I'll be taking a small coding project each week, learn everything required to implement it and then implement it. I'll push the code to a Github repository: One Coding Project Each Week and write a brief blog post about key lessons/learning/ideas here. I'll start this from 20th March and continue till at least 30th June. I'll experiment with various programming languages, some of which I either don't know or I'm not proficient in.

A few terms:
  • The week begins from Monday.
  • The time period is from Monday to Sunday.
  • Each time I finish a project, I'll mention what I'll take up next week in the blog post.
  • I'll generally try to increase difficulty each week but not necessarily.
  • I'd try to add on Github but I may not add everything.
  • I may add/delete more terms here as I experiment but the basic idea will remain same.
I am actually undertaking another tougher project but was getting distracted so I created this as both- a small commitment and a good reminder to sticking to what I publicly mentioned.

Thank you. Please drop a project suggestion or if you'd want me to implement one. Thanks.

-Alok Sharma.

#CodeEveryday.