红黑树的删除压力测试和完整性检查
摘要:之前的文章写了红黑树的实现,因为自己实现了插入和删除的算法。为了测试算法的性能,以及算法的正确性,又写了几个函数,用来检查一棵树是否是红黑树,并进行压力测试,代码如下:
阅读全文
posted @
2019-03-30 21:40
Burkut
阅读(565)
推荐(0)
红黑树插入与删除完整代码(dart语言实现)
摘要:之前分析了红黑树的删除,这里附上红黑树的完整版代码,包括查找、插入、删除等。删除后修复实现了两种算法,均比之前的更为简洁。一种是我自己的实现,代码非常简洁,行数更少;一种是Linux、Java等源码版本的实现,实现的略为复杂,但效率更高。两种算法经过测试,在百万级的数据上效率不分伯仲;1000万的数
阅读全文
posted @
2019-03-30 21:14
Burkut
阅读(692)
推荐(0)
红黑树的删除详解与思路分析——不同于教科书上的算法(dart语言实现)
摘要:对于红黑树的删除,看了数据结构的书,也看了很多网上的讲解和实现,但都不满意。很多讲解都是囫囵吞枣,知其然,不知其所以然,讲的晦涩难懂。 红黑树是平衡二叉树的一种,其删除算法是比较复杂的,因为删除后还要保持红黑树的特性。红黑树的特性如下: 因此,从红黑树最基础的特性出发,抛开教科书和网上的算法,画了无
阅读全文
posted @
2019-03-26 15:55
Burkut
阅读(976)
推荐(0)
数据结构与算法之二叉树 ——in dart
摘要:用dart语言实现的二叉树,实现了插入、查找、删除,中序遍历、前序、后序遍历等功能。
阅读全文
posted @
2019-03-01 17:55
Burkut
阅读(687)
推荐(0)