คำถามติดแท็ก recursion

การเรียกซ้ำคือการเรียกใช้ฟังก์ชันซึ่งฟังก์ชันเรียกใช้ตัวเอง ฟังก์ชั่นดังกล่าวเรียกว่าฟังก์ชั่นซ้ำ การเรียกใช้โครงสร้างซ้ำเป็นวิธีการแก้ปัญหาโดยวิธีการแก้ไขปัญหาขึ้นอยู่กับวิธีแก้ไขปัญหาที่เล็กกว่าของปัญหาเดียวกัน


10
การเพิ่มประสิทธิภาพการโทรหางคืออะไร?
ง่ายมากการเพิ่มประสิทธิภาพการโทรแบบหางคืออะไร โดยเฉพาะอย่างยิ่งมีโค้ดขนาดเล็กอะไรบ้างที่สามารถนำไปใช้และไม่ได้มีคำอธิบายว่าทำไม

14
วิธีที่มีประสิทธิภาพ / สง่างามที่สุดในการวิเคราะห์ตารางแบนเป็นต้นไม้คืออะไร?
สมมติว่าคุณมีตารางแบนที่จัดเก็บลำดับชั้นต้นไม้ที่สั่งซื้อ: Id Name ParentId Order 1 'Node 1' 0 10 2 'Node 1.1' 1 10 3 'Node 2' 0 20 4 'Node 1.1.1' 2 10 5 'Node 2.1' 3 10 6 'Node 1.2' 1 20 [id] Nameนี่คือแผนภาพที่เรามี รูตโหนด 0 เป็นแบบสมมติ [0] รูท / \ [1] โหนด 1 [3] โหนด 2 …

10
ค้นหาไฟล์ที่มีนามสกุลเฉพาะซ้ำ ๆ
ฉันพยายามค้นหาไฟล์ทั้งหมดที่มีนามสกุลเฉพาะในไดเรกทอรีและไดเรกทอรีย่อยด้วยทุบตีของฉัน (ล่าสุด Ubuntu LTS Release) นี่คือสิ่งที่เขียนในไฟล์สคริปต์: #!/bin/bash directory="/home/flip/Desktop" suffix="in" browsefolders () for i in "$1"/*; do echo "dir :$directory" echo "filename: $i" # echo ${i#*.} extension=`echo "$i" | cut -d'.' -f2` echo "Erweiterung $extension" if [ -f "$i" ]; then if [ $extension == $suffix ]; then echo "$i ends …
437 linux  bash  recursion 

17
ความลึกการเรียกซ้ำสูงสุดใน Python คืออะไรและจะเพิ่มได้อย่างไร
ฉันมีฟังก์ชั่นวนซ้ำแบบหางนี่: def recursive_function(n, sum): if n < 1: return sum else: return recursive_function(n-1, sum+n) c = 998 print(recursive_function(c, 0)) มันทำงานขึ้นไปแล้วมันก็หยุดพักและถ่มน้ำลายออกn=997 RecursionError: maximum recursion depth exceeded in comparisonนี่เป็นเพียงการล้นสแต็กหรือไม่ มีวิธีที่จะหลีกเลี่ยงมันได้หรือไม่?
421 python  recursion 

17
จะค้นหาและแสดงรายการไฟล์ที่แก้ไขล่าสุดซ้ำในไดเรกทอรีที่มีไดเรกทอรีย่อยและเวลาได้อย่างไร
ระบบปฏิบัติการ: Linux ประเภทระบบไฟล์: ext3 วิธีแก้ปัญหาที่ต้องการ: bash (script / oneliner), ruby, python ฉันมีหลายไดเรกทอรีที่มีหลายไดเรกทอรีย่อยและไฟล์ในนั้น ฉันต้องการสร้างรายชื่อของไดเรกทอรีเหล่านี้ทั้งหมดที่สร้างขึ้นในลักษณะที่ว่าทุกไดเรกทอรีระดับแรกจะแสดงรายการถัดจากวันที่และเวลาของไฟล์ที่สร้าง / แก้ไขล่าสุดภายในนั้น หากต้องการชี้แจงหากฉันแตะไฟล์หรือแก้ไขเนื้อหาในไดเรกทอรีย่อยไม่กี่ระดับลงการประทับเวลานั้นควรจะปรากฏถัดจากชื่อไดเรกทอรีระดับแรก ว่าฉันมีไดเรกทอรีโครงสร้างเช่นนี้ ./alfa/beta/gamma/example.txt และฉันแก้ไขเนื้อหาของไฟล์example.txtฉันต้องการเวลาที่แสดงถัดจากไดเรกทอรีระดับแรกalfaในรูปแบบที่มนุษย์สามารถอ่านได้ไม่ใช่ยุค ฉันได้พยายามบางสิ่งบางอย่างที่ใช้ค้นหาxargs, sortและชอบ แต่ฉันไม่สามารถได้รับการแก้ไขปัญหาที่ประทับเวลาระบบแฟ้มของ 'อัลฟ่า' ไม่เปลี่ยนแปลงเมื่อฉันสร้าง / แก้ไขไฟล์ที่ระดับไม่กี่ลง

19
วิธีที่จะไปจากการเรียกซ้ำไปซ้ำ
ฉันใช้การเรียกซ้ำหลายครั้งในการเขียนโปรแกรมเป็นเวลาหลายปีเพื่อแก้ไขปัญหาที่เรียบง่าย แต่ฉันรู้ดีว่าบางครั้งคุณจำเป็นต้องทำซ้ำเนื่องจากปัญหาหน่วยความจำ / ความเร็ว ดังนั้นบางครั้งในอดีตที่ผ่านมาฉันลองไปหาว่ามี "รูปแบบ" หรือวิธีการแบบหนังสือหรือข้อความใด ๆ ในการเปลี่ยนวิธีการเรียกซ้ำโดยทั่วไปเพื่อทำซ้ำและไม่พบอะไรเลย หรืออย่างน้อยก็ไม่มีอะไรที่ฉันจำได้ว่ามันจะช่วย มีกฎทั่วไปหรือไม่ มี "รูปแบบ" หรือไม่?

6
การลองในที่สุดบล็อกจะป้องกัน StackOverflowError
ดูสองวิธีต่อไปนี้: public static void foo() { try { foo(); } finally { foo(); } } public static void bar() { bar(); } การรันbar()อย่างชัดเจนส่งผลให้ a StackOverflowErrorแต่การรันfoo()ไม่ได้ (โปรแกรมดูเหมือนว่าจะรันไปเรื่อย ๆ ) ทำไมถึงเป็นอย่างนั้น?

10
วิธีค้นหาสตริงในหลายไฟล์และส่งคืนชื่อไฟล์ใน Powershell ได้อย่างไร
ฉันได้เริ่มเรียนรู้การใช้งาน powerhell เมื่อสองสามวันที่ผ่านมาและฉันไม่พบสิ่งใดบน google ที่ทำสิ่งที่ฉันต้องการดังนั้นโปรดอดทนกับคำถามของฉัน ฉันถูกขอให้แทนที่สตริงข้อความบางไฟล์เป็นหลายไฟล์ ฉันไม่จำเป็นต้องทราบว่าส่วนขยายของไฟล์เป้าหมายที่เป็นไปได้และฉันไม่ทราบตำแหน่งของไฟล์เหล่านั้น จนถึงตอนนี้ฉันมีการจัดการเพื่อเรียกดูซ้ำในไดเรกทอรี ( get-ChildItem -recurse) และค้นหาสตริงที่ฉันกำลังมองหาด้วย get-content และ select-string: Get-ChildItem -recurse | Get-Content | Select-String -pattern "dummy" ปัญหาคือฉันสามารถดูข้อความที่ฉันกำลังมองหาได้ แต่ฉันไม่รู้ว่าจะบอกให้ PS ส่งคืนพา ธ และชื่อของทุกไฟล์ที่ตรงกันได้อย่างไร ฉันจะรับชื่อและตำแหน่งของไฟล์ที่มีนิพจน์ที่ฉันกำลังค้นหาได้อย่างไร

12
การเรียกซ้ำเป็นเร็วกว่าการวนซ้ำหรือไม่
ฉันรู้ว่าการเรียกซ้ำเป็นบางครั้งมากกว่าการวนซ้ำและฉันไม่ได้ถามอะไรเมื่อฉันควรใช้การเรียกซ้ำผ่านการทำซ้ำฉันรู้ว่ามีคำถามมากมายเกี่ยวกับเรื่องนั้นแล้ว สิ่งที่ฉันขอเป็นเป็น recursion เคยเร็วกว่าห่วง? สำหรับฉันแล้วดูเหมือนว่าคุณจะสามารถปรับแต่งลูปและทำให้มันทำงานได้เร็วกว่าฟังก์ชั่นวนซ้ำเพราะลูปไม่ได้ตั้งค่าเฟรมสแต็กใหม่อย่างต่อเนื่อง ฉันกำลังค้นหาว่าการเรียกซ้ำซ้ำเร็วกว่าในแอปพลิเคชันหรือไม่ซึ่งการเรียกซ้ำเป็นวิธีที่ถูกต้องในการจัดการข้อมูลเช่นในฟังก์ชันเรียงลำดับบางอย่างในต้นไม้ไบนารีเป็นต้น

5
การกำหนดความซับซ้อนสำหรับฟังก์ชั่นวนซ้ำ (สัญกรณ์ Big O)
ฉันมีวิทยาการคอมพิวเตอร์กลางภาคในวันพรุ่งนี้และฉันต้องการความช่วยเหลือในการกำหนดความซับซ้อนของฟังก์ชันเวียนเกิดเหล่านี้ ฉันรู้วิธีแก้ปัญหากรณีง่าย ๆ แต่ฉันยังคงพยายามเรียนรู้วิธีแก้ไขกรณียาก ๆ เหล่านี้ ปัญหาเหล่านี้เป็นเพียงตัวอย่างเล็ก ๆ น้อย ๆ ที่ฉันไม่สามารถเข้าใจได้ ความช่วยเหลือใด ๆ จะได้รับการชื่นชมมากและจะช่วยอย่างมากในการศึกษาของฉันขอบคุณ! int recursiveFun1(int n) { if (n <= 0) return 1; else return 1 + recursiveFun1(n-1); } int recursiveFun2(int n) { if (n <= 0) return 1; else return 1 + recursiveFun2(n-5); } int recursiveFun3(int n) { …

24
แสดงรายการไฟล์ซ้ำใน Java
ฉันจะแสดงรายการไฟล์ทั้งหมดซ้ำในไดเรกทอรีใน Java ซ้ำได้อย่างไร เฟรมเวิร์กมียูทิลิตีใด ๆ หรือไม่? ฉันเห็นการใช้งานแฮ็คจำนวนมาก แต่ไม่มีจากกรอบหรือnio
258 java  file  recursion  java-7  nio 

30
การเรียกซ้ำหรือซ้ำซ้ำ
มีประสิทธิภาพหรือไม่หากเราใช้ลูปแทนการเรียกซ้ำหรือกลับกันในอัลกอริทึมที่ทั้งสองสามารถตอบสนองวัตถุประสงค์เดียวกันได้หรือไม่? เช่น: ตรวจสอบว่าสตริงที่กำหนดเป็น palindrome หรือไม่ ฉันได้เห็นโปรแกรมเมอร์จำนวนมากที่ใช้การเรียกซ้ำเป็นวิธีการแสดงเมื่ออัลกอริทึมการทำซ้ำง่าย ๆ สามารถพอดีกับการเรียกเก็บเงิน คอมไพเลอร์มีบทบาทสำคัญในการตัดสินใจว่าจะใช้หรือไม่?

20
ทำความเข้าใจกับการเรียกซ้ำ [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้มีแนวโน้มที่จะเรียกร้องการอภิปรายการโต้แย้งการหยั่งเสียงหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา ฉันมีปัญหาใหญ่ในการทำความเข้าใจเรื่องการเรียกซ้ำที่โรงเรียน เมื่อไรก็ตามที่อาจารย์พูดถึงมันฉันก็ดูเหมือนจะเข้าใจ แต่เมื่อฉันลองด้วยตัวเองมันจะทำให้สมองของฉันพังทลาย ฉันพยายามที่จะไขหอคอยแห่งฮานอยตลอดทั้งคืนและทำให้ใจฉันสนิท หนังสือเรียนของฉันมีการเรียกซ้ำประมาณ 30 หน้าเท่านั้นดังนั้นจึงไม่มีประโยชน์ ไม่มีใครรู้หนังสือหรือแหล่งข้อมูลที่สามารถช่วยชี้แจงหัวข้อนี้ได้บ้าง?

14
แสดงรายการไฟล์ซ้ำใน Linux CLI พร้อมพา ธ ที่สัมพันธ์กับไดเรกทอรีปัจจุบัน
นี่คล้ายกับคำถามนี้แต่ฉันต้องการรวมเส้นทางที่เกี่ยวข้องกับไดเรกทอรีปัจจุบันในยูนิกซ์ ถ้าฉันทำต่อไปนี้: ls -LR | grep .txt ไม่รวมเส้นทางแบบเต็ม ตัวอย่างเช่นฉันมีโครงสร้างไดเรกทอรีต่อไปนี้: test1/file.txt test2/file1.txt test2/file2.txt รหัสข้างต้นจะกลับมา: file.txt file1.txt file2.txt ฉันจะให้มันรวมเส้นทางที่สัมพันธ์กับไดเรกทอรีปัจจุบันโดยใช้คำสั่ง Unix มาตรฐานได้อย่างไร
224 linux  unix  recursion  ls 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.