继续创造,加速成长!这是我参加「日新计划 6 月更文应战」的第14天,点击查看活动详情

树形结构

树形结构gtree具有以下特色:

  1. 支撑排序,支撑有序遍历
  2. 内存占用低
  3. 复杂工龄差一年工资差多少度安稳算法复杂度
  4. 适合大数据量存储

一图胜千言

GoFrame gtree 运用入门 | 养成读源码的好习惯

查询源码

GoFrame gtree 运用入门 | 养成读源码的好习惯

运用场景

  1. 大数据修仙联数组场景
  2. 大数据量内存CRUD
  3. 排序键值对(后面的示大数据是干什么的例就是前序遍历和后序遍历)

运用入门

咱们以实例化红劳动复杂度黑树为例(实例化B树、高度平衡树也是相同的办法)

常用办法

Set()大数据与会计专业 赋值

Keys圈复杂度() 取得键列表

Vgithub直播渠道永久回家al大数据技术与应用大数据修仙ues() 取得值列表

Contains() 判别是否包含指定的key

t.Pr实例化和初始化的区别int() 能够直接打印树形结构

也能够通过惯例办法打印工龄越长退休金越多吗树形结构:fmt.Println(t.String())

Iterator() 相关的办法进行树的遍历

Clear() 清空数

IsEmpty() 判别数github中文社区是否大数据查询为空

示例代码

package main
import (
   "fmt"
   "github.com/gogf/gf/container/gtree"
   "github.com/gogf/gf/util/gutil"
)
func main() {
   //实例化tree
   t := gtree.NewRedBlackTree(gutil.ComparatorInt)
   t.Set(-1, -1)
   for i := 0; i < 10; i++ {
      t.Set(i, i*10)
   }
   fmt.Println("键列表:", t.Keys())
   fmt.Println("值列表:", t.Values())
   // 查询是否包含
   fmt.Println(t.Contains(-1))
   fmt.Println("下面是运用t.Print()打印的树形结构:")
   t.Print() //打印出树形结构
   fmt.Println("下面是运用fmt.Println(t.String())打印的树形结构:")
   fmt.Println(t.String()) //和上面相同 也是打印出了树形结构
   t.IteratorDesc(func(key, value interface{}) bool {
      fmt.Println("倒序遍历:", key, value)
      return true
   })
   t.Clear()
   fmt.Println(t.IsEmpty()) //true
}

打印成果

GoFrame gtree 运用入门 | 养成读源码的好习惯

技巧

最近几github官网登陆入口github直播平台永久回家文章都提到了数据类型的排序,GoFrame实例化和初始化的区别提供的gutil提实例化servlet类异常供了基本数据类型常用的比较办法。

(因为今实例化和初始化的区别天上午读了一篇阅览源码的文章,深受启发,所以自己也要多多读读源码了,看下大佬们是怎么写的代码的。)

GoFrame gtree 运用入门 | 养成读源码的好习惯

最后

感谢阅览,github是什么欢迎我们三连大数据查询:点赞、保藏、实例化是什么意思(关注)!!!

GoFrame gtree 运用入门 | 养成读源码的好习惯