Đệ Quy Tiếng Anh Là Gì

     

Ý tưởng về đệ quy không phổ biến lắm trong nhân loại thực. Vày vậy, nó có vẻ hơi cực nhọc hiểu với những lập trình viên mới làm quen. Mặc dù, tôi đoán, họ từ từ quen với tư tưởng này. Do vậy, hồ hết gì rất có thể là một lời lý giải tốt đẹp để họ nắm bắt ý tưởng dễ dàng?

tin tức thêm sẽ được chia sẻ về chủ đề này tại tài nguyên để cải thiện sự gọi biết của bạn về đệ quy? Đệ quy là khi một hàm hoàn toàn có thể gọi bao gồm nó. "Nếu bạn trọn vẹn hiểu không gian tên và phạm vi và cách các tham số được truyền cho 1 hàm, thì chúng ta đã biết đệ quy rồi. Tôi có thể hiển thị những ví dụ, nhưng các bạn sẽ có thể từ mình search ra biện pháp chúng hoạt động." các sinh viên thường chiến đấu với đệ quy không không ít vì nó cực nhọc hiểu, nhưng vì họ không nắm vững phạm vi / không gian tên biến. Trước lúc đi sâu vào đệ quy, hãy bảo đảm an toàn rằng các sinh viên rất có thể theo dõi đúng mực thông sang một chương trình mà chúng ta đã cố tình đưa ra những biến ở các phạm vi khác nhau cùng tên nhằm gây nhầm lẫn cho họ. — dspyz 1 vi.wikipedia.org/wiki/Turtles_all_the_way_down — Thomas Eding 1 Để đọc đệ quy, trước tiên bạn phải đọc đệ quy — Goerman

Câu trả lời:

110

Để giải thích đệ quy , tôi sử dụng phối kết hợp nhiều cách phân tích và lý giải khác nhau, thường là cả hai vậy gắng:

giải ưng ý khái niệmgiải thích nguyên nhân nó quan liêu trọnggiải ưa thích làm cụ nào để sở hữu được nó.

Bạn đang xem: đệ quy tiếng anh là gì

Bạn đang xem: Đệ quy giờ anh là gì

Để bắt đầu, Wolfram | Alpha có mang nó theo thuật ngữ đơn giản dễ dàng hơn Wikipedia :

Một biểu thức sao cho mỗi thuật ngữ được tạo bằng cách lặp lại một phép toán thay thể.

Toán học

Nếu học tập sinh của doanh nghiệp (hoặc bạn bạn lý giải quá, từ bây giờ tôi đã nói học tập sinh) tất cả ít nhất một số trong những nền tảng toán học, rõ ràng là bọn chúng đã chạm mặt phải đệ quy bằng cách nghiên cứu giúp loạt và tư tưởng về đệ quy và quan hệ tái diễn của bọn chúng .

Một cách rất tốt để bắt đầu sau đó là thể hiện bởi một loạt cùng nói rằng nó khá đơn giản và dễ dàng là đông đảo gì đệ quy nói về:

một hàm toán học ...... Nó tự hotline mình để giám sát và đo lường một giá bán trị khớp ứng với phần tử thứ n ...... Và xác minh một số rỡ ràng giới.

Thông thường, chúng ta có thể nhận được "huh huh, whatev "" bởi vì họ vẫn không sử dụng nó, hoặc nhiều tài năng chỉ là một tiếng ngáy hết sức sâu.

Ví dụ mã hóa

Đối với phần còn lại, nó thực sự là 1 phiên bản chi tiết về phần lớn gì tôi miêu tả trong Phụ lục của câu trả lời của tôi cho câu hỏi mà bạn chỉ ra liên quan đến con trỏ (chơi chữ xấu).

Ở tiến trình này, học sinh của tôi thường biết cách in một cái nào đó lên màn hình. Giả sử chúng ta đang thực hiện C, họ biết cách in một char bằng phương pháp sử dụng writehoặc printf. Họ cũng biết về những vòng điều khiển.

Tôi thường sử dụng một vài vụ việc lập trình đơn giản dễ dàng và lặp đi lặp lại cho đến khi họ phát âm được:

một máy in bảng chữ cái,một sản phẩm in bảng chữ cái đảo ngược,

yếu tố

Yếu tố là một trong khái niệm toán học tập rất đơn giản dễ dàng để hiểu, với việc tiến hành rất ngay gần với màn trình diễn toán học của nó. Tuy nhiên, họ có thể không nhận ra nó dịp đầu.


*

Bảng chữ cái

Phiên phiên bản bảng chữ cái rất độc đáo để dạy dỗ họ để ý đến về sản phẩm tự của những câu lệnh đệ quy. Giống như với bé trỏ, họ đang chỉ ném thiên nhiên vào bạn. Vụ việc là đưa bọn chúng đến nhận thấy rằng một vòng lặp hoàn toàn có thể được hòn đảo ngược bằng phương pháp sửa đổi những điều kiện HOẶC chỉ bằng phương pháp đảo ngược thứ tự của những câu lệnh vào hàm của bạn. Đó là vị trí in bảng vần âm giúp, vị nó là 1 trong những cái gì đó trực quan mang lại họ. Đơn giản chỉ cần họ viết một hàm đã in một ký kết tự cho mỗi cuộc call và gọi chủ yếu nó một phương pháp đệ quy nhằm viết tiếp (hoặc trước đó).

Các fan mến mộ của FP, vứt qua thực tế rằng vấn đề in các thứ vào luồng áp sạc ra là một chức năng phụ hiện giờ ... Họ đừng quá tức giận trên chiến trận FP. (Nhưng nếu khách hàng sử dụng một ngữ điệu có cung cấp danh sách, hãy dễ chịu và thoải mái nối với một danh sách ở các lần lặp còn chỉ in hiệu quả cuối cùng. .

Lũy thừa

Vấn đề lũy quá hơi khó khăn hơn ( ở giai đoạn tiếp thu kiến thức này). Ví dụ khái niệm này hoàn toàn giống với 1 giai quá và không tồn tại sự phức hợp thêm vào ... Ngoại trừ câu hỏi bạn có nhiều tham số. Và điều này thường đủ để gây nhầm lẫn mang lại mọi bạn và ném chúng ngay trường đoản cú đầu.

Hình thức đơn giản và dễ dàng của nó:


*

*

Khó hơn

Khi những vấn đề đơn giản và dễ dàng này đã có được hiển thị VÀ được triển khai lại trong phía dẫn, bạn cũng có thể đưa ra các bài tập khó hơn (nhưng hết sức cổ điển):

Và nếu như bạn có một môi trường đồ họa (hoặc rất có thể cung cấp cuống mã mang lại nó hoặc cho áp sạc ra thiết bị đầu cuối hoặc họ bao gồm thể thống trị điều kia rồi), gần như thứ như:Và đối với các ví dụ như thực tế, hãy chu đáo viết:một thuật toán truyền tải cây,một trình phân tích cú pháp biểu thức toán học 1-1 giản,một trò đùa quét mìn.

Lưu ý: một đợt nữa, một số trong số này đích thực không cực nhọc hơn ... Chúng ta chỉ tiếp cận sự việc từ cùng một góc độ, hoặc một góc khá khác. Tuy nhiên thực hành khiến cho hoàn hảo.

Xem thêm: Bài Giảng Phong Cách Hồ Chí Minh, Phong Cách Hồ Chí Minh

Người góp việc

Một tài liệu tham khảo

Cấp độ / độ sâu

Giả sử sinh viên của người tiêu dùng không có tương đối nhiều kinh nghiệm mã hóa, hãy cung cấp cuống mã. Sau đều lần thử đầu tiên, hãy cung ứng cho họ tính năng in rất có thể hiển thị nấc đệ quy. In quý hiếm số của cấp độ giúp.

Sơ đồ ngăn xếp

Việc thụt vào một kết quả được in (hoặc đầu ra của cấp độ) cũng góp ích, do nó hỗ trợ một màn biểu diễn trực quan khác về số đông gì chương trình của người sử dụng đang làm, mở cùng đóng những bối cảnh ngăn xếp như chống kéo hoặc folder trong trình thám hiểm hệ thống tệp.

Từ viết tắt đệ quy

Nếu sinh viên của bạn đã thành thạo một chút về văn hóa truyền thống máy tính, họ hoàn toàn có thể đã sử dụng một số trong những dự án / phần mềm có tên bằng những từ viết tắt đệ quy . Đó là một truyền thống xuất hiện thêm trong một thời gian, đặc biệt là trong những dự án GNU. Một số trong những ví dụ bao gồm:

Đệ quy:

GNU - "GNU không hẳn Unix"Nagios - "Nagios Ain"t Gonna cố định về vị thánh"PHP - "Bộ xử lý siêu văn phiên bản PHP" (và xuất phát là "Trang công ty cá nhân")Rượu vang - "Rượu chưa hẳn là trình trả lập"Zile - "Zile là mất mát Emacs"

Đệ quy lẫn nhau:

HURD - "HIRD của Unix sửa chữa Daemon" (trong kia HIRD là "HURD của những giao diện đại diện cho độ sâu")

Có họ nỗ lực để đưa ra với riêng biệt của họ.

Tương tự, có nhiều sự xuất hiện của sự hài hước đệ quy, như sửa lỗi kiếm tìm kiếm đệ quy của Google . Để biết thêm tin tức về đệ quy, phát âm câu trả lời này .

Cạm mồi nhử và học hỏi thêm

Một số sự việc mà mọi bạn thường đấu tranh và bạn cần biết câu trả lời.

Tại sao, trời ơi nguyên nhân ???

Tại sao các bạn lại làm vậy? Một lý do tốt nhưng không ví dụ là thường dễ dàng và đơn giản hơn để diễn đạt một sự việc theo phương pháp đó. Một nguyên nhân không tốt nhưng cụ thể là nó thường mất ít thao tác gõ rộng (đừng khiến họ cảm thấy loot l33t do chỉ thực hiện đệ quy tuy nhiên ...).

Một số vấn đề chắc chắn dễ giải quyết hơn lúc sử dụng phương thức đệ quy. Thông thường, ngẫu nhiên vấn đề nào chúng ta có thể giải quyết bằng mô hình Phân phân tách và chinh phục sẽ cân xứng với thuật toán đệ quy đa nhánh.

Lại là gì nữa ??

Tại sao mỗi lần tôi nhoặc (bất cứ tên biến hóa của bạn) không giống nhau? fan mới bước đầu thường có một vụ việc hiểu một thay đổi và thông số là gì và làm rứa nào để rất nhiều thứ có tên ntrong chương trình của bạn có thể có các giá trị không giống nhau. Vị vậy, bây giờ nếu cực hiếm này nằm trong vòng tinh chỉnh và điều khiển hoặc đệ quy, điều này thậm chí còn tồi tàn hơn! Hãy tử tế cùng không sử dụng cùng một tên biến ở phần đông nơi và nắm rõ rằng các tham số chỉ nên biến .

Điều kiện kết thúc

Làm nuốm nào để tôi xác định tình trạng cuối của tôi? Điều đó thật dễ dàng, chỉ cần họ nói to những bước. Chẳng hạn, giai thừa bước đầu từ 5, rồi 4, rồi ... Cho đến 0.

Ma quỷ là trong số chi tiết

Đừng thì thầm với phần nhiều thứ sớm như về tối ưu hóa cuộc điện thoại tư vấn đuôi . Tôi biết, tôi biết, TCO rất hay, nhưng ban đầu họ ko quan tâm. Cung ứng cho bọn họ một chút thời hạn để quấn đầu xung quanh quy trình theo cách phù hợp với họ. Hãy dễ chịu phá vỡ nhân loại của chúng ta một lần nữa sau đó, nhưng hãy cho họ nghỉ ngơi.

Tương tự, đừng nói thẳng từ bài giảng đầu tiên về chống xếp cuộc điện thoại tư vấn và nấc tiêu thụ bộ nhớ của nó cùng ... à ... Tràn ngăn xếp . Tôi thường dạy kèm cho các sinh viên một bí quyết riêng tư, những người dân chỉ cho tôi những bài xích giảng chỗ họ có 50 slide về mọi thứ cần biết về đệ quy lúc họ phần nhiều không thể viết một vòng lặp đúng mực trong giai đoạn này. Đó là một trong những ví dụ giỏi về biện pháp một tư liệu tham khảo để giúp sau này mà lại ngay hiện giờ chỉ khiến chúng ta bối rối .

Nhưng xin vui lòng, trong thời gian thích hợp, nắm rõ rằng gồm những nguyên nhân để đi theo tuyến phố lặp hoặc đệ quy .

Xem thêm: Bộ Đề Thi Khảo Sát Chất Lượng Đầu Năm Lớp 4 Môn Toán, Tiếng Việt

Đệ quy lẫn nhau

Chúng ta vẫn thấy rằng các hàm hoàn toàn có thể được đệ quy và thậm chí còn chúng bao gồm thể có tương đối nhiều điểm điện thoại tư vấn (8-Queen, Hà Nội, Fibonacci hoặc thậm chí là 1 thuật toán thăm dò đến một bạn quét mìn). Nhưng đều gì về những cuộc điện thoại tư vấn đệ quy cho nhau ? bắt đầu với toán học tập ở đó là tốt. F(x) = g(x) + h(x)nơi g(x) = f(x) + l(x)và hvà lchỉ làm công cụ.

Bắt đầu chỉ với loạt toán học giúp viết với thực hiện dễ dàng hơn do hợp đồng được xác định ví dụ bằng các biểu thức. Chẳng hạn, những chuỗi phái nam và phái nữ của Hofstadter :