mirror of
				https://github.com/krahets/hello-algo.git
				synced 2025-11-04 06:07:20 +08:00 
			
		
		
		
	* Revised the book * Update the book with the second revised edition * Revise base on the manuscript of the first edition
		
			
				
	
	
		
			30 lines
		
	
	
		
			809 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			809 B
		
	
	
	
		
			Go
		
	
	
	
	
	
// File: graph_bfs_test.go
 | 
						||
// Created Time: 2023-02-18
 | 
						||
// Author: Reanon (793584285@qq.com)
 | 
						||
 | 
						||
package chapter_graph
 | 
						||
 | 
						||
import (
 | 
						||
	"fmt"
 | 
						||
	"testing"
 | 
						||
 | 
						||
	. "github.com/krahets/hello-algo/pkg"
 | 
						||
)
 | 
						||
 | 
						||
func TestGraphBFS(t *testing.T) {
 | 
						||
	/* 初始化无向图 */
 | 
						||
	vets := ValsToVets([]int{0, 1, 2, 3, 4, 5, 6, 7, 8, 9})
 | 
						||
	edges := [][]Vertex{
 | 
						||
		{vets[0], vets[1]}, {vets[0], vets[3]}, {vets[1], vets[2]}, {vets[1], vets[4]},
 | 
						||
		{vets[2], vets[5]}, {vets[3], vets[4]}, {vets[3], vets[6]}, {vets[4], vets[5]},
 | 
						||
		{vets[4], vets[7]}, {vets[5], vets[8]}, {vets[6], vets[7]}, {vets[7], vets[8]}}
 | 
						||
	graph := newGraphAdjList(edges)
 | 
						||
	fmt.Println("初始化后,图为:")
 | 
						||
	graph.print()
 | 
						||
 | 
						||
	/* 广度优先遍历 */
 | 
						||
	res := graphBFS(graph, vets[0])
 | 
						||
	fmt.Println("广度优先遍历(BFS)顶点序列为:")
 | 
						||
	PrintSlice(VetsToVals(res))
 | 
						||
}
 |