package main
//
//
type Dictonary struct {
Items map[string][]string
}
func (d *Dictonary) Has(k string) bool {
_, ok := d.Items[k]
return ok
}
func (d *Dictonary) Set(k string, v []string) {
d.Items[k] = v
}
func (d *Dictonary) Get(k string) []string {
if v, ok := d.Items[k]; ok {
return v
}
return []string{}
}
func (d *Dictonary) GetItems() map[string][]string {
return d.Items
}
func (d *Dictonary) Keys() []string {
keys := []string{}
for k := range d.Items {
keys = append(keys, k)
}
return keys
}
//
//
type Graph struct {
Vertives []string
AdjList Dictonary
}
func (g *Graph) AddVertex(v string) {
g.Vertives = append(g.Vertives, v)
g.AdjList.Set(v, []string{})
}
func (g *Graph) AddEdge(v, w string) {
}
func (g *Graph) ToString() {
}