/gosruta

gosruta is package structur data build with Go language(Go).

Primary LanguageGo

Structur data

How to install

github.com/didikprabowo/structur-data

Features

- Binary Search Tree

Binary Search Tree

API reference

  • Insert(v float64)
  • Get() *Tree
  • BulkInsert([]float64)
  • Find(value float64) (node *Node, err error)
  • Min() *Node
  • Max() *Node
  • Delete(value float64)

Example

package main

import (
	"encoding/json"
	"fmt"
	"log"

	"github.com/didikprabowo/structur-data/bts"
)
func main() {
    var t bts.Tree

	ExampleData := []int{5, 3, 7, 1, 4, 6, 8, 9}

    // Insert data
    {
        for i := range ExampleData {
            t.Insert(float64(ExampleData[i]))
        }
    }
    // Get Tree
    {
        s, err := json.Marshal(t.Get().Root)
        if err != nil {
            log.Print(err)
        }

        fmt.Println(string(s))
    }

    // Delete node
    {
        t.Delete(7)
    }

    // Get Min value
    {
        t.Min()
    }

     // Get Max value
    {
        t.Max()
    }

    // Find 
    {
        g, err := t.Find(7)
        if err != nil {
            panic(err)
        }
        fmt.Println(g)
    }
}