English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 20h 11m | 4.73 GB

A course that teaches pointers, linked lists, general programming, algorithms and recursion like no one else

Programming interviews are like standard plays in professional sport – prepare accordingly. Don’t let Programming Interview gotchas get you down! Programming interviews differ from real programming jobs in several important aspects, so they merit being treated differently, just like set pieces in sport. Just like teams prepare for their opponent’s playbooks in professional sport, it makes sense for you to approach programming interviews anticipating the interviewer’s playbook this course has been drawn by a team that has conducted hundreds of technical interviews at Google and Flipkart. Pointers: Memory layout of pointers and variables, pointer arithmetic, arrays, pointers to pointers, pointers to structures, argument passing to functions, pointer reassignment and modification – complete with visuals to help you conceptualize how things work. Strings: Strings, Character pointers, character arrays, null termination of strings, string.h function implementations with detailed explanations. Linked lists: Visualization, traversal, creating or deleting nodes, sorted merge, reversing a linked list and many problems and solutions, doubly linked lists. Bit Manipulation: Work with bits and bit operations. Sorting and searching algorithms: Visualize how common sorting and searching algorithms work and the speed and efficiency of those algorithms. Recursion: Master recursion with lots of practice! 8 common and uncommon recursive problems explained. Binary search, finding all subsets of a subset, finding all anagrams of a word, the infamous 8 Queens problem, executing dependent tasks, finding a path through a maze, implementing PaintFill, comparing two binary trees. Data Structures: Understand queues, stacks, heaps, binary trees and graphs in detail along with common operations and their complexity. Includes code for every data structure along with solved interview problems based on these data structures. Step-by-step solutions to dozens of common programming problems: Palindromes, Game of Life, Sudoku Validator, Breaking a Document into Chunks, Run Length Encoding, and Points within a distance are some of the problems solved and explained.

This course requires some basic understanding of a programming language, preferably C. Some solutions are in Java, though Java is not a requirement

What You Will Learn

- Know how to approach and prepare for coding interviews
- Understand pointer concepts and memory management at a very deep and fundamental level
- Tackle a wide variety of linked list problems and know how to get started when asked linked list questions as a part of interviews
- Tackle a wide variety of general pointer and string problems and know how to answer questions on them during interviews
- Tackle a wide variety of general programming problems which involve just plain logic, no standard algorithms or data structures, these help you get the details right!

## Table of Contents

01 Coding interviews are tough – but beatable

02 Introduction to pointers

03 Pointer problems and arrays

04 Pointer arithmetic

05 Practice makes perfect – pointer problems

06 Working with strings

07 Pointer as arguments to functions

08 Practice makes perfect – string problems

09 Pointers to pointers – bend your mind

10 Pointers to pointers – reassignment and modification

11 Get started with linked lists

12 Warming up to – they get tricky quickly

13 Cruising along – linked lists are fun aren’t they

14 Autopilot – linked lists are easy after all

15 Do not overlook the doubly linked list

16 Bit Manipulation – I

17 Bit Manipulation – II

18 Useful Bit Manipulation Techniques

19 Get And Set The Nth Bit

20 Print And Count Bits

21 Reverse The Bits In An Integer

22 Starting up – palindromes and points within a distance

23 Play the Game Of Life and Break A Document Into Chunks

24 Run Length Encoding And Adding Numbers Digit By Digit

25 Sudoku Board Validation and Incrementing A Number In Another Number System

26 Performance and Complexity

27 Big O Notation

28 Big O Notation More Examples

29 Sorting Trade-Offs

30 Selection Sort

31 Bubble Sort

32 Insertion Sort

33 Shell Sort

34 Merge Sort

35 Quick Sort

36 Binary Search – search quickly through a sorted list

37 What is recursion – why is it so hard

38 Binary search – implemented recursively

39 Find all subsets of a set

40 Check whether 2 binary trees are the same

41 Implement paint fill to color a region on screen

42 Build A car Given Tasks And Dependencies

43 Generate Anagrams Of A Word

44 Help A Rat Find It’s Way Through a Maze

45 Place 8 Queens On A Board Safely

46 Meet The Stack – Simple But Powerful

47 Building A Stack Using Java

48 Match Parenthesis To Check A Well Formed Expression

49 Find The Minimum Element In A Stack In Constant Time

50 Meet The Queue – A Familiar Sight In Everyday Life

51 The Circular Queue – Tricky But Fast

52 Build A Queue With Two Stacks

53 Meet The Binary Tree – A Hierarchical Data Structure

54 Breadth First Traversal

55 Depth First – Pre-Order Traversal

56 Depth First – In-Order and Post-Order Traversal

57 The Binary Search Tree – an introduction

58 Insertion and Lookup in a Binary Search Tree

59 Minimum Value, Maximum Depth And Mirror

60 Count Trees, Print Range and Is BST

61 Has Path Sum, Print Paths, Least Common Ancestor

62 The Heap Is Just The Best Way to Implement a Priority Queue

63 Meet The Binary Heap – It’s A Tree At Heart

64 The Binary Heap – Logically A Tree Really An Array

65 The Binary Heap – Making It Real With Code

66 Heapify!

67 Insert And Remove From A Heap

68 Heap Sort Phase I – Heapify

69 Heap Sort Phase II – The Actual Sort

70 Maximum Element In A Minimum Heap and K Largest Elements In A Stream

71 Merge K Sorted Lists Into One Sorted List Using A Heap

72 Find The Median In A Stream Of Elements

73 Introducing The Graph

74 Types Of Graphs

75 The Directed And Undirected Graph

76 Representing A Graph In Code

77 Graph Using An Adjacency Matrix

78 Graph Using An Adjacency List And Adjacency Set

79 Comparison Of Graph Representations

80 Graph Traversal – Depth First And Breadth First

81 Topological Sort In A Graph

82 Implementation Of Topological Sort

83 Design A Course Schedule Considering Pre-reqs For Courses

Resolve the captcha to access the links!