mirror of
https://github.com/krahets/hello-algo.git
synced 2026-07-03 19:25:24 +00:00
772183705e
* Add Russian docs site baseline * Add Russian localized codebase * Polish Russian code wording * Update ru code translation. * Update code translation and chapter covers. * Fix pythontutor extraction. * Add README and landing page. * placeholder of profiles * Use figures of English version * Remove chapter paperbook
44 lines
1.5 KiB
Go
44 lines
1.5 KiB
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()
|
|
}
|