mirror of
				https://github.com/krahets/hello-algo.git
				synced 2025-11-04 14:18:20 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			44 lines
		
	
	
		
			1009 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			1009 B
		
	
	
	
		
			Go
		
	
	
	
	
	
// File: graph_adjacency_matrix_test.go
 | 
						||
// Created Time: 2023-01-31
 | 
						||
// Author: Reanon (793584285@qq.com)
 | 
						||
 | 
						||
package chapter_graph
 | 
						||
 | 
						||
import (
 | 
						||
	"fmt"
 | 
						||
	"testing"
 | 
						||
)
 | 
						||
 | 
						||
func TestGraphAdjMat(t *testing.T) {
 | 
						||
	/* 初始化无向图 */
 | 
						||
	// 请注意,edges 元素代表顶点索引,即对应 vertices 元素索引
 | 
						||
	vertices := []int{1, 3, 2, 5, 4}
 | 
						||
	edges := [][]int{{0, 1}, {1, 2}, {2, 3}, {0, 3}, {2, 4}, {3, 4}}
 | 
						||
	graph := newGraphAdjMat(vertices, edges)
 | 
						||
	fmt.Println("初始化后,图为:")
 | 
						||
	graph.print()
 | 
						||
 | 
						||
	/* 添加边 */
 | 
						||
	// 顶点 1, 2 的索引分别为 0, 2
 | 
						||
	graph.addEdge(0, 2)
 | 
						||
	fmt.Println("添加边 1-2 后,图为")
 | 
						||
	graph.print()
 | 
						||
 | 
						||
	/* 删除边 */
 | 
						||
	// 顶点 1, 3 的索引分别为 0, 1
 | 
						||
	graph.removeEdge(0, 1)
 | 
						||
	fmt.Println("删除边 1-3 后,图为")
 | 
						||
	graph.print()
 | 
						||
 | 
						||
	/* 添加顶点 */
 | 
						||
	graph.addVertex(6)
 | 
						||
	fmt.Println("添加顶点 6 后,图为")
 | 
						||
	graph.print()
 | 
						||
 | 
						||
	/* 删除顶点 */
 | 
						||
	// 顶点 3 的索引为 1
 | 
						||
	graph.removeVertex(1)
 | 
						||
	fmt.Println("删除顶点 3 后,图为")
 | 
						||
	graph.print()
 | 
						||
}
 |