对于STL中的set和map来说,需要进行频繁的插入和删除,而AVL这种严格平衡二叉树,插入删除太频繁会导致左旋右旋操作频繁,影响性能,AVL只适合查找较多但插入、删除不多的操作。而红黑树也是一种平衡二叉树,但只要求最长路径不超过最短路径的两倍,因此,更适合插入、删除操作较多的结构。
C++ STL 中用红黑树而不用AVL
最新推荐文章于 2023-11-21 18:27:12 发布
对于STL中的set和map来说,需要进行频繁的插入和删除,而AVL这种严格平衡二叉树,插入删除太频繁会导致左旋右旋操作频繁,影响性能,AVL只适合查找较多但插入、删除不多的操作。而红黑树也是一种平衡二叉树,但只要求最长路径不超过最短路径的两倍,因此,更适合插入、删除操作较多的结构。