草庐IT

递归方程

全部标签

algorithm - 递归旅行推销员喜欢在 go 中计算

我有一个函数有点类似于我试图递归的旅行商问题。我认为它正在工作,但我在让附加功能在大型数据集上正常工作时遇到了一些麻烦。这就是我所拥有的……main应该写成递归的,这样我就可以调用可变数量的递归……https://play.golang.org/p/Lz8arHybFrpackagemaintypeFoostruct{StartPointstringEndPointstringdistanceint}func(f*Foo)Connects(endFoo*Foo)bool{returnf.EndPoint==endFoo.StartPoint}func(f*Foo)Completes(e

go - 同步 worker 以进行递归抓取

我想用n个worker实现一个“爬虫”,每个worker都可以添加额外的工作。当没有剩下的工作并且所有worker都完成了工作时,程序应该停止。我有以下代码(您可以在https://play.golang.org/p/_j22p_OfYv中使用它):packagemainimport("fmt""sync")funcmain(){pathChan:=make(chanstring)fileChan:=make(chanstring)workers:=3varwgsync.WaitGrouppaths:=map[string][]string{"/":{"/test","/foo","a

recursion - 在 Go 中拥有带递归的 len 函数

我正在尝试构建简单的函数来计算slice中的元素(如len)它必须简单(没有额外的库)并且具有递归。问题是当我尝试检查slice是否为空(为nul)时。packagemainimport"fmt"funcmain(){x:=[]int{1,2,3}fmt.Println(len2(x))}funclen2(s[]int)int{ifs==nil{return0}return1+len2(s[1:])}本例中的结果应该是“3”。如果s==nil就坏了:panic:runtimeerror:sliceboundsoutofrange 最佳答案

GORM 递归预加载

通过Postgrespq驱动程序使用Go1.10和CockroachDB。我有一个看起来像这样的GORM模型:typeUserstruct{IDstring`gorm:"type:UUID;primary_key;NOT_NULL"`UserNamestring...EnclosedUsers[]User`gorm:"many2many:enclosed_user;jointable_foreignkey:parent_id;association_jointable_foreignkey:child_id"`}ecnlosed_user在哪里(具体定义是因为原因:))typeEncl

go - 在 Go 中用递归练习 "Naked Returns"。我的ELSE语句中的return语句不正确吗?

尝试一个简单的递归函数,它接受一个数字,以某种方式拆分它,并且只有在拆分后的数字彼此相等时才应该返回它。packagemainimport"fmt"funcsplit(sumint)(x,yint){x=sum*4/9y=sum-xify==x||sum>200{return}else{split(sum+1)return}}funcmain(){fmt.Println(split(10))}fmt.Println(split(10))的输出是4和6,这是不正确的,因为它们彼此不相等。这是由于我的ELSE语句末尾的return语句吗?我有JAVA背景,所以我认为那条线永远不会被击中。

json - 如何在 Go 中构建结构的递归 slice ?

我需要从一段字符串创建一个JSON负载。它们代表单个文件的路径。它们需要合并到代表整个目录结构的最终JSON负载中。如果字符串如下:["alpha/file1.json""alpha/beta/file2.json""alpha/beta/charlie/file3.json""alpha/beta/charlie/file4.json""delta/file5.json]JSON负载结构目录结构应包含名称,以及子项和/或文件。children将代表另一个目录结构及其自己的文件Files表示目录中的文件JSON负载是这样的:[{"Name":"alpha","Files":[{"Nam

Golang go-pg关系递归查询

我需要递归加入,像这样:SELECTa.*,b.*c.*FROMaLEFTJOINbonb.id=a.b_idLEFTJOINcONc.id=b.c_id我的模型定义是:typeAstruct{IDint,NameAstring,B_idintB*B,C*C,}typeBstruct{IDint,C_idint,NameBstring,CC,}typeCstruct{IDint,NameCstring,}我尝试使用关系但没有用:a:=A{}//doesnotworkdb.Model(&a).Relation("B").Relation("C").First()//worksdb.Mod

mysql - 避免循环 - 递归 m2m 关系自引用

这不是关于golang或mysql的问题,它更像是一个一般性问题。希望我仍然在正确的地方,有人可以帮助我解决这个问题。我有一个结构Role,它可以有多个子角色。typeRolestruct{NamestringChildren[]Role}假设角色A有一个子角色B,角色B有一个子角色C。在我的前端,m2m关系显示为多选HTML字段。为避免无限循环(A-B-C-A...),我希望用户无法输入相关角色之一。例如,角色C不应显示角色A和B,因为如果用户选择它们,则会发生无限循环。后台的数据库是这样的:角色表(主表)身份证,姓名,...role_roles(联结表)role_id,child_

go - 使用递归函数迭代递归结构

我有以下结构typeSitemapstruct{XMLNamexml.Name`xml:"urlset"`Namespacestring`xml:"xmlns,attr"`Schemastring`xml:"xmlns:xsi,attr"`SchemaLocationstring`xml:"xsi:schemaLocation,attr"`Root*URLItem}typeURLItemstruct{XMLNamexml.Name`xml:"url"`Locstring`xml:"loc"`LastModstring`xml:"lastmod,omitempty"`Urls[]*URL

algorithm - 递归创建嵌套结构

我有以下格式的结构typeNodestruct{IdstringChildren[]*Node}输入我有以下输入varnestedSlice=[][]string{{"60566","605","6056"},{"60566","605","6061"},{"60566","605","6065"},{"60653","606","6109"},{"60566","603","6065"},}代码packagemainimport(//"fmt""github.com/davecgh/go-spew/spew")typeNodestruct{IdstringTypestringChil