В интернете очень много примеров про построение бинарных деревьев и работу с ними, но найти внятное объяснение работы с не бинарными деревьями я найти не смог, возможно потому что особой разницы нет. Но я не до конца понимаю принцип работы.
Мне нужно реализовать дерево поиска определенной категории в YML файле, в зависимости от выбранного уровня, если 0 уровень — это сайт, 1— уровень категории без родителей, 2 - уровень все категории у которых родитель - тот, кто находится в вершинах 1го уровня.
Структура YML
type Yml struct {
XMLName xml.Name `xml:"yml_catalog"`
Date string `xml:"date,attr"`
Shop []Shop `xml:"shop"`
}
type Shop struct {
Name string `xml:"name"`
Company string `xml:"company"`
URL string `xml:"url"`
Categories []Category `xml:"categories>category"`
Offers []Offer `xml:"offers>offer"`
}
type Category struct {
ID int `xml:"id,attr"`
ParentID int `xml:"parentId,attr"`
Category string `xml:",chardata"`
}