rope数据结构的python实现
ropes的Python项目详细描述
python中rope数据结构的早期实现。
关于绳索
绳索是弦的可变替代品。字符串表示为 二叉树,对字符串的修改可以通过替换 现有的子字符串分支或将新子串插入到树中 结构。
这是一个支持基本操作的初步版本,例如 连接、索引、切片和步幅。
一些特性的实现目前很差,特别是切片 操作。没有任何努力来平衡树或优化 数据结构。
用法
要将字符串转换为rope,请使用Rope类构造函数。
r=Rope('abcdefg')
可以使用字符串列表构造预定义的Rope树。
r=Rope(['abc','def','g'])
打印绳子会返回一个字符串。
>>>r=Rope(['abc','defg'])>>>r(Rope('abcd')+Rope('efg'))>>>print(r)abcdefg
字符串可以插入现有的绳索之间。
>>>r,s=Rope('abc'),Rope('def')>>>u='123'>>>r+u+s((Rope('abc')+Rope('123'))+Rope('def'))>>>print(r+u+s)abc123def>>>
目前的使用是非常基本的,但有希望在未来改进。