ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
![](http://www.rhinostudio.cn/files/course/2019/03-04/22443975c3f8876567.png) ## **Graft Tree** 将现有数据结构中的每个数据再单独成组,会增加一级数据结构。如上图,原来是五组数据,每组数据数量不同,现在也在编程五大组,n小组,每组一个数据。打个比方就是,本来有五个房间,每个房间住着不同数量的人,现在graft之后,给五个房间按照房间内人数划分单间,保证一人一个房间。 Graft的目的,在于给每个数据放到一组内,比如下图,square运算器输出端cells的数据结构为五组,每组三个数据,也就是说有五组矩形,每一组三个矩形,我现在希望这五组矩形每组高度都递增,那我就需要给五组高度值,而不是一组数据五个高度值,这样五组矩形,和五组高度才能一一对应。这时候我们就需要graft,如果不进行graft,那就是五组数据,和一组数据的运算,每一组矩形里的三个矩形都会和五个高度值进行运算,于是每一组的第三个矩形就被重复挤出了两次,因为多出了两个数据,只能和最后一个矩形最后一个数据计算。这就不是我们想要的结果了。 ![](http://www.rhinostudio.cn/files/course/2019/03-05/174003331e1e555820.png) ![](http://www.rhinostudio.cn/files/course/2019/03-05/17404199a54e034070.png) 诸如此类,graft是一个挺常用的运算器,我们graft的目的就是方便发想要的数据放到一组内,因为运算器运算的只能是组内数据。