Recursion (computer science) | Wikipedia audio article
Channel: wikipedia tts
Date: 28/12/2018

This is an audio version of the Wikipedia Article:
https://en.wikipedia.org/wiki/Recursion_(computer_science)


00:01:18 1 Recursive functions and algorithms
00:02:20 2 Recursive data types
00:03:30 2.1 Inductively defined data
00:04:11 2.2 Coinductively defined data and corecursion
00:04:22 3 Types of recursion
00:04:50 3.1 Single recursion and multiple recursion
00:06:30 3.2 Indirect recursion
00:08:17 3.3 Anonymous recursion
00:08:27 3.4 Structural versus generative recursion
00:10:14 4 Recursive programs
00:11:44 4.1 Recursive procedures
00:12:12 4.1.1 Factorial
00:15:35 4.1.2 Greatest common divisor
00:15:45 4.1.3 Towers of Hanoi
00:15:54 4.1.4 Binary search
00:18:48 4.2 Recursive data structures (structural recursion)
00:21:17 4.2.1 Linked lists
00:22:38 4.2.2 Binary trees
00:23:52 4.2.3 Filesystem traversal
00:25:06 5 Implementation issues
00:26:03 5.1 Wrapper function
00:27:04 5.2 Short-circuiting the base case
00:28:20 5.2.1 Depth-first search
00:29:23 5.3 Hybrid algorithm
00:30:29 6 Recursion versus iteration
00:32:54 6.1 Expressive power
00:35:02 6.2 Performance issues
00:35:52 6.3 Stack space
00:37:22 6.4 Vulnerability
00:39:05 6.5 Multiply recursive problems
00:40:23 6.6 Refactoring recursion
00:41:01 7 Tail-recursive functions
00:41:41 8 Order of execution
00:42:38 8.1 Function 1
00:43:35 8.2 Function 2 with swapped lines
00:45:07 9 Time-efficiency of recursive algorithms
00:45:38 9.1 Shortcut rule (master theorem)
00:45:47 10 See also
00:45:57 10.1 Recursive functions
00:46:22 11 Books
00:49:25 11.1 Monographs on recursive programming
00:49:50 11.2 Other
00:50:10 12 Notes and references
00:50:18 13 Further reading
00:50:49 14 External links
00:51:13 Notes and references
00:51:23 Further reading
00:51:52 External links



Listening is a more natural way of learning, when compared to reading. Written language only began at around 3200 BC, but spoken language has existed long ago.

Learning by listening is a great way to:
- increases imagination and understanding
- improves your listening skills
- improves your own spoken accent
- learn while on the move
- reduce eye strain

Now learn the vast amount of general knowledge available on Wikipedia through audio (audio article). You could even learn subconsciously by playing the audio while you are sleeping! If you are planning to listen a lot, you could try using a bone conduction headphone, or a standard speaker instead of an earphone.

Listen on Google Assistant through Extra Audio:
https://assistant.google.com/services/invoke/uid/0000001a130b3f91
Other Wikipedia audio articles at:
https://www.youtube.com/results?search_query=wikipedia+tts
Upload your own Wikipedia articles through:
https://github.com/nodef/wikipedia-tts
Speaking Rate: 0.8787046172817374
Voice name: en-US-Wavenet-C


"I cannot teach anybody anything, I can only make them think."
- Socrates


SUMMARY
=======
Recursion in computer science is a method of solving a problem where the solution depends on solutions to smaller instances of the same problem (as opposed to iteration).  The approach can be applied to many types of problems, and recursion is one of the central ideas of computer science.
The power of recursion evidently lies in the possibility of defining an infinite set of objects by a finite statement.  In the same manner, an infinite number of computations can be described by a finite recursive program, even if this program contains no explicit repetitions.

Most computer programming languages support recursion by allowing a function to call itself from within its own code. Some functional programming languages do not define any looping constructs but rely solely on recursion to repeatedly call code. Computability theory proves that these recursive-only languages are Turing complete; they are as computationally powerful as Turing complete imperative languages, meaning they can solve the same kinds of problems as imperative languages even without iterative control structures such as while and for.