Hey everyone! I'm currently an engineering student tackling Data Structures and Algorithms (DSA) using C this semester. I've got a good grip on the basics of C like if/else statements, loops, and functions, but now things are getting a bit more intense with pointers, linked lists, trees, recursion, sorting, and the like. I'm on the hunt for some high-quality video lectures that present these DSA concepts clearly and practically. Free resources would be awesome! Any suggestions?
4 Answers
Just to give you an idea, this is what I'm covering this semester: Arrays, Linked Lists (singly, doubly, circular), Stacks & Queues (with both arrays & linked lists), Recursion, Trees (binary, BST and their traversals), Graphs (basic BFS and DFS), various sorting algorithms (like bubble, selection, insertion, merge, quick, heap), searching techniques (linear and binary), basics of hashing, and time & space complexity (Big O). It’s pretty comprehensive! Let me know if you want resources for any specific topics.
You might want to look at how DSA is generally taught. Often, the theory comes from textbooks explaining concepts, while programming implementations vary. A great starting point is to check out MIT OpenCourseWare for lectures on DSA. They usually explain concepts well, and then you can implement them in C, like defining a linked list with structs. Here’s a quick example:
```
struct node {
int value;
struct node *next;
};
```
Once you grasp the theory, you can write your own implementations in C!
If you're searching for practical resources, check out GitHub. There’s a repository called TheAlgorithms that has C implementations for various algorithms. It’s helpful to follow a structured course alongside it for better understanding!
I’m a bit new to GitHub; could you send me the direct link to the lectures?
Check out "Data Structures Using C" by Reema Thareja; it’s a solid book for beginner to intermediate levels. Also, "Algorithms in C" by Robert Sedgewick is another great read!
Are any of these available on YouTube?

So, the lectures are mostly theoretical but not hands-on coding, right?