数据结构定理

1.
如果总是按一个乘法因子来增加数组长度,那么实施一系列线性表的操作所需要的时间与不用改变数组长度时相比,至多增加一个常数因子。

2 基数分解
把数分解成数字需要除法和取模操作:
对于一般的基数r,相应的分解式为:
X%r; (X%r^2)/r; (X%r^3)/r^@;
例如:
如果用基数10来分解则最低位到最高位为:
x%10; x%100/10; x%1000/100;
当使用基数r=n对0~n^c-1范围内的n个整数进行分解时,每个数可以分解出c个数字.因此,对n个数字,可以用c次range=n的箱子排序.因为c是一个常量,所以整个排序时间为O(cn)=O(n).

3.并查集
如果开始时有n个类,每个类有一个元素,则在执行u次合并操作以后:
一. 任何一个类的元素都不会超过u+1.
二. 至少存在n-2u个单元素类.
三. u < n
1次初始化和f次查找的复杂度为O(n+f).
1次初始化、u次合并操作和f次搜索的复杂度为O(n+ulogu+f).

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值