码迷,mamicode.com
首页 > 其他好文 > 详细

树的序列化

时间:2014-10-31 21:53:15      阅读:253      评论:0      收藏:0      [点我收藏+]

标签:des   http   os   ar   for   sp   on   bs   ef   

1. BST

只保存preorder或者postorder就够了,递归有O(n^2)和O(n)算法。非递归有利用栈的O(n)算法。

2. Complete binary tree

level traversal就行了。

3. Full binary tree

用一个bit来保存该结点是internal node还是leaf node.

4. General Binary Tree

用NULL来占位。(这个可以是很小位),如果每个结点很大的话,这种方法相比起直接同时存preorder和inorder好。

见:http://www.geeksforgeeks.org/serialize-deserialize-binary-tree/

个人觉得对叶子结点,直接用另一个占位符更好。然后层次遍历保存起来。比如连续两个NULL用/表示,单个NULL用\表示。

5. k叉树

见:http://www.geeksforgeeks.org/serialize-deserialize-n-ary-tree/

就是用多一些标记。

 

树的序列化

标签:des   http   os   ar   for   sp   on   bs   ef   

原文地址:http://www.cnblogs.com/linyx/p/4066019.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!