graph-builder

Форк
0
/
graph.go 
25 строк · 818.0 Байт
1
package graph
2

3
// T  comparable - имя ноды может быть только типом, поддерживающим операции сравнения
4
type Node[T comparable] struct {
5
	Name  T
6
	Mark  byte
7
	Power int
8
}
9

10
// AbstractGraph Абстрактное представление графа. Информация хранится в GData, граф задан списком смежности в виде отображения (map) вершин. Вершины заданы структурами Node.
11
type AbstractGraph[T comparable] struct {
12
	Graph    map[*Node[T]]map[*Node[T]]int
13
	Vertexes []*Node[T]
14
}
15

16
// AdjacencyMatrix матрица смежности.
17
type AdjacencyMatrix struct {
18
	matrix [][]int
19
}
20

21
func (g *AbstractGraph[T]) Unmark() {
22
	for _, v := range g.Vertexes {
23
		v.Mark = 0
24
	}
25
}
26

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.