- 博客(3)
- 收藏
- 关注
原创 浅谈位运算
### 位运算及技巧操作符: 1. & 与 两位都为1时,结果为1否则为0 2. | 或 两位都为0时,结果为0否则为1 3. ^ 异或 两位相同为0,相异为1 4. ~ 取反 0变1,1变0(所有位,包括符号位) 5. > 右移 整个数组的二进制位向右移若干位,原长度不变,多的舍去,少的补零不理解?问题不大,等一下上代码,里面有例子,我先说点
2024-08-06 23:56:51 613
原创 树状数组(BIT)简单分析、应用
树状数组(BIT)简单分析、应用 Ymy251325如图所示,这是树状数组的基本结构,tree分成不同的层(由下往上,从1开始)。观察可得,第i层各数的lowbit都是2i−12*i*−1(图示的右边就是各层的lowbit),且对于每个t[j],它都有i个子节点,子节点由下标从小到大依次是t[j-lowbit(i-1)],t[j-lowbit(i-2)],…,t[j-lowbit(i)]。反过来(属规律,从图上推)也成立,既对于t[i],它的父节点是t[j+lowbit(j)]。
2024-08-05 20:18:45 1976
原创 康托(Cantor)展开与逆展开理解与运用
康托展开与逆展开原理证明举例代码实现练习Ymy251325康托展开是一个全排列到一个自然数的双射,常用于构建哈希表时的空间压缩。 康托展开的实质是计算当前排列在所有由小到大全排列中的顺序,因此是可逆的。一个全排列中的任意排列能通过康托展开得到一个自然数,两者一一对应。康托展开可以求一个全排列的全部排列按字典序排序的排名。也能通过这个排名逆推原来的排列。cantor、Cantor展开与逆展开cantorExpansion invCantorExpansion康托(Cantor)展开与逆展开理解与运用
2024-08-04 20:54:31 1923 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人