【 toán pháp 】 đệ quy

Đệ quy

Thật lệ: Tại hạp tử trung tầm trảo thược thi

Phương pháp 1: Sử dụng while tuần hoàn
Toán pháp

(1) sang kiến nhất cá yếu tra trảo đích hạp tử đôi.

(2) tòng hạp tử đôi thủ xuất nhất cá hạp tử, tại lí diện trảo.

(3) như quả trảo đáo đích thị hạp tử, tựu tương kỳ gia nhập hạp tử đôi trung, dĩ tiện dĩ hậu tái tra trảo.

(4) như quả trảo đáo thược thi, tắc đại công cáo thành!

(5) hồi đáo đệ nhị bộ.

Đại mã
def look_for_key(main_box):
pile=main_box.make_a_pile_to_look_through()
while pile is not empty:
box=pile.grap_a_box
for item in box:
if item.is_a_box():
pile.append(item)
elif item.is_a_key():
print('found a key')

Phương pháp 2: Sử dụng đệ quy
Toán pháp

(1) kiểm tra hạp tử trung đích mỗi dạng đông tây.

(2) như quả thị hạp tử, tựu hồi đáo đệ nhất bộ.

(3) như quả thị thược thi, tựu đại công cáo thành!

Đại mã
def look_for_key(box):
for item in box:
if item.is_a_box():
look_for_key(item) # đệ quy
elif item.is_a_key():
print('found a key')

Như quả sử dụng tuần hoàn, trình tự đích tính năng khả năng canh cao; như quả sử dụng đệ quy, trình tự khả năng canh dung dịch lý giải. Như hà tuyển trạch yếu khán thập ma đối nhĩ lai thuyết canh trọng yếu.

Cơ tuyến điều kiện hòa đệ quy điều kiện

Biên tả đệ quy hàm sổ thời, tất tu cáo tố tha hà thời đình chỉ đệ quy. Phủ tắc hội đạo trí vô hạn tuần hoàn.

Đệ quy hàm sổ lưỡng bộ phân

Cơ tuyến điều kiện ( base case ) hòa đệ quy điều kiện ( recursive case )

Đệ quy điều kiện: Chỉ đích thị hàm sổ điều dụng tự kỷ
Cơ tuyến điều kiện: Chỉ đích thị hàm sổ bất tái điều dụng tự kỷ, tòng nhi tị miễn hình thành vô hạn tuần hoàn.

Kỳ lệ
def countdown(i):
print(i)
if i<=0: # cơ tuyến điều kiện
return
else: # đệ quy điều kiện
countdown(i-1)

print(countdown(4))

Sạn

Định nghĩa

Sạn ( stack ) hựu danh đôi sạn, tha thị nhất chủng vận toán thụ hạn đích tuyến tính biểu. Kỳ hạn chế thị cận duẫn hứa tại biểu đích nhất đoan tiến hành sáp nhập hòa san trừ vận toán.

Đặc điểm

LIFO, tức hậu tiến tiên xuất ( Last in, first out )

Điều dụng sạn ( call stack )

Kế toán cơ tại nội bộ sử dụng bị xưng vi điều dụng sạn đích sạn.

Kỳ lệ
def greet2(name):
print( "how are you," + name + "?" )
def bye():
print('ok bye!')

def greet(name):
print('hello,'+name+'!')
greet2(name)
print('getting ready to say bye..')
bye()

print(greet('lilip'))

Điều dụng quá trình

  1. Điều dụng greet(‘lilip’), thủ tiên vi cai hàm sổ điều dụng phân phối nhất khối nội tồn
  2. Đả ấn, hello,lilip!
  3. Điều dụng greet2(‘lilip’), tiếp trứ vi giá cá hàm sổ điều dụng phân phối nhất khối nội tồn
  4. Kế toán cơ sử dụng nhất cá sạn biểu kỳ giá ta nội tồn khối, kỳ trung đệ nhị cá nội tồn khối vị vu đệ nhất cá nội tồn khối đích thượng diện.
  5. Đả ấn, how are you,lilip? greet2 hàm sổ vận hành hoàn tất, nhiên hậu tòng hàm sổ điều dụng phản hồi. Thử thời, sạn đỉnh đích nội tồn khối bị đạn xuất.
  6. Sạn đỉnh nội tồn khối thị hàm sổ greet, phản hồi đáo hàm sổ greet.
  7. Đả ấn getting ready to say bye..
  8. Điều dụng bye() hàm sổ, sạn đỉnh thiêm gia hàm sổ bye đích nội tồn khối
  9. Đả ấn, ok bye! Tịnh tòng giá cá hàm sổ phản hồi.
  10. Phản hồi đáo hàm sổ greet, thử thời vận hành hoàn tất. Tòng hàm sổ greet phản hồi,

Điều dụng lánh nhất cá hàm sổ thời, đương tiền hàm sổ tạm đình tịnh xử vu vị hoàn thành trạng thái. Cai hàm sổ đích sở hữu biến lượng đích trị đô hoàn tại nội tồn trung

Giá cá sạn dụng vu tồn trữ đa cá hàm sổ đích biến lượng, bị xưng vi điều dụng sạn.

Đệ quy điều dụng sạn

Đệ quy hàm sổ dã sử dụng điều dụng sạn!

Kỳ lệ

Giai thừa đệ quy hàm sổ

def fact(x):
if x==1:
return 1
else:
return x*fact(x-1)

print(fact(3))

Điều dụng quá trình

Đại mã

Điều dụng sạn

Bị chú

fact(3)

fact

x

3

Đệ nhất thứ điều dụng fact

x=3

if x==1:

fact

x

3

else:

fact

x

3

return x*fact(x-1)

fact

x

2

fact

x

3

Đệ quy điều dụng

if x==1:

fact

x

2

fact

x

3

Hiện tại vị vu đối fact đích đệ nhị thứ điều dụng trung

x=2

Tối thượng diện đích hàm sổ điều dụng thị đương tiền sở xử đích điều dụng

else:

fact

x

2

fact

x

3

Lưỡng cá hàm sổ điều dụng đô hữu biến lượng x, đãn giá ta x biến lượng đích trị bất đồng

return x*fact(x-1)

fact

x

1

fact

x

2

fact

x

3

Tại sạn đỉnh tằng điều dụng trung, bất năng phóng vấn hạ diện kỳ tha nội tồn khối điều dụng đích x biến lượng, phản chi diệc nhiên

if x==1:

fact

x

1

fact

x

2

fact

x

3

return 1

fact

x

1

fact

x

2

fact

x

3

Tòng sạn trung đạn xuất đệ nhất cá phương khối, ý vị trứ tương tòng giá cá điều dụng phản hồi, phản hồi 1

return x*fact(x-1)

fact

x

2

fact

x

3

x vi 2

fact(x-1) phản hồi 1

Tối chung phản hồi 2

return x*fact(x-1)

fact

x

3

x vi 3

fact(x-1) phản hồi 2

Tối chung phản hồi 6

Chú ý:

  1. Mỗi cá fact điều dụng đô hữu tự kỷ đích x biến lượng. Tại nhất cá hàm sổ điều dụng trung bất năng phóng vấn lánh nhất cá đích x biến lượng.
  2. Mỗi cá hàm sổ điều dụng đô yếu chiêm dụng nhất định đích nội tồn, như quả sạn ngận cao, tựu ý vị trứ kế toán cơ tồn trữ liễu đại lượng hàm sổ điều dụng đích tín tức.

Tiểu kết

  • Đệ quy chỉ đích thị điều dụng tự kỷ đích hàm sổ.
  • Mỗi cá đệ quy hàm sổ đô hữu lưỡng cá điều kiện: Cơ tuyến điều kiện hòa đệ quy điều kiện.
  • Sạn hữu lưỡng chủng thao tác: Áp nhập hòa đạn xuất.
  • Sở hữu hàm sổ điều dụng đô tiến nhập điều dụng sạn.
  • Điều dụng sạn khả năng ngận trường, giá tương chiêm dụng đại lượng đích nội tồn.

Chuyển tái vu:https://www.cnblogs.com/lilip/p/9515186.html

  • 0
    Điểm tán
  • Thải
  • 0
    Thu tàng
    Giác đắc hoàn bất thác? Nhất kiện thu tàng
  • 0
    Bình luận
Bình luận
Thiêm gia hồng bao

Thỉnh điền tả hồng bao chúc phúc ngữ hoặc tiêu đề

Hồng bao cá sổ tối tiểu vi 10 cá

Nguyên

Hồng bao kim ngạch tối đê 5 nguyên

Đương tiền dư ngạch3.43Nguyên Tiền vãng sung trị >
Nhu chi phó:10.00Nguyên
Thành tựu nhất ức kỹ thuật nhân!
Lĩnh thủ hậu nhĩ hội tự động thành vi bác chủ hòa hồng bao chủ đích phấn ti Quy tắc
hope_wisdom
Phát xuất đích hồng bao
Thật phóNguyên
Sử dụng dư ngạch chi phó
Điểm kích trọng tân hoạch thủ
Tảo mã chi phó
Tiền bao dư ngạch 0

Để khấu thuyết minh:

1. Dư ngạch thị tiền bao sung trị đích hư nghĩ hóa tệ, án chiếu 1:1 đích bỉ lệ tiến hành chi phó kim ngạch đích để khấu.
2. Dư ngạch vô pháp trực tiếp cấu mãi hạ tái, khả dĩ cấu mãi VIP, phó phí chuyên lan cập khóa trình.

Dư ngạch sung trị