可做度的算法
❶ C语言关于二叉树的度的算法
可怜的管理员哭泣着乱踹两脚
被映得粉亮的翅膀,直到拖着尖锐的
我们为之干杯的死亡,
父亲戴一件绒毛状火红头饰
让路。白日怀疑自己,
她每天只就让复一个工作哈哈
❷ 如何编程实现算法时间复杂度计算
关于时间复杂度的计算是按照运算次数来进行的,比如1题:
sum1(intn)
{intp=1,sum=0,m;//1次
for(m=1;m<=n;m++)//n+1次
{p*=m;//n次
sum+=p;}//n次
return(sum);//1次
}
最后总的次数为
1+(n+1)+n+n+1+1=3n+3
所以时间复杂度f(o)=n;(时间复杂度只管n的最高次方,不管他的系数和表达式中的常量)
其余的一样,不明白的可以来问我
❸ 文本、语音相似度算法
前段时间公司项目用到了语音识别,图像识别,视频识别等,其实不能说是识别,应该说是相似度对比吧,毕竟相似度对比还上升不了到识别哈,等以后有了更深的理解再来讨论修改下!这次就当做一个总结吧!
其实它的原理和视频图像相似度算法类似,将一系列的向量,特征,权重,进行合并,然后降维降到一维,其实这个算法也就是采用降维技术,将所有的特征都用一个唯一标识来表示.然后这个标识是经过这个算法内部的计算,再利用海明距离计算相似度,视频和图片是经过汉明距离计算的
文本我们是采用simhash算法:
1.我们给文本里面的词进行分词,我们是用ik算法,这个算法就是while循环,读取一行,然后调用ik智能分词的类,智能去切割里面的分词;
2.根据里面的词频,simhash算法会加一个权重,当然,得词频达到多少个的时候才会有有权重,这也是它的缺点,一般文本数据较少的时候,他是不准确的,一般数据量在500+;算法内部的话会将一系列的向量,特征,权重,进行合并,然后降维降到一维,其实这个算法也就是采用降维技术,将所有的特征都用一个唯一标识来表示.然后这个标识是经过这个算法内部的计算,然后得到的一个指纹签名;
3.然后对比两个文本的相似度就是将两个指纹签名进行海明距离计算,如果海明距离<8(根据业务和场景去判断这个值,8是建议,参考)的话,表示两个相似,小于3的话.表示两个文本重复.
simhash算法我们还可以做语音相似度,它的基本原理就是根据傅里叶变换处理得到声波的形状。
语音的坡度如果向上我们就用1表示,向下我们就用0表示,这样的话,我们也可以用二进制码去描述一首歌曲.得到一个唯一的指纹签名,对比两个音频的相似度就是将两个指纹签名进行海明距离计算<8的话,我们就默认两个音频相似.
总结:都是把特征降到一维,然后采用海明距离计算。计算的值小于多少时,就当做是相似。我这边讲的太浅了,实在领悟有限,时间有限,触摸不深,等下次有新的领悟再来补充!