Jump to content
Tuts 4 You

Where to learn algorithm in C?


Recommended Posts

I want to learn algorithm or problem solving using C programming language. I find it very complicated to learn. How and where do i start; which book i should follow or any tutorial series which is easy  to learn or follow. Where did you started learning algorithm?


Link to comment
14 hours ago, malware said:

I want to learn algorithm or problem solving using C programming language. I find it very complicated to learn. How and where do i start; which book i should follow or any tutorial series which is easy  to learn or follow. Where did you started learning algorithm?


This is one of the nicest books on the topic which I always recommended to my students and they were always praises for it. It also has accompanying video tutorials (which you'd need to purchase separately) :

In my opinion and from what what my students gave me as a feednack, the book is more than enough and the video course is not reallly necessary.

As uploading copyrighted material is not allowed on this forum, I have given the official links. A bit of searching on google can help you find the copies if you are ready to purchase the offiial copies just yet ;)

Grokking Algorithms: An illustrated guide for programmers and other curious people



About this Book

This book is designed to be easy to follow. I avoid big leaps of thought. Any time a new concept is introduced, I explain it right away or tell you when I’ll explain it. Core concepts are reinforced with exercises and multiple explanations so that you can check your assumptions and make sure you’re following along.

I lead with examples. Instead of writing symbol soup, my goal is to make it easy for you to visualize these concepts. I also think we learn best by being able to recall something we already know, and examples make recall easier. So when you’re trying to remember the difference between arrays and linked lists (explained in chapter 2), you can just think about getting seated for a movie. Also, at the risk of stating the obvious, I’m a visual learner. This book is chock-full of images.

The contents of the book are carefully curated. There’s no need to write a book that covers every sorting algorithm—that’s why we have Wikipedia and Khan Academy. All the algorithms I’ve included are practical. I’ve found them useful in my job as a software engineer, and they provide a good foundation for more complex topics. Happy reading!

This book is aimed at anyone who knows the basics of coding and wants to understand algorithms. Maybe you already have a coding problem and are trying to find an algorithmic solution. Or maybe you want to understand what algorithms are useful for.

Product details

  • Paperback: 256 pages
  • Publisher: Manning Publications; 1 edition (May 2016)
  • Language: English
  • ISBN-10: 1617292230
  • ISBN-13: 978-1617292231





You may also want to check out the companion VIDEO COURSE (to be purchased separately):

Algorithms in Motion
Based on the best-selling Grokking Algorithms

About the video

Algorithms in Motion teaches you how to apply common algorithms to the practical problems you face every day as a programmer. Following the expert guidance of liveVideo instructor Beau Carnes, you'll start with the basics, including Big O notation, fundamental data structures, and recursion. Then, you'll explore problem-solving techniques, that will empower you to see the algorithm you need in the task you're trying to accomplish. Finally, you'll finish the course by applying more advanced algorithms, such as hash tables, graph algorithms, and K-nearest.

This liveVideo course is perfect paired with Aditya Bhargava’s Grokking Algorithms, bringing the classic algorithms inside to life.


This easy-to-follow video course is perfect for self-taught programmers, engineers, or anyone who wants to brush up on classic algorithms.

What you will learn

  • Search, sort, and graph algorithms
  • Breadth-first search
  • Performance concerns
  • Implementing algorithms in Python






Disclaimer: I am in no way affiliated with either the author, the publisher or the sales of the book/course.



Link to comment

Probably you should learn to program C before learning algorithms.  Algorithms are by and large language independent although the close ties between C and the processor make it of the most interesting place to learn low level efficiency with algorithms.  However C is still not perfect and even multiplication and division are implemented with type consistency meaning you cannot efficiently via processor fast multiplication with hardware Karatsuba + table lookup methods e.g. get a 64 bit result by multiplying 2 32-bit integers.  And the solutions for getting this down to hardware are hilariously non-trivial if desiring portable code as it requires inline assembly.

Anyway Kernighan and Ritchie is probably the de-facto standard in this case.  You can get it for free here: http://www.dipmat.univpm.it/~demeio/public/the_c_programming_language_2.pdf

Ideally you would study algorithms in a general context before seeing the details of C implementations.  Although my students are fascinated by algorithms, they know that without getting proficient with the language itself, they have no way to communicate them, and that by and large this is just a mathematical sequence describing of a computational process which is not easy to see without experience..

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Create New...