ฉันคิดว่ามันน่าสนใจที่จะเขียนทั้งสองอย่างในทางที่เพียงแค่เปลี่ยนโค้ดบางบรรทัดจะให้อัลกอริทึมหนึ่งหรืออีกอันหนึ่งเพื่อที่คุณจะเห็นว่าดิลมาของคุณไม่แข็งแรงอย่างที่คิดในตอนแรก .
ฉันชอบการตีความ BFS เป็นการส่วนตัวที่ทำให้เกิดภูมิทัศน์: พื้นที่ที่มีระดับความสูงต่ำจะถูกน้ำท่วมเป็นอันดับแรกและจากนั้นจะมีพื้นที่สูงตามมา ถ้าคุณจินตนาการถึงความสูงของภูมิทัศน์ในฐานะที่เป็นโดดเดี่ยวอย่างที่เราเห็นในหนังสือภูมิศาสตร์มันง่ายที่จะเห็นว่า BFS เติมทุกพื้นที่ภายใต้ไอโซโทปเดียวกันในเวลาเดียวกัน ดังนั้นการตีความระดับความสูงเป็นระยะทางหรือราคาที่ปรับให้เป็นแนวคิดที่ค่อนข้างใช้งานง่าย
ด้วยสิ่งนี้ในใจคุณสามารถปรับความคิดที่อยู่เบื้องหลังการค้นหาแบบกว้างแรกเพื่อค้นหาแผนผังการขยายขั้นต่ำได้อย่างง่ายดายเส้นทางที่สั้นที่สุดและอัลกอริธึมการย่อขนาดอื่น ๆ อีกมากมาย
ฉันไม่เห็นการตีความที่เป็นธรรมชาติของ DFS (เฉพาะมาตรฐานเกี่ยวกับเขาวงกต แต่มันไม่ทรงพลังเท่ากับ BFS one และน้ำท่วม) ดังนั้นสำหรับฉันดูเหมือนว่า BFS จะสัมพันธ์กับปรากฏการณ์ทางกายภาพได้ดีกว่าที่อธิบายไว้ข้างต้นในขณะที่ DFS มีความสัมพันธ์ที่ดีขึ้นกับตัวเลือก dillema บนระบบที่มีเหตุผล (เช่นคนหรือคอมพิวเตอร์ตัดสินใจว่าจะย้ายเกมหมากรุกหรือออกไปจากเขาวงกต)
ดังนั้นสำหรับฉันความแตกต่างระหว่างการโกหกซึ่งปรากฏการณ์ทางธรรมชาติที่ดีที่สุดตรงกับรูปแบบการแพร่กระจายของพวกเขา (transversing) ในชีวิตจริง