文件名称:红黑树C++代码实现
文件大小:277KB
文件格式:RAR
更新时间:2013-02-10 10:02:27
红黑树,插入,删除,旋转,二叉树比较
描述: 实现红黑树、二叉搜索树相关算法:插入(红黑树涉及树的调整:左旋右旋等),删除,搜索(指定Key值节点)。 另外,红黑树实现计算树黑高的算法。 1).插入测试,输入 8,11,17,15,6,1,22,25,27,建立红黑树,按照 红黑树信息输出方式 输出整棵红黑树以及黑高。 2).删除测试,删除1)中红黑树中Key=15的节点,按照 红黑树信息输出方式 输出调整后的整棵红黑树以及黑高。 3).随机产生300,000个不同自然数Key值(1-300,000),建立红黑树,查找Key=15000的节点,输出查找花费时间。 随机产生300,000个不同自然数Key值(1-300,000),建立二叉搜索树,查找Key=15000的节点,输出查找花费时间。 4). 重复3-5次3)中操作,求各自平均时间。 5). 在1)-4)的红黑树算法基础上修改完成P307 14.1-4算法 OS_Key_Rank(T,k). 输入 1,2,3,4,5,6,7,8 建树, k=6, 输出OS_Key_Rank的返回值。 详细信息看readme!
【文件预览】:
rbtree
----rbtree.opt(58KB)
----main.cpp(3KB)
----result.txt(547B)
----StdAfx.cpp(291B)
----output.cpp(788B)
----bst_init.cpp(435B)
----rbtree_del.cpp(2KB)
----rbtree.dsp(5KB)
----rbtree_insert_fixup.cpp(1KB)
----rand.cpp(332B)
----rbtree.ncb(81KB)
----free_tree.cpp(470B)
----os_key_rank.cpp(1KB)
----rbtree_delete_fixup.cpp(2KB)
----rbtree_rotate.cpp(1KB)
----rbtree.dsw(520B)
----rbtree.cpp(3KB)
----Debug()
--------os_key_rank.obj(5KB)
--------rbtree_del.sbr(0B)
--------rbtree_init.sbr(0B)
--------rbtree_insert_fixup.sbr(0B)
--------vc60.pdb(60KB)
--------rbtree_insert.sbr(0B)
--------bst_insert.obj(2KB)
--------rbtree_rotate.obj(4KB)
--------vc60.idb(73KB)
--------bst_init.obj(3KB)
--------rbtree_delete_fixup.sbr(0B)
--------rbtree.ilk(242KB)
--------os_key_rank.sbr(0B)
--------bst_insert.sbr(0B)
--------rbtree.pch(288KB)
--------bst_init.sbr(0B)
--------rbtree_insert.obj(2KB)
--------rbtree.exe(192KB)
--------rbtree_init.obj(3KB)
--------rbtree_insert_fixup.obj(3KB)
--------rbtree.bsc(121KB)
--------main.obj(8KB)
--------free_tree.obj(3KB)
--------rand.sbr(0B)
--------rand.obj(3KB)
--------rbtree_del.obj(4KB)
--------StdAfx.obj(2KB)
--------rbtree_delete_fixup.obj(4KB)
--------rbtree_search.obj(3KB)
--------output.sbr(0B)
--------rbtree_search.sbr(0B)
--------main.sbr(0B)
--------bst_search.obj(3KB)
--------rbtree.pdb(521KB)
--------StdAfx.sbr(10KB)
--------free_tree.sbr(0B)
--------bst_search.sbr(0B)
--------rbtree_rotate.sbr(0B)
--------output.obj(3KB)
----rbtree.plg(2KB)
----ReadMe.txt(3KB)
----StdAfx.h(574B)
----rbtree_init.cpp(699B)
----bst_search.cpp(460B)
----rbtree.h(1KB)
----rbtree_search.cpp(548B)
----bst_insert.cpp(575B)
----bst.cpp(930B)
----bst.h(0B)
----rbtree_insert.cpp(556B)