二叉查找树(Binary Search Tree),也称为二叉搜索树、有序二叉树或排序二叉树,是指一棵空树或者具有下列性质的二叉树: 若任意节点的左子树不空,则左子树上所有节点的值均小于它的根节点的值; 若任意节点的右子树不空,则右子树上所有节点的值均大于它的根节点的值; 任意节点的左、右子树也分别 ...
分类:
编程语言 时间:
2020-04-23 18:45:21
阅读次数:
59
很久没写红黑树了,这次使用 python 实现了一遍。 class Rbtree(object): """ 红黑树 """ class NodePre(object): """ 定义红黑树节点基本属性 """ _color = {'red': True, 'black': False} def __ ...
分类:
编程语言 时间:
2020-04-21 15:07:56
阅读次数:
55
消息内容 包括如下: 日期(阳历+阴历); 每日壹句(内容来自爱词霸[1]); 天气预报(内容来自中国天气网[2]): 天气情况; 温度情况; 穿衣指数; 减肥指数; 空气指数; 紫外线指数; 消息效果 功能模块及其Python实现 依赖包 requests==2.22.0 itchat==1.3. ...
分类:
编程语言 时间:
2020-04-20 21:17:10
阅读次数:
69
从字面来理解,迭代器指的就是支持迭代的容器,更确切的说,是支持迭代的容器类对象,这里的容器可以是列表、元组等这些 Python 提供的基础容器,也可以是自定义的容器类对象,只要该容器支持迭代即可。《Python实现自定义序列》一节中,已经学会了如何自定义一个序列类,但该序列类对象并不支持迭代,因此还 ...
分类:
编程语言 时间:
2020-04-20 16:05:47
阅读次数:
60
Python实现集合Set Python的集合set原理 ...
分类:
编程语言 时间:
2020-04-19 14:56:31
阅读次数:
66
Python实现队列 单链表实现队列 循环双端链表实现队列 数组实现队列 ...
分类:
编程语言 时间:
2020-04-19 14:50:21
阅读次数:
61
Python实现字典dict Python字典dict实现原理 作为 dict 的 key 必须是可哈希的,也就是说不能是 list 等可变对象 可变对象在生命周期里面hash的值是会改变的,所以不能用 ...
分类:
编程语言 时间:
2020-04-19 14:42:33
阅读次数:
55
Python实现列表和链表 单链表 缺点:1. remove时是O(n) 2.只能单向遍历 双端链表 ...
分类:
编程语言 时间:
2020-04-19 14:38:57
阅读次数:
75
Python实现哈希表 哈希表: 哈希冲突: 不同的key经过h函数计算后得到的下标一样,称为哈希冲突 1.链接法(chaining) 数组中对应的槽变成一个链式结构 2.线性探查(linear probing): 当一个槽被占用,找下一个可用的槽。 h(k,i)=(h′(k)+i)%m,i=0,1 ...
分类:
编程语言 时间:
2020-04-19 14:31:10
阅读次数:
74