Learn · An Introduction to Programming Through C++
Lecture 44 of 126Week 5
Lecture 11 : Recursion Part 2 : Recursive objects, Tree drawing
Prof. Abhiram Ranade · IIT Bombay
Credits and licence
- From
- An Introduction to Programming Through C++, IIT Bombay (at NPTEL)
- Licence
- CC BY-NC-SA, as NPTEL states it. Non-commercial use only.
- Attribution
- NPTEL states: "Distributed under Creative Commons Attribution-ShareAlike / CC BY - NC - SA", beside a BY-NC-SA badge.
- Who can watch
- Tweens profiles and older. How courses are placed
All the lectures
- Lecture 1 Part 1: Introduction
- Lecture 1 Part 2 : Introduction
- Lecture 1 Part 3 : Introduction
- Lecture 1 Part 4 : Introduction
- Lecture 2 Part 1 : Problem Solving using Computer
- Lecture 2 Part 2 : Problem Solving using Computer
- Lecture 2 Part 3 : Problem Solving using Computer
- Lecture 2 Part 4 : Problem Solving using Computer
- Lecture 2 Part 5 : Problem Solving using Computer
- Lecture 3 Part 1 : Basic Elements of Program
- Lecture 3 Part 2 : Basic Elements of Program
- Lecture 3 Part 3 : Basic Elements of Program
- Lecture 3 Part 4 : Basic Elements of Program
- Lecture 4 Part 1 : Program Design
- Lecture 4 Part 2 : Program Design
- Lecture 4 Part 3 : Program Design
- Lecture 5 : Simple cpp Graphics
- Lecture 6 Part 1 : Conditional Execution
- Lecture 6 Part 2 : Most general form of if
- Lecture 6 Part 3 : More general form of conditions
- Lecture 6 Part 4 : A somewhat large program example
- Lecture 6 Part 5 : Switch statement and logical data
- Lecture 7 Part 1 : Loops
- Lecture 7 Part 2 : Mark averaging
- Lecture 7 Part 3 : The break and continue statements
- Lecture 7 Part 4 : The for statement
- Lecture 7 Part 5 : Euclid's algorithm for GCD
- Lecture 7 Part 6 : Correctness proof for GCD
- Lecture 8 : Computing Mathematical Functions Part 1 : Taylor series
- Lecture 8 : Computing Mathematical Functions Part 2 : Numerical integration
- Lecture 8 : Computing Mathematical Functions Part 3 : Bisection Method
- Lecture 8 : Computing Mathematical Functions Part 4 : Newton Raphson Method
- Lecture 9 : Loops in various applications Part 1 : Loops in various applications brute force algorithms
- Lecture 9 : Loops in various applications Part 2 : Finding Pythagorean Triples
- Lecture 9 : Loops in various applications Part 3 : Modelling a system: bargaining
- Lecture 9 : Loops in various applications Part 4 : Simulating a water tank
- Lecture 9 : Loops in various applications Part 5 : Arithmetic on very large numbers
- Lecture 10 : Functions Part 1 : Basics
- Lecture 10 : Functions Part 2 : Examples
- Lecture 10 : Functions Part 3 : Reference parameters
- Lecture 10 : Functions Part 4 : Pointers
- Lecture 10 : Functions Part 5 : Graphics Objects and Lecture conclusion
- Lecture 11 : Recursion Part 1 : Introduction
- Lecture 11 : Recursion Part 2 : Recursive objects, Tree drawing
- Lecture 11 : Recursion Part 3 : How to think about recursion
- Lecture 12 : Virahanka Numbers Part 1 : Introduction
- Lecture 12 : Virahanka Numbers Part 2 : Recursive Program
- Lecture 12 : Virahanka Numbers Part 3 : Iterative Program and Conclusion
- Lecture 13 : Program Organization and Functions Part 1 : Introduction
- Lecture 13 : Program Organization and Functions Part 2 : Splitting into files
- Lecture 13 : Program Organization and Functions Part 3 : Namespaces
- Lecture 13 : Program Organization and Functions Part 4 : How to use C++ without simplecpp
- Lecture 14 : Advanced Features of Functions Part 1 : Introduction and passing one function to another
- Lecture 14 : Advanced Features of Functions Part 2 : Lambda expressions
- Lecture 14 : Advanced Features of Functions Part 3 : Default values to parameters
- Lecture 14 : Advanced Features of Functions Part 4 : Function overloading and lecture conclusion
- Lecture 15 : Array Part-1 : Part 1 : Introduction
- Lecture 15 : Array Part-1 : Part 2 : Marks averaging problem
- Lecture 15 : Array Part-1 : Part 3 : Histogram computation
- Lecture 15 : Array Part-1 : Part 4 : Marks display variation
- Lecture 15 : Array Part-1 : Part 5 : Polynomial multiplication
- Lecture 15 : Array Part-1 : Part 6 : Queues in dispatching taxis
- Lecture 15 : Array Part-1 : Part 7 : More efficient Queues in dispatching taxis
- Lecture 15 : Array Part-1 : Part 8 : Disk intersection
- Lecture 15 : Array Part-1 : Part 9 : Arrays of graphical objects and conclusion
- Lecture 16 : Array Part-2 : Part 1 : Introduction
- Lecture 16 : Array Part-2 : Part 2 : Interpretation of aname[index]
- Lecture 16 : Array Part-2 : Part 3 : Arrays and function calls
- Lecture 16 : Array Part-2 : Part 4 : A function to sort an array
- Lecture 17 : More on Arrays : Part 1 : Textual data
- Lecture 17 : More on Arrays : Part 2 : Functions on character strings
- Lecture 17 : More on Arrays : Part 3 : Two dimensional arrays
- Lecture 17 : More on Arrays : Part 4 : Command Line Arguments
- Lecture 18 : Arrays and recursion : Part 1 : Binary Search Introduction
- Lecture 18 : Arrays and recursion : Part 2 : Binary search analysis
- Lecture 18 : Arrays and recursion : Part 3 : Mergesort overview
- Lecture 18 : Arrays and recursion : Part 4 : Merge function
- Lecture 18 : Arrays and recursion : Part 5 : Mergesort conclusion
- Lecture 19 : Structures : Part 1 : Definition and instantiation
- Lecture 19 : Structures : Part 2 : Operations on structures
- Lecture 19 : Structures : Part 3 : An example program
- Lecture 19 : Structures : Part 4 : Pointers and lecture conclusion
- Lecture 20 : Structures Part 2 : Part 1 : Introduction to Member functions
- Lecture 20 : Structures Part 2 : Part 2 : Vectors from Physics
- Lecture 20 : Structures Part 2 : Part 3 : Taxi dispatch
- Lecture 21 : Classes : Part 1 : Introduction
- Lecture 21 : Classes : Part 2 : Constructors
- Lecture 21 : Classes : Part 3 : Operator overloading
- Lecture 21 : Classes : Part 4 : Access control
- Lecture 21 : Classes : Part 5 : Classes for graphics and input output
- Lecture 21 : Classes : Part 6 : General remarks
- Lecture 22 : Representing variable length entities: Part 1 : Introduction
- Lecture 22 : Representing variable length entities: Part 2 : Heap memory basics
- Lecture 22 : Representing variable length entities: Part 3 : Pitfalls of using heap memory
- Lecture 22 : Representing variable length entities: Part 4 : Automating memory management
- Lecture 22 : Representing variable length entities: Part 5 : Implementing a class with automated memory management 1
- Lecture 22 : Representing variable length entities: Part 6 : Implementing a class with automated memory management 2
- Lecture 22 : Representing variable length entities: Part 7 : Using the implemented class and conclusion
- Lecture 23 : The Standard Library: Part 1 : Class string
- Lecture 23 : The Standard Library: Part 2 : Class vector
- Lecture 23 : The Standard Library: Part 3 : Classes map and unordered_map
- Lecture 23 : The Standard Library: Part 4 : Iterators
- Lecture 23 : The Standard Library: Part 5 : Iterators
- Lecture 24 : Data structure based programming : Part 1 : Introduction
- Lecture 24 : Data structure based programming : Part 2 : Set and pair classes
- Lecture 24 : Data structure based programming : Part 3 : Implementation of standard library data structures
- Lecture 24 : Data structure based programming : Part 4 : Composing data structures
- Lecture 24 : Data structure based programming : Part 5 : typedef and lecture conclusion
- Lecture 25 : Medium size programs : Part 1 : The new marks display program
- Lecture 25 : Medium size programs : Part 2 : Manual algorithm for new marks display
- Lecture 25 : Medium size programs : Part 3 : RSMTAB and rest of the program
- Lecture 25 : Medium size programs : Part 4 : Sophisticated solutions to marks display
- Lecture 26 : A graphical editor and solver for circuits : Part 1 : Outline
- Lecture 26 : A graphical editor and solver for circuits : Part 2 : Main program and organization
- Lecture 26 : A graphical editor and solver for circuits : Part 3 : Mathematical representation of the circuit
- Lecture 26 : A graphical editor and solver for circuits Part 4 : Extensions and concluding remarks
- Lecture 27 : Cosmological simulation : Part 1 : Introduction and First order Euler method
- Lecture 27 : Cosmological simulation : Part 2 : Second order Euler method
- Lecture 27 : Cosmological simulation : Part 3 : The program
- Lecture 27 : Cosmological simulation : Part 4 : Concluding remarks
- Live Session 19-04-2021
- Live Session 12-03-2020
- Live Session 06-09-2019
- Live Session 22-10-2019
- Live Session 21-03-2022
- Live Session 04-07-2022