当前位置: 首页 > news >正文

专业做网站流程舆情监控都有哪些内容

专业做网站流程,舆情监控都有哪些内容,wordpress分类访问权限,学校门户网站建设的意义前言 有向无环图(Directed Graph)是在有向图的基础上,增加无环的检查。 实现原理 使用邻接表表示法实现有向图相对简单明了,步骤也相对简单。 1:首先创建有向图 2.创建顶点 3.顶点间创建边 4.创建边的过程中检查节点是否存…

前言

有向无环图(Directed Graph)是在有向图的基础上,增加无环的检查。

实现原理

使用邻接表表示法实现有向图相对简单明了,步骤也相对简单。

1:首先创建有向图

2.创建顶点

3.顶点间创建边

4.创建边的过程中检查节点是否存在环,每个节点的检查采用递归。

具体代码实现

package test13;import java.util.*;public class DAG {private Map<Vertex, List<Vertex>> adjacencyList;public DAG() {this.adjacencyList = new HashMap<>();}// 添加顶点public void addVertex(String label) {adjacencyList.putIfAbsent(new Vertex(label), new ArrayList<>());}// 添加边并检查是否会形成环public boolean addEdge(String sourceLabel, String destinationLabel) {Vertex source = new Vertex(sourceLabel);Vertex destination = new Vertex(destinationLabel);if (!adjacencyList.containsKey(source) || !adjacencyList.containsKey(destination)) {throw new IllegalArgumentException("顶点不存在");}adjacencyList.get(source).add(destination);// 检查是否形成环if (hasCycle()) {adjacencyList.get(source).remove(destination);return false;}return true;}// 深度优先搜索检查环private boolean hasCycle() {Set<Vertex> visited = new HashSet<>();Set<Vertex> recursionStack = new HashSet<>();for (Vertex vertex : adjacencyList.keySet()) {if (hasCycleUtil(vertex, visited, recursionStack)) {return true;}}return false;}private boolean hasCycleUtil(Vertex vertex, Set<Vertex> visited, Set<Vertex> recursionStack) {if (recursionStack.contains(vertex)) {return true;}if (visited.contains(vertex)) {return false;}visited.add(vertex);recursionStack.add(vertex);for (Vertex neighbor : adjacencyList.get(vertex)) {if (hasCycleUtil(neighbor, visited, recursionStack)) {return true;}}recursionStack.remove(vertex);return false;}// 拓扑排序public List<Vertex> topologicalSort() {Set<Vertex> visited = new HashSet<>();Stack<Vertex> stack = new Stack<>();for (Vertex vertex : adjacencyList.keySet()) {if (!visited.contains(vertex)) {topologicalSortUtil(vertex, visited, stack);}}List<Vertex> sortedList = new ArrayList<>();while (!stack.isEmpty()) {sortedList.add(stack.pop());}return sortedList;}private void topologicalSortUtil(Vertex vertex, Set<Vertex> visited, Stack<Vertex> stack) {visited.add(vertex);for (Vertex neighbor : adjacencyList.get(vertex)) {if (!visited.contains(neighbor)) {topologicalSortUtil(neighbor, visited, stack);}}stack.push(vertex);}// 打印图的顶点和边public void printGraph() {for (Map.Entry<Vertex, List<Vertex>> entry : adjacencyList.entrySet()) {System.out.print(entry.getKey() + " -> ");for (Vertex vertex : entry.getValue()) {System.out.print(vertex + " ");}System.out.println();}}public static void main(String[] args) {DAG graph = new DAG();graph.addVertex("A");graph.addVertex("B");graph.addVertex("C");graph.addVertex("D");graph.addEdge("A", "B");graph.addEdge("A", "C");graph.addEdge("B", "D");graph.addEdge("C", "D");graph.addEdge("B", "A");System.out.println("图的顶点和边:");graph.printGraph();System.out.println("\n拓扑排序:");List<Vertex> sortedList = graph.topologicalSort();for (Vertex vertex : sortedList) {System.out.print(vertex + " ");}}
}

QA:待定

http://www.yayakq.cn/news/947353/

相关文章:

  • 制作网站源码公司页面网站设计模板
  • 怎么自己做网站的步骤html评论页面模板
  • 毅冰做外贸是哪个网站iosapp开发用什么语言
  • 网站建设发好处闸北集团网站建设
  • 嘉兴海盐县城乡建设局网站网站建设 任务分配表
  • 皮具制品 东莞网站建设wordpress企业建
  • 搜索引擎网站入口最好用的搜索引擎
  • 外贸网站建设推广培训市场调研报告怎么做
  • 建行网站企业网银wordpress 快递查询 插件
  • 阜阳市建设工程网站营销培训心得体会
  • 网站建设维护更新wordpress 点评类网站
  • 网站视频链接怎么做的湖南天辰建设责任公司网站
  • 无锡手机网站制作费用嘉兴 网站制作
  • 中小企业建站排名微商营销宝最新版
  • 网站建设 有聊天工具的吗家谱网站的首页怎么做
  • 网站建设公司ttmwlwordpress置顶文章
  • 百度提交网站的入口地址汕头怎么进行关键词优化
  • 网站正在建设中怎么办wordpress分页伪静态
  • 东莞网站建设模具做行业网站投入
  • 网站版面的图文是怎么做的长沙seo排名优化公司
  • 吉林网站推广公司如何创新网站建设模式
  • 平台网站设计wordpress阿里百秀5.4
  • 天门网站设计WordPress在线课堂
  • 英文网站建设 深圳开发公司组织架构及岗位职责
  • php网站开发有什么优点河南省建设厅陈华平官方网站
  • 网站开发使用什么软件建设部四库一平台查询网站
  • 未备案网站通知微商软文范例大全100
  • 学校网站建设解决方案wordpress已运行时间
  • 赞皇建站建设电商网站建设需要
  • 利用js做网站触屏手机网站建设