CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  专题开发/技术/项目 >  数据结构与算法

请教:树的存储保存

楼主haigon(龙笑海)2003-04-01 11:50:58 在 专题开发/技术/项目 / 数据结构与算法 提问

想把一个树保存在一个文件中,难以确定文件的结构,求教。  
  比如文件定义成:  
  v1.0   HTREE_FILE  
  Node_begin  
  key  
  Child[0]   Child[1]   Child[2].....  
  Node_end  
  ....  
   
  其中Child[]应该存储什么?指针,索引,or   something   else  
  如果这种结构不好,因该怎样定义,可以方便的读出并构造树---树是无序的. 问题点数:50、回复次数:4Top

1 楼happy__888([顾问团]寻开心 www.e-jjj.com)回复于 2003-04-01 12:00:52 得分 50

 
  很容易就可以使用递归调用方式完成  
   
  SaveTree   (File   *   pFile,   Tree   *   pTree)  
  {  
          pFile->Write(pTree->当前数据内容)  
          pFile->Write(子树的数目);  
          for   (int   i=0;   i<子树数目;   i++)  
                SaveTree(pFile,   pTree->child[i]);  
  };  
   
  ReadTree(   File   *   pFile,   Tree   *   pTree   )  
  {  
          pFile->Read(数据内容)  
          pTree->当前数据内容     =   数据内容;  
          pFile->Read(子树数目);  
          for   (int   i=0;   i<子树数目;   i++)   {  
                pTree->child[i]   =   new   Tree;  
                ReadTree(pFile,   pTree->child[i]);  
          };  
  };  
  Top

2 楼haigon(龙笑海)回复于 2003-04-01 12:12:23 得分 0

不好意思,我想复杂了Top

3 楼haigon(龙笑海)回复于 2003-04-01 12:20:46 得分 0

经你提示:   我因该先保存树的遍历顺序。  
  如此定义即可:  
  v1.0   HTREE_FILE  
  先根通过|中根通过|后根通过|   深度优先.......  
  key  
  ChildNum  
  Child[0]    
  Child[1]    
  Child[2].....  
  ....  
   
   
  Top

4 楼happy__888([顾问团]寻开心 www.e-jjj.com)回复于 2003-04-01 17:45:00 得分 0

是啊  
  Top

相关问题

  • 屏保存储位置
  • 数据库高手请看过来:(数据存储问题)如何保存一个类似二叉树(还记得数据结构么?)的网络拓扑图??
  • 用plsql devoloper无法保存修改存储过程
  • 数据库中存储的图片如何保存出来!
  • 存储过程返回结果集不能修改保存????
  • 讨论VB+ADO+SQL Server的时候的多记录保存(通过存储)下大家是怎么保存的?
  • 请问: 如何保存树形目录
  • 结构树的节点怎么保存?
  • 在oracle中如何保存一个已经写好的存储过程
  • 为什么在已保存好的 存储过程中还要有:Create Procedure ?

关键词

  • 数据
  • 文件
  • 内容
  • ptree
  • 树
  • pfile
  • 保存
  • child
  • 定义
  • 通过

得分解答快速导航

  • 帖主:haigon
  • happy__888

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo