f********a 发帖数: 165 | 1 http://www.geeksforgeeks.org/serialize-deserialize-n-ary-tree/
这上面有讲解。
但是如果有两个简单的binary tree. root都是a,但一个只有左子节点b,一个只有右
子节点b, serialize之后都是
a b ) ). deserialize的时候怎么区别呢? |
w***t 发帖数: 1474 | 2 n-ary tree不是binary tree。没有左右子树之分,只有第一个第二个子树这种。所以
你这两个树用n-ary tree表示是一样的
【在 f********a 的大作中提到】 : http://www.geeksforgeeks.org/serialize-deserialize-n-ary-tree/ : 这上面有讲解。 : 但是如果有两个简单的binary tree. root都是a,但一个只有左子节点b,一个只有右 : 子节点b, serialize之后都是 : a b ) ). deserialize的时候怎么区别呢?
|
f********a 发帖数: 165 | 3 如果n==2的话,那就应该是binary tree. 应该适用于binary tree啊。两个树
serialize结果是一样的,那就没办法区别啊,怎么deserialize?
【在 w***t 的大作中提到】 : n-ary tree不是binary tree。没有左右子树之分,只有第一个第二个子树这种。所以 : 你这两个树用n-ary tree表示是一样的
|
c*******e 发帖数: 373 | |
f********a 发帖数: 165 | 5 是的,这是serialize binary tree.我的意思是要么binary tree不是n-ary tree的一
个特例,不然用geeksforgeeks链接里的方法得不到binary tree的正确序列化。但是链
接里又提到n-ary tree是binary tree的延伸,所以有些confused了。
【在 c*******e 的大作中提到】 : A空B : AB空 : 就区别了
|
c*******e 发帖数: 373 | 6 n叉的方法一定能搞定2叉 所以2是n的特例
2叉的方法不一定能搞定n叉,但是同样思路,稍微扩展一下应该不难搞定,所以说n
是2的扩展
一般和特殊,这是一种单向关系,不是对称的 :)
【在 f********a 的大作中提到】 : 是的,这是serialize binary tree.我的意思是要么binary tree不是n-ary tree的一 : 个特例,不然用geeksforgeeks链接里的方法得不到binary tree的正确序列化。但是链 : 接里又提到n-ary tree是binary tree的延伸,所以有些confused了。
|
f********a 发帖数: 165 | 7 以我举的二叉树为例,子节点为a, 一个树是以b为左节点,一个树以b为右节点,按照
geeks里面的serialize都是ab)), 怎么区别呢?你的答案a空b或者ab空不是这个方法的
输出啊。
【在 c*******e 的大作中提到】 : n叉的方法一定能搞定2叉 所以2是n的特例 : 2叉的方法不一定能搞定n叉,但是同样思路,稍微扩展一下应该不难搞定,所以说n : 是2的扩展 : 一般和特殊,这是一种单向关系,不是对称的 :)
|
t*****3 发帖数: 112 | 8 你没理解geeks和楼上的解释,n叉树是二叉树的扩展,不意味着方法能原样照搬。区别
在于二叉分左右,所以序列化时每个child指针都得明确有还是null,所以把n叉树方法
反推回二叉就是a)b))或者ab)))。你得搞清楚哪些是共性,哪些是区别,不能按照自己
感觉去定义
【在 f********a 的大作中提到】 : 以我举的二叉树为例,子节点为a, 一个树是以b为左节点,一个树以b为右节点,按照 : geeks里面的serialize都是ab)), 怎么区别呢?你的答案a空b或者ab空不是这个方法的 : 输出啊。
|