Data Structures And Algorithms In The C Programming Language
What you'll learn
- Linked Lists
- Double Linked Lists
- Arrays
- Array List
- Creating a stack
- Creating a queue
- Binary trees
Requirements
- Understanding of pointers, structures and arrays within the C Programming Language
Description
Are you a great programmer? Prove it with this course. It is time that you learn how memory works on the processor and in the C programming language to work with C structures to make linked lists, arrays, queues and more!
This course will teach you all about creating internal data structures in C.
This course will teach you how to create the following:
Linked List Implementation
In our linked list implementation you will learn how we can use C pointers to link elements together in a chain
Double Linked List Implementation
In our double linked list implementation you will learn how you can use a previous pointer in an element to be able to iterate backwards through a linked list. This is called a double linked list.
Array List Implementation
Our array list implementation will allow us to add elements to a dynamic array, resizing it when needed.
Queue Implementation
Learn about first in last out techniques in our queue implementation.
Stack Implementation
Learn how to create a stack where you will be able to add an element to a stack and then take it off the stack later. That is why its called a stack!
Binary Tree Implementation
Learn how to create binary trees and why they are important.
All of the implementations described above will be created on video from scratch! You will learn how all of these work internally and when they should be used. This course is a "must have" for someone who has learned the fundamentals of the C Programming Language
Who this course is for:
- C programmers who want to learn how to develop data structures in their applications
Instructor
Daniel McCarthy is a seasoned software engineer, boasting an impressive career spanning over 14 years in the industry. Holding a Master's Degree in Advanced Computer Science from Cardiff Metropolitan University, his broad spectrum of experience encompasses everything from web development to complex compiler and kernel design.
Daniel has honed his skills in bootloader and kernel development. In testament to his proficiency in the field, he has designed two proprietary programming languages: Craft, a general-purpose language, and Marble, a web-focused language akin to PHP. Moreover, he has successfully developed compilers for the C programming language.
A testament to his versatility, Daniel demonstrates proficiency in an extensive list of programming languages that includes C, C++, Java, x86 Assembly language, PIC assembly, SQL, PHP, HTML5, JavaScript, CSS, and of course, his own creations, Craft and Marble.
His professional portfolio also includes the development of Linux kernel modules, a task he has executed with proficiency in a professional context. Currently, Daniel is channeling his wealth of experience and expertise into the education sector, with the aim of nurturing the next generation of professional software engineers.