免费的网站制作,郑州中森网站建设,wordpress php教程 pdf,科技部政服务服平台1.图的基础知识
该图片来自于#xff1a; https://b23.tv/KHCF2m6
2.稀疏图与稠密图
G(V,E)#xff1a;V顶点个数#xff0c;E边的个数
稀疏图#xff1a;EV 一般用邻接表表示(数组链表)
稠密图#xff1a;E接近V 一般用邻接矩阵表示#xf…1.图的基础知识
该图片来自于 https://b23.tv/KHCF2m6
2.稀疏图与稠密图
G(V,E)V顶点个数E边的个数
稀疏图EV² 一般用邻接表表示(数组链表)
稠密图E接近V² 一般用邻接矩阵表示二维数组
3.图的两种表示
邻接表法
class Graph {int[][] matrix;int size;public Graph(int size) {this.size size;matrix new int[size][size];}public void addEdge(int from, int to) {matrix[from][to] 1;matrix[to][from] 1; // 如果是无向图需要加上这一行}public void printGraph() {for (int i 0; i matrix.length; i) {for (int j 0; j matrix[i].length; j) {System.out.print(matrix[i][j] );}System.out.println();}}public static void main(String[] args) {Graph graph new Graph(5);graph.addEdge(0, 1);graph.addEdge(0, 2);graph.addEdge(0, 3);graph.addEdge(0, 4);graph.addEdge(1, 2);graph.addEdge(1, 3);graph.addEdge(1, 4);graph.addEdge(2, 3);graph.addEdge(2, 4);graph.addEdge(3, 4);graph.printGraph();} 邻接矩阵法
public class Graph2 {int V; //图的顶点个数LinkedListInteger adjListArray[];//数组链表数组位置存储的是链表链表里的元素是IntegerGraph2(int V) {this.V V;adjListArray new LinkedList[V];for (int i 0; i V; i) {adjListArray[i] new LinkedList();}}void addEdge(int src, int dest) {//添加边adjListArray[src].add(dest);adjListArray[dest].add(src); // 如果是无向图需要加上这一行}void printGraph() {for (int v 0; v V; v) {System.out.println(Adjacency list of vertex v);System.out.print(head);for (Integer pCrawl : adjListArray[v]) {System.out.print( - pCrawl);}System.out.println(\n);}}public static void main(String[] args) {Graph2 graph2 new Graph2(5);System.out.println(顶点个数为graph2.V);graph2.addEdge(0, 1);graph2.addEdge(0, 2);graph2.addEdge(0, 3);graph2.addEdge(0, 4);graph2.addEdge(1, 2);graph2.addEdge(1, 3);graph2.addEdge(1, 4);graph2.addEdge(2, 3);graph2.addEdge(2, 4);graph2.addEdge(3, 4);graph2.printGraph();}
}