一切代码测试于 C-FREE 5
-
二叉树是由结点指针将多个结点关联起来的抽象数据结构,是存在于内存中的,不能进行持久化存储。
-
如果需要将一颗二叉树的结构持久化保存在磁盘文件中,需要将其转换为字符串并保存到文件中。
-
序列化是对二叉树进行先序遍历产生一个字符序列,与一般的先序遍历不一样,需要记录空结点用'#'字符表示,并且假设序列中没有结点的值为'#'。
-
反序列化是通过先序序列化的结果串str构建对应的二叉树,其过程是用i从头扫描str;采用先序方法,当i超界时返回NULL;否则当遇到'#'字符时返回NULL,当遇到其它字符时,创建一个结点,可以采用递归的方法构造该二叉树;也可以采用非递归方法构造该二叉树。