Skip to content

Instantly share code, notes, and snippets.

@techsharif
Created February 12, 2019 05:15
Show Gist options
  • Save techsharif/2b075098edb4cbb5cda3fe9e5d12d22f to your computer and use it in GitHub Desktop.
Save techsharif/2b075098edb4cbb5cda3fe9e5d12d22f to your computer and use it in GitHub Desktop.
[Recursion] How and Why???

How and Why???

Part 01

01

def recursion(n):
	if n < 1:
		return 0

	result = recursion(n-1)

	return result

print(recursion(5))

02

def recursion(n):
	if n < 1:
		return 0

	print(n)

	result = recursion(n-1)

	return result

recursion(5)

03

def recursion(n):
	if n < 1:
		return 0

	result = recursion(n-1)

	print(n)

	return result

recursion(5)

04

def recursion(n):
	if n < 1:
		return 0

	print(n)

	result = recursion(n-1)

	print(n)

	return result

recursion(5)

05

def recursion(n):
	if n < 1:
		return 0

	result = n + recursion(n-1)

	return result

print(recursion(5))

06

def recursion(n):
	if n < 1:
		return 0

	print(n)

	result = n + recursion(n-1)

	print(n)

	return result

print(recursion(5))

Part 02

07

def recursion(n):
	if n < 1:
		return 0
	if n ==1:
		return 1

	print(n)

	result = recursion(n-1) + recursion(n-2)

	return result

print(recursion(4))

08

def recursion(n):
	if n < 1:
		return 0
	if n ==1:
		return 1

	print(n)

	result = recursion(n-2) + recursion(n-1)

	return result

print(recursion(4))

09

def recursion(n):
	if n < 1:
		return 0
	if n ==1:
		return 1

	print(n)

	result = recursion(n-1) + recursion(n-2)

	print(n)

	return result

print(recursion(4))

10

def recursion(n):
	if n < 1:
		return 0
	if n ==1:
		return 1

	print(n)

	result = recursion(n-2) + recursion(n-1)

	print(n)

	return result

print(recursion(4))

Part 03

11

data = [-1] * 10
def recursion(n):
	if n < 1:
		return 0
	if n ==1:
		return 1

	print(n)

	if data[n] == -1
		result = recursion(n-1) + recursion(n-2)
		data[n] = result
	else:
		result = data[n]

	return result

print(recursion(4))

12

data = [-1] * 10
def recursion(n):
	if n < 1:
		return 0
	if n ==1:
		return 1

	print(n)

	if data[n] == -1
		result = recursion(n-1) + recursion(n-2)
		data[n] = result
	else:
		result = data[n]

	print(n)

	return result

print(recursion(4))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment