数据结构、决策、循环与异常处理知识详解
1. 数据结构与深度优先搜索算法
在编程开发中,数据结构和算法的选择至关重要。以一个航班路线搜索的例子来说,我们运用深度优先搜索算法来寻找从蒙特利尔到西雅图的航班路线。
首先,深度优先搜索算法的核心是在回溯之前尽可能深入地探索树结构。在这个例子里,我们有一个 CanContinueSearch 函数,其作用是防止在路线中重复访问同一个城市,代码如下:
Private Function CanContinueSearch(ByVal returnArray As Node(), _
ByVal city As Node) As Boolean
For c1 As Integer = 0 To returnArray.Length - 1
If returnArray(c1) IsNot Nothing Then
If returnArray(c1).CityName.CompareTo(city.CityName) = 0 Then
Return False
End If
End If
Next
Return True
End Function
这个函数会遍历 returnArray ,检查当前考虑的城市是否已经在已找到的路径中。如果是,则停止搜索该部分树结构;否则,继续搜索。
当我们运行深度优先搜索算法来寻找从蒙特利尔到西雅图的航班时,得
超级会员免费看
订阅专栏 解锁全文
2117

被折叠的 条评论
为什么被折叠?



