Data Structure Coding Questions
Duration: 1 hr 6 min
This video lesson is available to enrolled students.
Inside: a video lesson and guided study material.
Module outline
- Quantitative Ability: Speed Mathematics and Basic Mathematics, Percentage, Ratio and Proportion (Ratios), Average, Profit and Loss, Simple Interest and Compound Interest, Time and Work, Pipe and Cistern, Speed Time and Distance, Number System, HCF LCM, Data Interpretation, Age Problems, Mixture and Alligation, Partnership, Algebra, Sequence and Series (Series), Mensuration and Geometry, Arithmetic
- Reasoning Ability: Puzzle Solving (Puzzles), Seating Arrangements, Coding Decoding, Blood Relations, Directions (Direction Test), Syllogisms, Data Sufficiency, Ranking, Order and Sequence, Series (Number and Letter Series) (Numerical Relations and Reasoning), Logical Sequence Of Words, Calendar, Clock, Cubes & Dices, Analytical Reasoning (Counting Figures Reasoning), Data Arrangement, Non Verbal Reasoning (Spatial Aptitude) (Spatial Reasoning) (Visual Reasoning), Deductive and Inductive Reasoning (Logical Deduction and Induction) (Prepositional Reasoning)
- Verbal Ability: Comprehension / Reading Comprehension / Unseen Passages (Critical Reasoning) (Paragraph Questions), Cloze Test (Cloze Passage), Sentence Re-arrangements (Para Jumbles) (Narrative Sequencing), Vocabulary, Sentence Completion (Fill in the blanks), Active Passive Voice (Voice), Direct and Indirect Speech, Subject Verb Agreement (Verb Noun Agreement), Tenses, Preposition, Articles, Sentence Correction (Error Correction)
- Programming Basics (MCQs + Interview): C Programming by Yash Sir, Programming in C++, Java, Python for Placements by Yash Sir
- OOPs (MCQs + Interview): Object Oriented Programming (OOPS)
- DBMS (MCQs + Interview): Basics of DBMS, ER Diagram, Relational Model & Functional Dependencies, Keys & Integrity Constraints, Normalization (1NF - BCNF), Transaction Management, Decomposition Properties & 4NF, Concurrency Control, Database Recovery, File Organization & Indexing, Relational Algebra, Database Security & Authorization
- SQL (MCQs + Interview): SQL
- Operating Systems (MCQs + Interview): Introduction to OS, Process Management, CPU Scheduling, Deadlock, Threads & Process Creation, Memory Management, Virtual Memory, Process Synchronization, Disc Scheduling, File Management, Security
- Computer Networks (MCQs + Interview): Introduction to CN, Data Communication, DLL: Access Control, DLL: Flow Control, DLL: Error Control, DLL: Framing, Data Link Layer - Ethernet, Net Layer: IPv4 & Proto, Net Layer: IP Addressing, Net Layer:Routing Protocol, Transport Layer Services, TL: Congestion & UDP, Application Layer, Hardware basics, Network Security, Mobile Technology, Cloud Computing and IoT, Cyber and Info Security
- Coding: Coding Questions by Yash Sir
- HR Interview: MR & HR Interview Preparation
AI summary & chapters
AI Summary
An AI-generated summary of this video lecture.
This educational video provides a comprehensive lecture on C Programming and Data Structures, specifically focusing on Linked Lists. The instructor, Yash Jain Sir, begins by discussing the choice between Python and C for programming, advocating for C as a foundational language. He then transitions to the core topic of Linked Lists, explaining memory allocation differences between static arrays and dynamic linked lists. The lecture details the structure of a node and demonstrates three key operations: adding a node at the front, adding a node after a given node, and adding a node at the end. The lesson includes code snippets, diagrams illustrating pointer manipulation, and a walkthrough of a complete program in the main function. Finally, he discusses time complexities and promotes his educational platform.
Chapters
0:00 – 2:00 00:00-02:00
The video opens with a title card displaying 'C PROGRAMMING' and 'DATA STRUCTURE'. A person is shown typing C code on a laptop, with the screen displaying a for loop and scanf function. This serves as a visual introduction to the subject matter, setting the context for a programming lecture.
2:00 – 5:00 02:00-05:00
The instructor, Yash Jain Sir, appears in front of a screen displaying 'DON'T GIVE UP'. He discusses coding languages, writing 'Coding' on the board and listing '1) Python' and '2) C'. He uses analogies like actors to explain which language is better for the future, ultimately circling 'C' as the preferred choice for learning programming fundamentals.
5:00 – 10:00 05:00-10:00
He transitions to memory allocation, writing 'int a;', 'int a[5]', and 'struct' on the board. He explains that 'int a[1000]' takes '1000 * 4 = 4000 bytes' of contiguous memory. He contrasts this with linked lists, which do not require contiguous memory, writing 'linked list' on the board and drawing a diagram to illustrate the concept of non-contiguous storage.
10:00 – 15:00 10:00-15:00
He defines the structure of a node with 'struct Node { int data; struct Node *next; };'. He draws a diagram of a linked list with nodes containing data and next pointers. He explains that each node points to the next one in the sequence, emphasizing the role of the pointer in linking the data elements together.
15:00 – 20:00 15:00-20:00
He demonstrates adding a node at the front. He draws a diagram showing a new node 'E' being inserted before 'A'. He writes the 'push' function code: 'void push(struct Node** head_ref, int new_data)'. He explains the steps: allocate memory, set data, set next pointer to current head, and update head, illustrating the pointer manipulation with arrows.
20:00 – 25:00 20:00-25:00
He explains adding a node after a given node. He draws a diagram with nodes A, B, C, D and shows inserting 'E' after 'B'. He writes the 'insertAfter' function code: 'void insertAfter(struct Node* prev_node, int new_data)'. He explains the logic: 'new_node->next = prev_node->next; prev_node->next = new_node;', showing how the links are reconnected.
25:00 – 30:00 25:00-30:00
He discusses adding a node at the end (append). He draws a diagram showing traversing to the last node and appending 'E'. He writes the 'append' function code: 'void append(struct Node** head_ref, int new_data)'. He explains the logic: traverse to the end, set 'last->next = new_node', and ensure the new node's next pointer is NULL.
30:00 – 35:00 30:00-35:00
He discusses time complexity. He writes 'Time complexity of append is O(n)'. He lists complexities for starting (O(1)), middle (O(1)), and end (O(n)). He explains why appending is O(n) because you have to traverse the list to find the end, contrasting it with the constant time operations for the front and middle.
35:00 – 40:00 35:00-40:00
He shows a complete code example in 'main()'. He calls 'append', 'push', 'insertAfter'. He traces the execution on the board, drawing the linked list as it grows. He shows the final list: 3 -> 2 -> 5 -> 1 -> 4, demonstrating how the operations modify the list structure step-by-step.
40:00 – 45:00 40:00-45:00
He continues tracing the code. He shows the 'printList' function. He explains how the list is printed by iterating through the nodes. He draws the final state of the linked list with data values 3, 2, 5, 1, 4, reinforcing the visual representation of the data structure.
45:00 – 50:00 45:00-50:00
He reviews the code again. He points to the 'main' function and the function calls. He emphasizes the order of operations and how each function call affects the list. He shows the final output of the program, ensuring students understand the expected result of the code execution.
50:00 – 55:00 50:00-55:00
He summarizes the operations. He talks about the importance of understanding pointers and memory management. He shows the final code on the screen, reviewing the key functions and their implementations. He encourages students to practice these operations to master linked lists.
55:00 – 60:00 55:00-60:00
He shows the course page on the website. He points to the video lessons and course details. He encourages students to join the course for more in-depth learning. He highlights the benefits of the course, such as access to videos and tests.
60:00 – 65:00 60:00-65:00
The video continues with the instructor promoting his educational platform. He points to the course interface, showing the list of lessons and course features. He emphasizes the value of the course for placement preparation and skill development.
65:00 – 66:08 65:00-66:08
The video ends with a 'THANKS FOR WATCHING' screen. The instructor concludes the lecture, thanking the students for their attention. The screen fades to black, marking the end of the session.
The lecture progresses from a high-level discussion on programming languages to a deep dive into Linked Lists. It starts by establishing the need for dynamic memory allocation, contrasting static arrays with linked lists. The instructor then systematically breaks down the implementation of Linked Lists in C, defining the 'struct Node' and explaining the 'next' pointer. He covers three fundamental insertion operations: 'push' (front), 'insertAfter' (middle), and 'append' (end), providing both code and visual diagrams for each. The lesson culminates in a complete 'main' function that exercises these operations, allowing students to trace the list's evolution. Finally, time complexities are discussed, and the instructor promotes his educational platform.