| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1841 人关注过本帖
标题:急求c语言实现B-M算法求线性复杂度及极小多项式
取消只看楼主 加入收藏
密码学菜鸟
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2008-4-15
收藏
 问题点数:0 回复次数:2 
急求c语言实现B-M算法求线性复杂度及极小多项式
麻烦用c语言实现以下步骤 共两个算法 万分感谢  急用  望高手相助
B-M算法 步骤如下
输入:N长的序列sN=s0s1s2…s?N-1。
目的:求出序列sN的最短的线性递归关系。
步骤1 设n0是一个非负整数,使得
s0=s1=s2=…s?N-1=0;sn0不等于0
取初始值     d0=d1=d2=…dn0-1=0;dn0=sn0
令f1(x)=f2(x)=…=fn0(x)=1;  l1=l2=…=ln0=0
再取 fn0+1(x)=1-dn0xn0+1;  ln0+1=n0+1
步骤2  设{(fj(x),lj);j=1,2,…,n}已经求出。如果n=N,则直接转步骤3;否则计算
  dn=f(E)sn
    如果dn=0,则令fn+1(x)=fn(x);转步骤2.
    如果dn!=0,则找出m使得
                   Lm<lm+1=lm+2=…=ln
令fn+1=fn(x)-dnd-1nfm(x);ln+1=max{ln,n+1-ln};转步骤2.
    步骤3 设得到了(fN(x),lN).则fN(E)就是序列sN的一个最短的齐次线性递归关系;该齐次线性递归关系的长度为lN。
Games-Chan算法如下
    输入:N=2n,N长的序列s=s0s1s2…sN-1;Lc=0;f(x)=1。
    步骤1  令L=(s0,s1,s2,…,sN/2-1); R=(sN/2,sN/2+1,sN/2+2,…,sN-1);计算B=L+R
    步骤2 如果B≠0,则令Lc=Lc+N/2,f(x)=f(x)(1-x)N/2,s=B,转步骤3;如果B=0,则令s=L,转步骤3.
    步骤3 令N=N/2.
    步骤4 如果N=1,B≠0,则输出(Lc,f(x)),停止;如果N=1,B=0,s≠0,则令Lc?=Lc+1,f(x)=f(x)(1-x),输出(Lc,f(x)),停止;如果N≠1,则转步骤1.
    最后输出的(Lc,f(x))是序列S∞线性复杂度和极小多项式。
搜索更多相关主题的帖子: 多项式 c语言 线性 算法 序列 
2008-04-15 22:03
密码学菜鸟
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2008-4-15
收藏
得分:0 
来人帮忙啊
2008-04-17 10:41
密码学菜鸟
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2008-4-15
收藏
得分:0 
嗯 一定
2008-05-04 11:31
快速回复:急求c语言实现B-M算法求线性复杂度及极小多项式
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.028677 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved