Live Coding with Data Structures for campus/internship/jobs
What you'll learn
- Data Structures programming,
- C language
A data structure is a collection of data values, the relationships among them, and the functions or operations that can be applied to the data. Different types of data structures are suited to different kinds of applications, and some are highly specialized to specific task. Data structures provide a means to manage large amounts of data efficiently. Efficient data structures are key to designing efficient algorithms. Data structures can be used to organize the storage and retrieval of information stored in both main memory and secondary memory.
Data structures serve as the basis for ADT. The ADT (Abstract Data Types) defines the logical form of the data type. Data structures are based on the ability of a computer to fetch and store data at any place in its memory, specified by a pointer.
The array and record data structures are based on computing the addresses of data items with arithmetic operations. The linked data structures are based on storing addresses of data items within the structure itself. The implementation of a data structure usually requires writing a set of procedures that create and manipulate instances of that structure.
A linked list is a linear collection of data elements whose order is not given by their physical placement in memory. Each element points to the next. It is a data structure consisting of a collection of nodes which together represent a sequence. Each node contains: data, and a link to the next node in the sequence. This structure allows for efficient insertion or removal of elements from any position in the sequence during iteration.
Following topics are covered as part of hands-on / Live coding videos :
Linked Lists (LL) Implementation / Coding:
Concept of link
Creating a Linked List (LL)
Appending a node to LL
Display of LL
Length of LL (count)
Reversing of LL
Adding node at Start of LL
Inserting node in between of LL
Deleting a node
Creating a Double LL
Appending a node to Double LL
Display of Double LL
Length of Double LL (count)
Reversing of Double LL
Inserting a node in between a Double LL
Rotate Double LL
Count Pairs with criteria for a Double LL
Circular LL overview (access pointers)
Creating a Circular LL
Adding node at Start Circular LL (approach 1)
Traversal / Display Circular LL (approach 1)
Inserting node in between a Circular LL (approach 1)
Deleting a node
Adding node at End Circular LL (approach 2)
Traversal / Display Circular LL (approach 2)
Circular LL - Queue (Adding Node)
Circular LL - Queue (Removing Node)
Stacks (Implementation / Coding):
Stack with Array
Evaluation of Postfix expression
Infix to Post fix
Evaluation of Prefix overview. infix to prefix overview
Application: Finding next big element
Stack using Linked List
Reversing Stack with Linked List
Queues (Implementation / Coding) :
Queue using Array
Priority Queue with Array
Queue using Linked List
Priority Queue using Double Linked List
Recursion Overview, Phases, Types
Linked List operations using Recursion
Binary Search Trees (BST)
BST - Insertion
BST - Insertion & Traversals
BST - Search
Binary Tree to BST conversion
Identify a Tree to be BST
Identify zero, one child nodes of BST
Selection Sort Analysis
Bubble Sort Analysis
Insertion Sort Analysis
Quick Sort Analysis
Quick Sort, Merge Sort Discussion
Topics of Data Structures and interaction
Who this course is for:
- fresh students, C programmers
Shrirang is a Technology expert in product development with international exposure. His more than 25 years of rich experience spans across companies like Bharat Electronics Bangalore (BEL), Tata Elxsi Bangalore/Japan, Philips Software Bangalore/Netherlands, Persistent Systems Pune/Nagpur , ERP based startup. He has handled various overseas customers in countries like USA, Japan, Taiwan, Netherlands and Belgium including working onsite. He was instrumental in starting Technology Incubator at VNIT Nagpur in cooperation with SINE@IIT-Bombay. He also has 10+ years’ experience of campus recruitment and lateral hiring.
He is a mentor for TCS iON program and provides online training for IoT course (via TCS’s iON platform). He was responsible for IoT lab setup at one of the Engineering College. Apart from that he was visiting faculty at VNIT (NIT Nagpur) and other colleges at Nagpur. He conducts training programs for faculties (FDP) and students.
He has authored a book titled "21 IoT Experiments" (Yashwant Kanetkar/ Shrirang Korde).
He also has research publications to his credit including VDAT publication.
His current focus is in technology areas like Machine Learning, Deep Learning, Python & Data Science, Data Structures, C/C++/Java, Internet of Things (IoT) and Android programming.