| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1220 人关注过本帖
标题:求助:用c#编写b+树
只看楼主 加入收藏
cdfhif
Rank: 1
来 自:湖北
等 级:新手上路
帖 子:3
专家分:0
注 册:2009-8-29
结帖率:0
收藏
已结贴  问题点数:20 回复次数:4 
求助:用c#编写b+树
用c#编写b+树,完成查找,插入,删除功能!!!
搜索更多相关主题的帖子: 编写 
2009-08-29 12:19
jedypjd
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:9
帖 子:1096
专家分:4969
注 册:2009-7-27
收藏
得分:6 
什么b+树,楼主不能将详细点吗

天涯无岁月,歧路有风尘,百年浑似醉,是非一片云
2009-08-29 12:33
cdfhif
Rank: 1
来 自:湖北
等 级:新手上路
帖 子:3
专家分:0
注 册:2009-8-29
收藏
得分:0 
b+树还有几种?
2009-08-29 23:54
ginpq
Rank: 2
等 级:论坛游民
帖 子:34
专家分:50
注 册:2007-8-21
收藏
得分:6 
什么是b+树
2009-08-31 10:08
baikil
Rank: 10Rank: 10Rank: 10
来 自:X星球
等 级:青峰侠
威 望:4
帖 子:282
专家分:1580
注 册:2009-7-20
收藏
得分:6 
B+树可以看作是B树的变形,对于存放在外存贮器上的字典,B+树比B树更为常用。
  一个m阶的B+树满足下列条件∶
  (1) 每个结点至多有m棵子树。
  (2) 除根结点外,其它每个分支至少有m/2棵子树。
  (3) 非叶结点的根结点至少有两棵子树。
  (4) 有n棵子树的结点有n个关键码,叶结点中至少包含n/2个关键码。
  (5) 叶结点都在同一层中,其中存放数据文件中记录的关键码及指向该记录的指针,或存放数据文件分块后每块的最大关键码及指向该块的指针。叶结点按关键码值大小顺序链接。可以把每个叶结点看成是一个基本索引块(直接指向数据文件中的记录)。
  (6) 所有分支结点可看成是索引的索引。使结点中仅包含它的各个子结点中最大(或最小)关键码的分界值及指向子结点的指针。

树型结构都差不多吧,先学会二叉树,这是树中的最容易的树型结构.
1.对树型结构的定义.
2.创建树.
3.对树的遍历.
C#中的专业的树型表的控件TreeView
如果你要用控制台来完成要难点.不过不要紧,这个和C中的数据结构设计差不多.
我在这里二叉树的定义,创建,与遍历的介绍.如果你想更复杂的,可对二叉树的扩长.
        /// <summary>
        /// 定义结点类:
        /// </summary>
        class node
        {
            public char data;
            public node lchild, rchild;
        }
        class BiThrTree
        {
            
            static public void CreateBiThrTree(ref node T)
            {
                char ch;
                ch = (char)Console.Read();
                if (ch == '\0' || ch=='\r'||ch=='\n')
                {
                    T = null;
                    
                }
                else
                {
                    T = new node();
                    T.data = ch;
                    CreateBiThrTree(ref T.lchild);
                    CreateBiThrTree(ref T.rchild);
                }
            }
            
            static public void PrePrint(node T)
            {
                if (T != null)
                {
                    Console.Write(T.data + "\t");
                    PrePrint(T.lchild);
                    PrePrint(T.rchild);
                }
            }
           

            static void Main()
            {
                node mytree = null;
                Console.WriteLine("Please input nodes:");
                CreateBiThrTree(ref mytree);
                Console.WriteLine("\n按先序输出:\n");
                PrePrint(mytree);
                Console.WriteLine("\n按中序输出:\n");
                MinPrint(mytree);
                Console.WriteLine("\n按后序输出:\n");
                StpPrint(mytree);
                Console.Write("\n");
                Console.ReadLine();
                Console.ReadLine();
               
            }

            private static void MinPrint(node T)
            {
                if (T != null)
                {
                    MinPrint(T.lchild);
                    Console.Write(T.data + "\t");
                    MinPrint(T.rchild);
                }
                //throw new Exception("The method or operation is not implemented.");
            }

            private static void StpPrint(node T)
            {
                if (T != null)
                {
                    StpPrint(T.lchild);
                    StpPrint(T.rchild);
                    Console.Write(T.data+"\t");
                }

                //throw new Exception("The method or operation is not implemented.");
            }

        }




自创QQ群64885635,方便C#学习交流.希望各项工作路好学都好入!
2009-08-31 10:10
快速回复:求助:用c#编写b+树
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014843 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved