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