|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
题目:在内存中构建一个10叉非完全树T10,树的高度为7,叶子节点的高度差最多为1,将该树T10存储到一个树存储文件Ftree中去。编写读树文件Ftree的程序,将树读入到内存中来,并且检验树的正确性。6 P/ x# R9 f, b% r
性能分析说明:
$ {7 @8 l0 S4 ^. \1.空间复杂度" m4 V! @% @1 G+ |9 |8 p
2.文件大小
8 L5 @, @% ]# }! b& x: ~8 _2 d3.内存重构树的时间。$ E( v. X/ d y- Q7 z
0 I# `' y( a1 c) x6 H. m$ I( C( [
9 ~/ O" l J" o7 S7 e) p源码上上来,振振精神4 {4 V7 s0 j/ q) ?
4 R/ M- t% u9 a& e8 T. }
1.程序源码2 h* ]+ {: A, j* S
( j$ k5 Q! a2 R1 Y(1)创建10叉非完全数的程序源码
# M- z' M6 q4 F3 G: r l- ]' ~
& z) m9 H0 u. V4 D- //ProgARM one:creat the tree
- #include<stdio.h>
- #include<stdlib.h>
- #define TEN 10
- #define MAXLEVEL 8
- typedef structTreeNode *TenTree;
- struct TreeNode{
- int data;
- TenTree children[TEN];
- }NTree;
- int num = 1;
- voidpreorder(TenTree ptr)
- {
- if (ptr){
- printf("%d ",ptr->data);
- for (int i = 0; i < TEN; i++){
- preorder(ptr->children);
- }
- } else {
- printf("0 ");
- }
- }
- TenTreeCreatTree(int level)
- {
- TenTree T;
- if (level == MAXLEVEL){
- T = NULL;
- return T;
- }
- T = (TenTree)malloc(sizeof(NTree));
- T->data = num++;
- for (int i = 0; i < TEN; i++){
- T->children = CreatTree(level+1);
- }
- return T;
- }
- int main()
- {
- TenTree T;
- T = CreatTree(1);
- preorder(T);
- return 0;
- }
4 R) F/ `5 g: c ' h- n$ s b/ U" v. X
|
|