190218-Python(str) Algorithm(Red-black tree update)
Posted jiraiya-gouketsumonogatari
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了190218-Python(str) Algorithm(Red-black tree update)相关的知识,希望对你有一定的参考价值。
1. Python-str
s = ‘ABCDEFG‘
s[0:3] 从第1个取到第3个,顾头不顾尾
s[-1] 最后一个
s[0:] 取全部
s[0:5:2] 从第1个取到第5个,隔两个取一个
s[4:0:-1] 从第5个取到第2个,倒着取
s[-1::-1] 倒着取所有值
str.capitalize() 首字母大写
str.upper() 所有字母大写
str.lower() 所有字母小写
str.swapcase() 所有字母大小写互换
str.title() 所有非字母后的第一个字母大写
str.center(20,‘~‘) 扩充至长度20的字符串,str放在中间,两边用~填充
str.expandtabs() /t后在8的倍数+1位置开始,中间空白
len(str) 字符串长度
str.startswith(‘abc‘) 判断字符串是否由abc开始
str.find(‘W‘) 返回W的key
str.strip(‘%#‘) 去除%和#
str.split(‘;‘) 有;的地方隔开成列表
str=‘abc{0}, edf{1}, ghl{2},{0}‘.format(‘d‘,‘a‘,‘t‘) 使用d,a,t代替占位符
str.replace(‘a‘,‘b‘) a用b代替
for index in str: print(i) 查找所有字符
if ‘abc‘ in str 判断是否存在abc
2.Algorithm-red black tree update
方法:子树元素数记录在节点中
问题1:查找节点所对应的tree中的第几小时,根据左侧子树的大小加1计算
问题2:insert和delete 旋转子树时,将记录的子树大小也对应旋转
3.Algorithm-Interval tree
方法:节点记录区间low值和high值,以low值划分树,记录子树中最大的树在节点中
问题1:查找是否有重合区间节点在树中时,
区间 lower higher 节点 lower higher 子树max
区间higher 《 节点lower , 向左子树
区间higher 》 节点lower,区间lower 》 节点lower, 同时区间lower《子树max, 遍历子树中存在重合区间。
区间higher 》 节点lower,区间lower 《 节点lower,该节点即使重合区间。
区间higher 》 节点lower,区间lower 》 节点lower,同时区间lower》子树max,不存在重合区间。
以上是关于190218-Python(str) Algorithm(Red-black tree update)的主要内容,如果未能解决你的问题,请参考以下文章