一棵诡异的树
for (i=0; i<context->nSymbols; i++)
ContextPutValue(context, 1, i);
void ContextPutValue(Context *context, int val, int ix)
{
assert(ix>=0);
if (ix==0){
context->Tree[0]+=val;
}
else{
while(ix < context->nSymbols){
context->Tree[ix] = context->Tree[ix] + val;
ix = 2*ix - (ix & (ix-1));
}
}
context->TotalFreq+=val;
}
这是我获得的一个免费代码中的一段,其中context是一个结构体,里面有int *Tree来构建一棵树,构建树的代码就这些,很困惑其中的想法,以及
ix = 2 * ix - (ix & (ix-1));的用途,望大家不吝赐教。
ContextPutValue(context, 1, i);
void ContextPutValue(Context *context, int val, int ix)
{
assert(ix>=0);
if (ix==0){
context->Tree[0]+=val;
}
else{
while(ix < context->nSymbols){
context->Tree[ix] = context->Tree[ix] + val;
ix = 2*ix - (ix & (ix-1));
}
}
context->TotalFreq+=val;
}
这是我获得的一个免费代码中的一段,其中context是一个结构体,里面有int *Tree来构建一棵树,构建树的代码就这些,很困惑其中的想法,以及
ix = 2 * ix - (ix & (ix-1));的用途,望大家不吝赐教。
...全文
相关推荐
浅谈SpringMVC HandlerInterceptor诡异问题排查
本文将主要介绍如何排查SpringMVC HandlerInterceptor中的诡异问题,解决问题的思路和方法,并对相关的源代码进行分析和解释。
诡异通道Chrome插件-crx插件
【诡异通道Chrome插件-crx插件】是一个专为Google Chrome浏览器设计的扩展程序,它支持英语和简体中文两种语言。
易语言诡异心理游戏
诡异心理游戏的"诡异"二字,暗示了游戏可能包含一些非传统或者出乎意料的设计,可能会运用到心理学中的认知偏误、预期管理、心理暗示等概念。
杭电1180解题报告 诡异的楼梯
### 一、问题背景杭电1180题“诡异的楼梯”涉及到的是一个迷宫游戏。玩家需要在迷宫中找到一条从起点到终点的路径。
CTabCtrl的诡异实例
在本文中,我们将深入探讨`CTabCtrl`的使用以及可能遇到的一些诡异实例。1.


