演算法導論2 3 4個人解決方案

2021-08-26 18:03:58 字數 1688 閱讀 2367

insortion_recusion_sort ( a , n ) //a[1..n]

if n > 2 //陣列元素在2個以上時將陣列進行拆分……………………………………………………c1

insortion_recusion_sort ( a , n - 1 ) //將前 n - 1位進行插入排序……………………c2

key = a [ n ] //將陣列中的最後一位設為待比較值key………………………………………………c3

i = n - 1 //要比較的陣列元素為n-1個………………………………………………………………c4

while i > 0 and  a [ i ] > key //當標誌位沒到陣列左盡頭,且第a [ i ]比a [ n ](key)大時…………c5

a [ i + 1 ] = a [ i ] //a [ i ]移動到a [ i +1 ]的位置,當前值右移一位………………………………c6

i = i - 1 //標誌位左移一位……………………………………………………………………………c7

a [ i + 1 ] = key…………………………………………………………………………………………c8

//比較完畢後,最後乙個a [ i ]的位置因為與a [ i +1]交換了,所以是空出來的,這個位置掃塌而待在空中與各個a [ i ]做比較的a[ n ]的值key,a[ n ]從一開始失去了位置,到最後它的值終於在所有比它大的a[ i ]之前的位置安了家。並完成了從小到大的排序。ps:因為最後一步有個  i = i - 1 ,所以是a [ i + 1 ] = key,而不是a [ i ] = key。

首先,題目讓我們考慮最差的情況,即a[1..n]是從大到小排序的,偽**第6行while中的每一次交換都不能省,且都要交換到i=0結束。

先考慮t(n)的情況,設在每個函式中while迴圈一共要執行ti次。

t(n)=c1+c2+c3+c4+ti*c5+(ti-1)*(c6+c7)+c8+t(n-1)

t(n)=(c5+c6+c7)*ti+c1+c2+c3+c4-c6-c7+c8+t(n-1)

因為c1~8都是常數,複雜度都為o(1),不妨設k1=c5+c6+c7,k2=c1+c2+c3+c4-c6-c7+c8。

則,t(n)=k1*ti+k2+t(n-1)

當n=n時其中c5處,想想最後乙個元素(最小數)待排序的情況,前面的每個數都比它大,即要完成(n-1)次比較,算上最後i=0結束迴圈那次,一共ti=(n-1)+1=n。

t(n)=n*k1+k2+t(n-1),同理,

t(n-1)=(n-1)*k1+k2+t(n-2),

t(n-3)=(n-3)*k1+k2+t(n-3),

t(3)=3*k1+k2+t(2),

t(2)=2*k1+k2.

最後我們來驗證一下t(2)的值。考慮遞迴結束時,即n=2時,

直觀地,

t(2)=c1+c3+c4+2*c5+c6+c7+c8,我們將k1=c5+c6+c7,k2=c1+c2+c3+c4-c6-c7+c8代入原式,可得

t(2)=2*k1+k2。

驗證無誤。

將t(2)到t(n-1)依次代入上一級呼叫。

顯然,t(n)=(2+3+4+……+(n-1)+n)*k1+n*k2,

t(n)=0.5*k1*n*n+(0.5*k1+k2)*n-k1-k2.

其中k1,k2均為常數,

故迭代插入排序演算法的時間複雜度為o(n^2)。

遙操作機械人解決方案

遠端機械人技術可用於遠端醫療 遠端超聲診斷 5g遠端機械人 機械人遙操作 遠端救災等領域 遙操作機械人技術可應用於遠端醫療 遠端診斷 遠端抓取 空間探測 危險環境 核放射 有毒化工 易燃易爆 病毒傳染 作業等領域。相對於 機器換人 遙操作機械人體現的是 機器幫人 它能夠讓操作者以自然可控的方式實時操...

打造個人雲資料生活解決方案示例

範圍 我這裡說的個人雲資料生活主要是最基本的幾個方面 舉個例子,我在手機上新增了乙個聯絡人,我的其他裝置上的聯絡人也很快新增了這個聯絡人 我在pc上對某個文件進行了修改,其他裝置上的此文件也馬上同步了 當我沒有帶任何裝置,我還可以登入網頁檢視 編輯我的資料。拿我自己當前的實際情況來示例,目前我的裝置...

音訊指紋的演算法 飛利浦解決方案

這個音訊指紋暫時用來做同源音訊聚類,判斷歌曲是否是同一源的,這裡先介紹下飛利浦的方案 a highly robust audio fingerprinting system,這個演算法是在他上面的優化,幀 一段固定時間的音訊資訊,ts 相鄰兩個幀 兩個幀重疊時間域為 31 32,通過能量差分的關係,...