可做度的演算法
❶ 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的話,我們就默認兩個音頻相似.
總結:都是把特徵降到一維,然後採用海明距離計算。計算的值小於多少時,就當做是相似。我這邊講的太淺了,實在領悟有限,時間有限,觸摸不深,等下次有新的領悟再來補充!