Java数据结构与算法《二十》最小生成树
来源:互联网 发布:易语言天龙八部源码 编辑:程序博客网 时间:2024/06/10 19:29
1.最小生成树连接每个顶点最少的连线 最小生成的树边的数量总是比顶点的数量少1
//顶点类public class Vertex{ private char label; public boolean wasVisited; public Vertex(){ this.label=label; }}//图public class Graph{ //顶点数组 private Vertex[] vertexList; //邻接矩阵 private int[][] adjMat; //当前顶点 private int nVertex; //栈 private MyStack stack; public Graph(){ vertexList = new Vertex[maxSize]; adjMat = new int[maxSize][maxSize]; for(int i=0;i<maxSize;i++){ for(int i=0;j<maxSize;i++){ adjMat[i][j]=0; } } nVertex =0; } //添加顶点 public void addVertex(char label){ vertexList[nVertex++] = new vertexList(label); } //添加边 public void addEdge(int start,int end){ adjMat[start][end] =1; adjMat[end][start]=1; } //获取为访问到的节点 public int getadjUnvisiedVertex(int v){ for(int i=0;i<nVertex;i++){ if(adj[v][i]==1&&vertexList[i].wasVisited==true){ return i; } } return -1; } //显示 public void displayVertex(int v){ System.out.println(vertexList[v].label); } public void mst(){ public void mst() { //首先访问0号顶点 vertexList[0].wasVisited = true; //压入栈中 stack.push(0); while(!stack.isEmpty()) { //当前顶点 int currentVertex = (int)stack.peek(); //获得一个未访问过的邻接点 int v = getadjUnvisitedVertex(currentVertex); if(v == -1) { //弹出一个顶点 stack.pop(); } else { vertexList[v].wasVisited = true; stack.push(v); displayVertex(currentVertex); System.out.print("-"); displayVertex(v); System.out.print(" "); } } //搜索完以后,要将访问信息修改 for(int i = 0; i < nVertex; i++) { vertexList[i].wasVisited = false; } } }}
0 0
- Java数据结构与算法《二十》最小生成树
- 数据结构编程笔记二十:第七章 图 最小生成树算法的实现
- 数据结构与算法002: 最小生成树
- 数据结构与算法-最小生成树—普里姆算法
- java数据结构与算法-图简介、图搜索、图最小生成树
- 【数据结构与算法】图之最小生成树
- 数据结构与算法问题 sdut oj 2144 最小生成树
- 《数据结构与算法》学习笔记29 最小生成树
- 数据结构与算法之带权图的最小生成树
- java数据结构 最小生成树
- 数据结构学习笔记(十)-图的最小生成树与拓扑排序
- 数据结构 最小生成树(普里姆算法)
- 数据结构:最小生成树--Prim算法
- 数据结构:最小生成树--Kruskal算法
- 数据结构--最小生成树(Prim算法)
- 数据结构:最小生成树(Prim算法)
- 数据结构之最小生成树prim算法
- 数据结构之最小生成树 Kruskal算法
- 一次HTTP请求过程
- Java数据结构与算法《十九》图的搜索
- java数据结构和算法
- 【LeetCode】312. Burst Balloons
- 5款优秀的GitHub开源安全工具
- Java数据结构与算法《二十》最小生成树
- vim配置
- Android兼容性测试CTS Verifier-环境搭建、测试执行、结果分析
- BZOJ 3786 星系探索
- 你不可不知的10个Github功能
- 视频破解软件问题反馈http://down.51cto.com/data/2299017
- MySQL (5)事务
- bintray 发布 再入坑
- 1小时开发一个基于RTMP的直播项目