ScaleFree

DATA STRUCTURES AND ALGORITHMS

| Introduction |

I will, in fact, claim that the difference between a bad programmer and a good one is whether he considers his code or his data structures more important. Bad programmers worry about the code. Good programmers worry about data structures and their relationships.
- Linus Torvalds
One might have learned all the fundamental concepts of a programming language and might be really experienced as well. But does that make that person an efficient programmer? Not necessarily. One must have a proper understanding of Data Structures and Algorithms to be an efficient programmer. Now, people might say why study data structures and algorithms, and why waste time making programs efficient when computers are getting faster every year? The reason is, hardware upgrade merely adds on to the efficiency as the problem complexity increases(That appears to be some fancy jibberish, but hold on for now. You will learn more about it in Chapter 6).

To operate on any data we need to follow three major steps :
  1. Receive the Input 
  2. Process the Input
  3. And Return the Output
The use of the term "any data", above, suggests that data is the common ground for every programming language since all programming languages in one way or the other are tools for manipulating data. So, we can conclude that program efficiency has very little to do with the programming language being used, what really matters is the organization of data aka Data Structure. So, no matter what programming language one uses and no matter how flexible the language is, it cannot be used as an excuse to not learn Data Structures and Algorithms.


That being said one shouldn't misinterpret program efficiency for clean coding because those are two completely different topics. Creating efficient programs is nothing like "Programming Tricks", but is the good organization of Data (Data Structure) and use of optimal methods(Algorithm) determined, by means of careful calculation, to solve a problem.

And throughout this course, you will be learning all the necessary concepts to master data structures and algorithms, so that you can code like a PRO!!!

CHAPTERS

  1. DATA STRUCTURES (CLICK HERE)
  2. PROBLEMS, ALGORITHMS & PROGRAMS (CLICK HERE)
  3. ALGORITHM EVALUATION (CLICK HERE)
  4. ASYMPTOTIC ANALYSIS (CLICK HERE)
  5. BEST, WORST & AVERAGE CASE OF AN ALGORITHM (CLICK HERE)
  6. FASTER COMPUTER OR FASTER ALGORITHM? (CLICK HERE)
  7. MEASURES OF ALGORITHM COMPLEXITY (CLICK HERE)
  8. EXAMPLES (CLICK HERE)
  9. ARRAY LISTS(CLICK HERE)
  10. POINTER LISTS(CLICK HERE)
  11. ARRAY LISTS v/s POINTER LISTS(CLICK HERE)
  12. STACKS - ARRAY BASED(CLICK HERE)
  13. STACKS - POINTER BASED(CLICK HERE)
  14. QUEUE(CLICK HERE)
  15. ( If you like the content here, follow TSP on social media to get notified on future updates)



Comments

Share on Social Media

Most Viewed Posts

DS & A (Lists - Array Based)

SPACE & DRAGONS