gpt4 book ai didi

c - LZ78算法-填充字典后覆盖字典?

转载 作者:行者123 更新时间:2023-11-30 17:54:05 27 4
gpt4 key购买 nike

我对 LZ78 算法的实现方法有疑问 - 在将字典填充到第一个索引后是否有可能添加新的“关键字”?看我的代码:

//adding new word to dictionary
int dodaj(unsigned char *dop )
{
int i;
slownik[ adresy[ilosc]*257 ] = dop[0];
for(i=1;i<dop[0]+1;i++)
slownik[ adresy[ilosc]*257+i ] = dop[i];
ilosc++;
if( ilosc>ROZMIAR-1 ) przesun();
}

//move location in dictionary, if full
int przesun()
{
int i,b;
b = adresy[0];
for( i=0; i<ROZMIAR-1; i++ )
{
adresy[i] = adresy[i+1];
}
adresy[ ROZMIAR-1] = b;
ilosc--;
}

在我的代码中,填充字典后,所有出现的位置都移动-1,最后一个被覆盖。你们有什么想法如何修改这段代码吗?

最佳答案

这个循环,如果我们从 adresy 开始包含a, b, c, dROZMIAR=4将导致:

for(i=0;i

adresy包含b, b, b, b

我怀疑你想从上往下走?

我必须注意,我不完全理解你的代码,而且我发现很难阅读变量看起来像名称的代码,但我无法理解它们的含义。

关于c - LZ78算法-填充字典后覆盖字典?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15185706/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com