[code]
#include
请问如果我现在想编一个数据结构,有 avl 树那样的平衡能力,同时在查找的时候能够把找到的节点上移到根节点(同时保持整个树的平衡),这个函数怎么实现?请大家提供以下思路或者代码,谢谢!
前面一个贴被封了,不好意思!其实我只是问了一句“这里没有能解决的高手吗?”,当然有高手也不一定非要来解答这个问题,我自己并非完全不会写,但写得不好!这种拿到网上来问人的途径也许有人会有异议,如果能请到一个老师我愿意付出任何代价学习我想学习和不懂的知识,但是没找到。不回答的人我没有任何权利说什么,但是真的渴望有人肯赐教!我觉得我能知道怎么写好这个东东,也算是大有收获了! #define KEY_STRING_TYPE 0 #...
复习数据结构,顺便用C实现了一下二叉平衡树avl的插入和删除算法
共享一下,呵呵
[code]
#include
大家好,最近我完成了一个 avl 树的实现。这个实现是非递归的,包含了添加和删除这两个功能。事实上,对 avl 树的其他操作都不困难,因此需要特别实现的操作也就只有这两个了。我对这个实现的正确性和速度都作了测试,效果非常理想。我对 100,000,000 条随机数据的测试并没有显示出这个实现有错误。另一方面,它的速度非常快,超过了已有的同类实现。我主要与 GNU libavl 和 C++ STL 中的红黑树作了比较。下面是对 100,000,000 条随...
#define KEY_STRING_TYPE 0 #define KEY_DATA_TYPE 1 typedef char* LPBST_ITEM; typedef char* LPBST_KEYVALUE; //callback function called when travelling tree //input: pitem = the item pointer //input: lpParam = the user_defined data typedef BOOL (*TraverseCallBack)(LPBST_ITEM pitem,char* lpParam,int paramsize); //callback function to get the item's key value pointer //input: pitem = the it...