算法与数据结构(六) 迪杰斯特拉算法的最短路径(Swift版)
使用 Swift 实现迪杰斯特拉最短路径算法,结合图结构和计算过程理解路径信息的更新,整理从问题分析到代码实现的步骤。
Swift 语言与开发实践,从基础语法、集合、闭包和泛型,到算法实现、ReactiveSwift 源码与服务端开发。
按文章数量排列 · 点击切换下方文章
使用 Swift 实现迪杰斯特拉最短路径算法,结合图结构和计算过程理解路径信息的更新,整理从问题分析到代码实现的步骤。
通过 Swift 实现普利姆与克鲁斯卡尔算法,围绕最小生成树问题梳理选边过程,结合具体图结构比较两种求解思路。
使用 Swift 表示图的存储结构,并实现深度优先与广度优先搜索,通过示例理解图中节点、边与遍历过程的联系。
使用 Swift 实现二叉树遍历及线索化,结合具体结构与代码理解节点访问过程,梳理树的表示方式和遍历之间的关系。
使用 Swift 实现栈与队列的线性和链式表示,整理数据结构的创建与基本操作,帮助理解不同存储方式下的接口与行为。
使用 Swift 实现线性表的顺序存储与链式存储,通过基本操作比较两种表示方式,结合代码理解数据组织与访问过程。
阅读 Alamofire 源码,沿着网络请求相关类型和调用流程分析实现,结合具体代码理解框架封装系统网络能力的方式。
再次梳理 iOS GCD 并发编程,围绕 Grand Central Dispatch 的任务与队列展开,结合示例理解常见调度方式。
以 ATM 取款机的操作流程理解状态模式,结合状态变化和行为实现,探索将不同状态下的逻辑组织为独立对象的方式。
通过 Finder 文件组织的场景理解组合模式,结合树状关系与代码实现,认识整体和部分采用统一接口的设计思路。
从电影院展示电影资源的场景理解迭代器模式,结合数组与字典的遍历示例,探索统一访问不同容器内容的方式。
以两道菜的制作过程类比模板方法模式,结合代码区分固定流程与可变步骤,理解如何在共同结构中保留不同实现。
电脑按 Ctrl + D(Mac 按 ⌘ + D);手机使用浏览器菜单中的「收藏」或「书签」。
保存当前页面,下次继续阅读。