 Python在金融领域的应用与创新 王宇韬 Corporation Ltd. TALK IS CHEAP SHOW ME THE CODE CHAPTER 3 舆情监控详细代码分析 Python舆情监控 4 3 2 6 1 5 百度新闻批量爬取 24小时不间断爬取 舆情预警系统 数据清洗及优化 IP代理与反爬 舆情评分系统 HUANENG GUICHENG TRUST CORPORATION LTD. Python舆情监控 print(res) 源代码公布平台 – MoAI 4 3 2 6 1 5 百度新闻批量爬取 24小时不间断爬取 舆情预警系统 数据清洗及优化 IP代理与反爬 舆情评分系统 HUANENG GUICHENG TRUST CORPORATION LTD. 代码公布平台 - Mo 4 3 2 6 1 5 百度新闻批量爬取 24小时不间断爬取 舆情预警系统 数据清洗及优化 IP代理与反爬 IP代理与反爬 舆情评分系统 HUANENG GUICHENG TRUST CORPORATION LTD. 代码公布平台 - Mo 4 3 2 6 1 5 百度新闻批量爬取 24小时不间断爬取 舆情预警系统 数据清洗及优化 IP代理与反爬 舆情评分系统 HUANENG GUICHENG TRUST CORPORATION LTD. Python舆情监控 HUANENG0 码力 | 51 页 | 4.69 MB | 1 年前3 Python在金融领域的应用与创新 王宇韬 Corporation Ltd. TALK IS CHEAP SHOW ME THE CODE CHAPTER 3 舆情监控详细代码分析 Python舆情监控 4 3 2 6 1 5 百度新闻批量爬取 24小时不间断爬取 舆情预警系统 数据清洗及优化 IP代理与反爬 舆情评分系统 HUANENG GUICHENG TRUST CORPORATION LTD. Python舆情监控 print(res) 源代码公布平台 – MoAI 4 3 2 6 1 5 百度新闻批量爬取 24小时不间断爬取 舆情预警系统 数据清洗及优化 IP代理与反爬 舆情评分系统 HUANENG GUICHENG TRUST CORPORATION LTD. 代码公布平台 - Mo 4 3 2 6 1 5 百度新闻批量爬取 24小时不间断爬取 舆情预警系统 数据清洗及优化 IP代理与反爬 IP代理与反爬 舆情评分系统 HUANENG GUICHENG TRUST CORPORATION LTD. 代码公布平台 - Mo 4 3 2 6 1 5 百度新闻批量爬取 24小时不间断爬取 舆情预警系统 数据清洗及优化 IP代理与反爬 舆情评分系统 HUANENG GUICHENG TRUST CORPORATION LTD. Python舆情监控 HUANENG0 码力 | 51 页 | 4.69 MB | 1 年前3
 Hello 算法 1.0.0b1 Python版二叉树的层序遍历 算法实现 广度优先遍历一般借助「队列」来实现。队列的规则是“先进先出”,广度优先遍历的规则是”一层层平推“, 两者背后的思想是一致的。 # === File: binary_tree_bfs.py === def level_order(root: Optional[TreeNode]): """ 层序遍历 """ # 初始化队列,加入根结点 queue = collections Search」,简称为 BFS 和 DFS 。 9.3.1. 广度优先遍历 广度优先遍历优是一种由近及远的遍历方式,从距离最近的顶点开始访问,并一层层向外扩张。具体地,从某 个顶点出发,先遍历该顶点的所有邻接顶点,随后遍历下个顶点的所有邻接顶点,以此类推⋯⋯ Figure 9‑9. 图的广度优先遍历 算法实现 BFS 常借助「队列」来实现。队列具有“先入先出”的性质,这与 BFS “由近及远”的思想是异曲同工的。 为了防止重复遍历顶点,我们需要借助一个哈希表 visited 来记录哪些结点已被访问。 # === File: graph_bfs.py === def graph_bfs(graph: GraphAdjList, start_vet: Vertex) -> List[Vertex]: """ 广度优先遍历 BFS """ # 使用邻接表来表示图,以便获取指定顶点的所有邻接顶点 # 顶点遍历序列 res = []0 码力 | 178 页 | 14.67 MB | 1 年前3 Hello 算法 1.0.0b1 Python版二叉树的层序遍历 算法实现 广度优先遍历一般借助「队列」来实现。队列的规则是“先进先出”,广度优先遍历的规则是”一层层平推“, 两者背后的思想是一致的。 # === File: binary_tree_bfs.py === def level_order(root: Optional[TreeNode]): """ 层序遍历 """ # 初始化队列,加入根结点 queue = collections Search」,简称为 BFS 和 DFS 。 9.3.1. 广度优先遍历 广度优先遍历优是一种由近及远的遍历方式,从距离最近的顶点开始访问,并一层层向外扩张。具体地,从某 个顶点出发,先遍历该顶点的所有邻接顶点,随后遍历下个顶点的所有邻接顶点,以此类推⋯⋯ Figure 9‑9. 图的广度优先遍历 算法实现 BFS 常借助「队列」来实现。队列具有“先入先出”的性质,这与 BFS “由近及远”的思想是异曲同工的。 为了防止重复遍历顶点,我们需要借助一个哈希表 visited 来记录哪些结点已被访问。 # === File: graph_bfs.py === def graph_bfs(graph: GraphAdjList, start_vet: Vertex) -> List[Vertex]: """ 广度优先遍历 BFS """ # 使用邻接表来表示图,以便获取指定顶点的所有邻接顶点 # 顶点遍历序列 res = []0 码力 | 178 页 | 14.67 MB | 1 年前3
 Hello 算法 1.0.0b2 Python版二叉树的层序遍历 算法实现 广度优先遍历一般借助「队列」来实现。队列的规则是“先进先出”,广度优先遍历的规则是”一层层平推“, 两者背后的思想是一致的。 # === File: binary_tree_bfs.py === def level_order(root: TreeNode | None) -> list[int]: """ 层序遍历 """ # 初始化队列,加入根结点 queue: deque[TreeNode] Search」,简称为 BFS 和 DFS 。 9. 图 hello‑algo.com 138 9.3.1. 广度优先遍历 广度优先遍历优是一种由近及远的遍历方式,从距离最近的顶点开始访问,并一层层向外扩张。具体地,从某 个顶点出发,先遍历该顶点的所有邻接顶点,随后遍历下个顶点的所有邻接顶点,以此类推⋯⋯ Figure 9‑9. 图的广度优先遍历 算法实现 BFS 常借助「队列」来实现。队列具有“先入先出”的性质,这与 常借助「队列」来实现。队列具有“先入先出”的性质,这与 BFS “由近及远”的思想是异曲同工的。 1. 将遍历起始顶点 startVet 加入队列,并开启循环; 2. 在循环的每轮迭代中,弹出队首顶点弹出并记录访问,并将该顶点的所有邻接顶点加入到队列尾部; 3. 循环 2. ,直到所有顶点访问完成后结束; 为了防止重复遍历顶点,我们需要借助一个哈希表 visited 来记录哪些结点已被访问。 # === File:0 码力 | 186 页 | 15.69 MB | 1 年前3 Hello 算法 1.0.0b2 Python版二叉树的层序遍历 算法实现 广度优先遍历一般借助「队列」来实现。队列的规则是“先进先出”,广度优先遍历的规则是”一层层平推“, 两者背后的思想是一致的。 # === File: binary_tree_bfs.py === def level_order(root: TreeNode | None) -> list[int]: """ 层序遍历 """ # 初始化队列,加入根结点 queue: deque[TreeNode] Search」,简称为 BFS 和 DFS 。 9. 图 hello‑algo.com 138 9.3.1. 广度优先遍历 广度优先遍历优是一种由近及远的遍历方式,从距离最近的顶点开始访问,并一层层向外扩张。具体地,从某 个顶点出发,先遍历该顶点的所有邻接顶点,随后遍历下个顶点的所有邻接顶点,以此类推⋯⋯ Figure 9‑9. 图的广度优先遍历 算法实现 BFS 常借助「队列」来实现。队列具有“先入先出”的性质,这与 常借助「队列」来实现。队列具有“先入先出”的性质,这与 BFS “由近及远”的思想是异曲同工的。 1. 将遍历起始顶点 startVet 加入队列,并开启循环; 2. 在循环的每轮迭代中,弹出队首顶点弹出并记录访问,并将该顶点的所有邻接顶点加入到队列尾部; 3. 循环 2. ,直到所有顶点访问完成后结束; 为了防止重复遍历顶点,我们需要借助一个哈希表 visited 来记录哪些结点已被访问。 # === File:0 码力 | 186 页 | 15.69 MB | 1 年前3
 Hello 算法 1.0.0b4 Python版广度优先遍历通常借助「队列」来实现。队列遵循“先进先出”的规则,而广度优先遍历则遵循“逐层推进” 的规则,两者背后的思想是一致的。 7. 树 hello‑algo.com 113 # === File: binary_tree_bfs.py === def level_order(root: TreeNode | None) -> list[int]: """ 层序遍历""" # 初始化队列,加入根节点 queue: deque[TreeNode] Search」,简称 BFS 和 DFS。 9.3.1. 广度优先遍历 广度优先遍历是一种由近及远的遍历方式,从距离最近的顶点开始访问,并一层层向外扩张。具体来说,从 某个顶点出发,先遍历该顶点的所有邻接顶点,然后遍历下一个顶点的所有邻接顶点,以此类推,直至所有 顶点访问完毕。 9. 图 hello‑algo.com 166 Figure 9‑9. 图的广度优先遍历 算法实现 BFS 通常借助 通常借助「队列」来实现。队列具有“先入先出”的性质,这与 BFS 的“由近及远”的思想异曲同工。 1. 将遍历起始顶点 startVet 加入队列,并开启循环。 2. 在循环的每轮迭代中,弹出队首顶点并记录访问,然后将该顶点的所有邻接顶点加入到队列尾部。 3. 循环步骤 2. ,直到所有顶点被访问完成后结束。 为了防止重复遍历顶点,我们需要借助一个哈希表 visited 来记录哪些节点已被访问。0 码力 | 329 页 | 27.34 MB | 1 年前3 Hello 算法 1.0.0b4 Python版广度优先遍历通常借助「队列」来实现。队列遵循“先进先出”的规则,而广度优先遍历则遵循“逐层推进” 的规则,两者背后的思想是一致的。 7. 树 hello‑algo.com 113 # === File: binary_tree_bfs.py === def level_order(root: TreeNode | None) -> list[int]: """ 层序遍历""" # 初始化队列,加入根节点 queue: deque[TreeNode] Search」,简称 BFS 和 DFS。 9.3.1. 广度优先遍历 广度优先遍历是一种由近及远的遍历方式,从距离最近的顶点开始访问,并一层层向外扩张。具体来说,从 某个顶点出发,先遍历该顶点的所有邻接顶点,然后遍历下一个顶点的所有邻接顶点,以此类推,直至所有 顶点访问完毕。 9. 图 hello‑algo.com 166 Figure 9‑9. 图的广度优先遍历 算法实现 BFS 通常借助 通常借助「队列」来实现。队列具有“先入先出”的性质,这与 BFS 的“由近及远”的思想异曲同工。 1. 将遍历起始顶点 startVet 加入队列,并开启循环。 2. 在循环的每轮迭代中,弹出队首顶点并记录访问,然后将该顶点的所有邻接顶点加入到队列尾部。 3. 循环步骤 2. ,直到所有顶点被访问完成后结束。 为了防止重复遍历顶点,我们需要借助一个哈希表 visited 来记录哪些节点已被访问。0 码力 | 329 页 | 27.34 MB | 1 年前3
 Hello 算法 1.0.0b5 Python版代码实现 广度优先遍历通常借助“队列”来实现。队列遵循“先进先出”的规则,而广度优先遍历则遵循“逐层推进” 的规则,两者背后的思想是一致的。 # === File: binary_tree_bfs.py === def level_order(root: TreeNode | None) -> list[int]: """ 层序遍历""" # 初始化队列,加入根节点 queue: deque[TreeNode] traversal」和「深度优先遍历 depth‑first traversal」。它们也常被称为「广度优先搜索 breadth‑first search」 和「深度优先搜索 depth‑first search」,简称 BFS 和 DFS 。 9.3.1 广度优先遍历 广度优先遍历是一种由近及远的遍历方式,从某个节点出发,始终优先访问距离最近的顶点,并一层层向外 扩张。如图 9‑9 所示,从左上角顶点出发,先遍历该 顶点的所有邻接 顶点,以此类推,直至所有顶点访问完毕。 第 9 章 图 hello‑algo.com 187 图 9‑9 图的广度优先遍历 1. 算法实现 BFS 通常借助队列来实现。队列具有“先入先出”的性质,这与 BFS 的“由近及远”的思想异曲同工。 1. 将遍历起始顶点 startVet 加入队列,并开启循环。 2. 在循环的每轮迭代中,弹出队首顶点并记录访问,然后将该顶点的所有邻接顶点加入到队列尾部。0 码力 | 361 页 | 30.64 MB | 1 年前3 Hello 算法 1.0.0b5 Python版代码实现 广度优先遍历通常借助“队列”来实现。队列遵循“先进先出”的规则,而广度优先遍历则遵循“逐层推进” 的规则,两者背后的思想是一致的。 # === File: binary_tree_bfs.py === def level_order(root: TreeNode | None) -> list[int]: """ 层序遍历""" # 初始化队列,加入根节点 queue: deque[TreeNode] traversal」和「深度优先遍历 depth‑first traversal」。它们也常被称为「广度优先搜索 breadth‑first search」 和「深度优先搜索 depth‑first search」,简称 BFS 和 DFS 。 9.3.1 广度优先遍历 广度优先遍历是一种由近及远的遍历方式,从某个节点出发,始终优先访问距离最近的顶点,并一层层向外 扩张。如图 9‑9 所示,从左上角顶点出发,先遍历该 顶点的所有邻接 顶点,以此类推,直至所有顶点访问完毕。 第 9 章 图 hello‑algo.com 187 图 9‑9 图的广度优先遍历 1. 算法实现 BFS 通常借助队列来实现。队列具有“先入先出”的性质,这与 BFS 的“由近及远”的思想异曲同工。 1. 将遍历起始顶点 startVet 加入队列,并开启循环。 2. 在循环的每轮迭代中,弹出队首顶点并记录访问,然后将该顶点的所有邻接顶点加入到队列尾部。0 码力 | 361 页 | 30.64 MB | 1 年前3
 Hello 算法 1.1.0 Python版eadth‑first search, BFS), 它体现了一种“一圈一圈向外扩展”的逐层遍历方式。 图 7‑9 二叉树的层序遍历 1. 代码实现 广度优先遍历通常借助“队列”来实现。队列遵循“先进先出”的规则,而广度优先遍历则遵循“逐层推进” 的规则,两者背后的思想是一致的。实现代码如下: # === File: binary_tree_bfs.py === def level_order(root: 有邻 接顶点,以此类推,直至所有顶点访问完毕。 第 9 章 图 hello‑algo.com 189 图 9‑9 图的广度优先遍历 1. 算法实现 BFS 通常借助队列来实现,代码如下所示。队列具有“先入先出”的性质,这与 BFS 的“由近及远”的思想 异曲同工。 1. 将遍历起始顶点 startVet 加入队列,并开启循环。 2. 在循环的每轮迭代中,弹出队首顶点并记录访问,然后将该顶点的所有邻接顶点加入到队列尾部。 循环步骤 2. ,直到所有顶点被访问完毕后结束。 为了防止重复遍历顶点,我们需要借助一个哈希表 visited 来记录哪些节点已被访问。 # === File: graph_bfs.py === def graph_bfs(graph: GraphAdjList, start_vet: Vertex) -> list[Vertex]: """ 广度优先遍历""" # 使用邻接表来表示图,以便获取指定顶点的所有邻接顶点0 码力 | 364 页 | 18.42 MB | 1 年前3 Hello 算法 1.1.0 Python版eadth‑first search, BFS), 它体现了一种“一圈一圈向外扩展”的逐层遍历方式。 图 7‑9 二叉树的层序遍历 1. 代码实现 广度优先遍历通常借助“队列”来实现。队列遵循“先进先出”的规则,而广度优先遍历则遵循“逐层推进” 的规则,两者背后的思想是一致的。实现代码如下: # === File: binary_tree_bfs.py === def level_order(root: 有邻 接顶点,以此类推,直至所有顶点访问完毕。 第 9 章 图 hello‑algo.com 189 图 9‑9 图的广度优先遍历 1. 算法实现 BFS 通常借助队列来实现,代码如下所示。队列具有“先入先出”的性质,这与 BFS 的“由近及远”的思想 异曲同工。 1. 将遍历起始顶点 startVet 加入队列,并开启循环。 2. 在循环的每轮迭代中,弹出队首顶点并记录访问,然后将该顶点的所有邻接顶点加入到队列尾部。 循环步骤 2. ,直到所有顶点被访问完毕后结束。 为了防止重复遍历顶点,我们需要借助一个哈希表 visited 来记录哪些节点已被访问。 # === File: graph_bfs.py === def graph_bfs(graph: GraphAdjList, start_vet: Vertex) -> list[Vertex]: """ 广度优先遍历""" # 使用邻接表来表示图,以便获取指定顶点的所有邻接顶点0 码力 | 364 页 | 18.42 MB | 1 年前3
 Hello 算法 1.0.0 Python版breadth‑first search, BFS」,它体现了一种“一圈一圈向外扩展”的逐层遍历方式。 图 7‑9 二叉树的层序遍历 1. 代码实现 广度优先遍历通常借助“队列”来实现。队列遵循“先进先出”的规则,而广度优先遍历则遵循“逐层推进” 的规则,两者背后的思想是一致的。实现代码如下: # === File: binary_tree_bfs.py === def level_order(root: 所示,从左上角顶点出发,首先遍历该顶点的所有邻接顶点,然后遍历下一个顶点的所有邻 接顶点,以此类推,直至所有顶点访问完毕。 图 9‑9 图的广度优先遍历 1. 算法实现 BFS 通常借助队列来实现,代码如下所示。队列具有“先入先出”的性质,这与 BFS 的“由近及远”的思想 异曲同工。 第 9 章 图 hello‑algo.com 190 1. 将遍历起始顶点 startVet 加入队列,并开启循环。 循环步骤 2. ,直到所有顶点被访问完毕后结束。 为了防止重复遍历顶点,我们需要借助一个哈希表 visited 来记录哪些节点已被访问。 # === File: graph_bfs.py === def graph_bfs(graph: GraphAdjList, start_vet: Vertex) -> list[Vertex]: """ 广度优先遍历""" # 使用邻接表来表示图,以便获取指定顶点的所有邻接顶点0 码力 | 362 页 | 17.54 MB | 1 年前3 Hello 算法 1.0.0 Python版breadth‑first search, BFS」,它体现了一种“一圈一圈向外扩展”的逐层遍历方式。 图 7‑9 二叉树的层序遍历 1. 代码实现 广度优先遍历通常借助“队列”来实现。队列遵循“先进先出”的规则,而广度优先遍历则遵循“逐层推进” 的规则,两者背后的思想是一致的。实现代码如下: # === File: binary_tree_bfs.py === def level_order(root: 所示,从左上角顶点出发,首先遍历该顶点的所有邻接顶点,然后遍历下一个顶点的所有邻 接顶点,以此类推,直至所有顶点访问完毕。 图 9‑9 图的广度优先遍历 1. 算法实现 BFS 通常借助队列来实现,代码如下所示。队列具有“先入先出”的性质,这与 BFS 的“由近及远”的思想 异曲同工。 第 9 章 图 hello‑algo.com 190 1. 将遍历起始顶点 startVet 加入队列,并开启循环。 循环步骤 2. ,直到所有顶点被访问完毕后结束。 为了防止重复遍历顶点,我们需要借助一个哈希表 visited 来记录哪些节点已被访问。 # === File: graph_bfs.py === def graph_bfs(graph: GraphAdjList, start_vet: Vertex) -> list[Vertex]: """ 广度优先遍历""" # 使用邻接表来表示图,以便获取指定顶点的所有邻接顶点0 码力 | 362 页 | 17.54 MB | 1 年前3
 Hello 算法 1.2.0 简体中文 Python 版eadth‑first search, BFS), 它体现了一种“一圈一圈向外扩展”的逐层遍历方式。 图 7‑9 二叉树的层序遍历 1. 代码实现 广度优先遍历通常借助“队列”来实现。队列遵循“先进先出”的规则,而广度优先遍历则遵循“逐层推进” 的规则,两者背后的思想是一致的。实现代码如下: # === File: binary_tree_bfs.py === def level_order(root: 接顶点,以此类推,直至所有顶点访问完毕。 第 9 章 图 www.hello‑algo.com 189 图 9‑9 图的广度优先遍历 1. 算法实现 BFS 通常借助队列来实现,代码如下所示。队列具有“先入先出”的性质,这与 BFS 的“由近及远”的思想 异曲同工。 1. 将遍历起始顶点 startVet 加入队列,并开启循环。 2. 在循环的每轮迭代中,弹出队首顶点并记录访问,然后将该顶点的所有邻接顶点加入到队列尾部。 value 的哈希表,它可以在 ?(1) 时间复杂度下进行 key 的增删查改操作。根据 key 的唯一性,哈希集合通常用于数据去重等场景。 # === File: graph_bfs.py === def graph_bfs(graph: GraphAdjList, start_vet: Vertex) -> list[Vertex]: """ 广度优先遍历""" # 使用邻接表来表示图,以便获取指定顶点的所有邻接顶点0 码力 | 364 页 | 18.43 MB | 10 月前3 Hello 算法 1.2.0 简体中文 Python 版eadth‑first search, BFS), 它体现了一种“一圈一圈向外扩展”的逐层遍历方式。 图 7‑9 二叉树的层序遍历 1. 代码实现 广度优先遍历通常借助“队列”来实现。队列遵循“先进先出”的规则,而广度优先遍历则遵循“逐层推进” 的规则,两者背后的思想是一致的。实现代码如下: # === File: binary_tree_bfs.py === def level_order(root: 接顶点,以此类推,直至所有顶点访问完毕。 第 9 章 图 www.hello‑algo.com 189 图 9‑9 图的广度优先遍历 1. 算法实现 BFS 通常借助队列来实现,代码如下所示。队列具有“先入先出”的性质,这与 BFS 的“由近及远”的思想 异曲同工。 1. 将遍历起始顶点 startVet 加入队列,并开启循环。 2. 在循环的每轮迭代中,弹出队首顶点并记录访问,然后将该顶点的所有邻接顶点加入到队列尾部。 value 的哈希表,它可以在 ?(1) 时间复杂度下进行 key 的增删查改操作。根据 key 的唯一性,哈希集合通常用于数据去重等场景。 # === File: graph_bfs.py === def graph_bfs(graph: GraphAdjList, start_vet: Vertex) -> list[Vertex]: """ 广度优先遍历""" # 使用邻接表来表示图,以便获取指定顶点的所有邻接顶点0 码力 | 364 页 | 18.43 MB | 10 月前3
 Hello 算法 1.2.0 繁体中文 Python 版adth‑first search, BFS), 它體現了一種“一圈一圈向外擴展”的逐層走訪方式。 圖 7‑9 二元樹的層序走訪 1. 程式碼實現 廣度優先走訪通常藉助“佇列”來實現。佇列遵循“先進先出”的規則,而廣度優先走訪則遵循“逐層推進” 的規則,兩者背後的思想是一致的。實現程式碼如下: # === File: binary_tree_bfs.py === def level_order(root: 所示,從左上角頂點出發,首先走訪該頂點的所有鄰接頂點,然後走訪下一個頂點的所有鄰 接頂點,以此類推,直至所有頂點訪問完畢。 圖 9‑9 圖的廣度優先走訪 1. 演算法實現 BFS 通常藉助佇列來實現,程式碼如下所示。佇列具有“先入先出”的性質,這與 BFS 的“由近及遠”的思 想異曲同工。 1. 將走訪起始頂點 startVet 加入列列,並開啟迴圈。 2. 在迴圈的每輪迭代中,彈出佇列首頂點並記錄訪問,然 value 的雜湊表,它可以在 ?(1) 時間複雜度下進行 key 的增刪查改操作。根據 key 的唯一性,雜湊集合通常用於資料去重等場景。 # === File: graph_bfs.py === def graph_bfs(graph: GraphAdjList, start_vet: Vertex) -> list[Vertex]: """ 廣度優先走訪""" # 使用鄰接表來表示圖,以便獲取指定頂點的所有鄰接頂點0 码力 | 364 页 | 18.74 MB | 10 月前3 Hello 算法 1.2.0 繁体中文 Python 版adth‑first search, BFS), 它體現了一種“一圈一圈向外擴展”的逐層走訪方式。 圖 7‑9 二元樹的層序走訪 1. 程式碼實現 廣度優先走訪通常藉助“佇列”來實現。佇列遵循“先進先出”的規則,而廣度優先走訪則遵循“逐層推進” 的規則,兩者背後的思想是一致的。實現程式碼如下: # === File: binary_tree_bfs.py === def level_order(root: 所示,從左上角頂點出發,首先走訪該頂點的所有鄰接頂點,然後走訪下一個頂點的所有鄰 接頂點,以此類推,直至所有頂點訪問完畢。 圖 9‑9 圖的廣度優先走訪 1. 演算法實現 BFS 通常藉助佇列來實現,程式碼如下所示。佇列具有“先入先出”的性質,這與 BFS 的“由近及遠”的思 想異曲同工。 1. 將走訪起始頂點 startVet 加入列列,並開啟迴圈。 2. 在迴圈的每輪迭代中,彈出佇列首頂點並記錄訪問,然 value 的雜湊表,它可以在 ?(1) 時間複雜度下進行 key 的增刪查改操作。根據 key 的唯一性,雜湊集合通常用於資料去重等場景。 # === File: graph_bfs.py === def graph_bfs(graph: GraphAdjList, start_vet: Vertex) -> list[Vertex]: """ 廣度優先走訪""" # 使用鄰接表來表示圖,以便獲取指定頂點的所有鄰接頂點0 码力 | 364 页 | 18.74 MB | 10 月前3
 9 盛泳潘 When Knowledge Graph meet Python 代的知识工程与知识管理》  Web 2.0时代,存在大量UGC (User Generated Content) • 提供获得广大用户一致认可的高质量数据源 e.g., Wikipedia,百度百科 • 为自动挖掘知识提供了高质量的数据源 • 为构建抽取模型提供了高质量的样本 Ref: Fei Wu, etc. Autonomously Semantifying Wikipedia 垂直方向的融合(融合较高层通用本体与较低层领域本体或实例数据) • 水平方向的融合(融合相同层次的知识图谱)  知识融合中的关键技术 • 匹配框架(元素级、结构级的匹配) • 实体对齐(e.g., 等价关系合并;互动百科与百度百科中的实体“刘洋”描述的是同一个对象) • 冲突检测与消解(使多个知识图谱形成一致的结果)  典型的知识融合系统  AgreementMaker:一个集成系统,包含了若干自动对齐的方法 0 码力 | 57 页 | 1.98 MB | 1 年前3 9 盛泳潘 When Knowledge Graph meet Python 代的知识工程与知识管理》  Web 2.0时代,存在大量UGC (User Generated Content) • 提供获得广大用户一致认可的高质量数据源 e.g., Wikipedia,百度百科 • 为自动挖掘知识提供了高质量的数据源 • 为构建抽取模型提供了高质量的样本 Ref: Fei Wu, etc. Autonomously Semantifying Wikipedia 垂直方向的融合(融合较高层通用本体与较低层领域本体或实例数据) • 水平方向的融合(融合相同层次的知识图谱)  知识融合中的关键技术 • 匹配框架(元素级、结构级的匹配) • 实体对齐(e.g., 等价关系合并;互动百科与百度百科中的实体“刘洋”描述的是同一个对象) • 冲突检测与消解(使多个知识图谱形成一致的结果)  典型的知识融合系统  AgreementMaker:一个集成系统,包含了若干自动对齐的方法 0 码力 | 57 页 | 1.98 MB | 1 年前3
共 37 条
- 1
- 2
- 3
- 4













