演算法分析,高手請進
1樓:網友
s=n*n/log(2)(n/m)*log(2)(n/m)+n寫的 不清楚。
你是不是要n/log(2)(n/m) 平方 來看看這個東西的複雜度。
令f(n)=n
g(n)=log(2)(n/m)不防先把m看個是不變數引數。
看來要討論m和 n的關係了。
討論複雜度o(k)=lim(f/g)=lim(f)/lim(g)lim(n)/lim(log(2)(n/m))由洛必達法則無窮比無窮。
n)'/log(2)(n/m))'
1/ (n/m(in2))
m/nin2
現在。o(s)=o(k)^2 +o(n)
o(m/nin2)^2+o(n)
這個m>>nin2的時候那麼o(s)=o(m)^2+o(n)=o(m^2)
m<=nin2的時候 o(s)=o(m)^2+o(n)=o(n)所以最壞的情況是平方。
演算法設計分析題,求高手解答,高分
2樓:夕陽古道
聚集分析:n次操作最多的插入n個元素,插入刪除元素個數數最多為2n,平均鍵謹知每次為2,即o(1)。
記賬分析:設每次插入操作為2元,一元付賬,一元存款,每刪除乙個元素(不管是pop還是multypop)為0元稿消(插入該元素時已存了一元賬),n次操作最多付2n元,平均2元,即o(1)。
勢能函式分析:設勢能函式f(i)為第i次操作後棧中的元素個數,顯然f(i)恒大於0,f(0)=0;每插入乙個元素代價為2,1是該操作代價,1是用來儲存勢能,f(i)=f(i-1)+1,刪除乙個元素操作代價為0,但棧中元素個數少了1,f(i)=f(i-1)-1,或者刪除k個元素,代價為0,但f(i)=f(i-1)-k,操作代價用勢能支付了,n次操作後,實際代晌滾價最多2n,平均每次也是o(1)。
一些演算法的疑惑,請教小弟
3樓:豬豬love小小豬
number round(number):返回與引數最接近的整數值。
如果number與兩個整數的距離相等,即為時,將向上返回。
如果引數為 nan,則返回 nan。
如果引數為正無窮大,將返回正無窮大。
如果引數為負無窮大,將返回負無窮大。
如果引數為正零,將返回正零。
如果引數為負零,將返回負零。
如果引數小於零但是大於等於 ,將返回負零。
對於最後兩種情況,呼叫 round() 函式的結果與加上 後再呼叫 floor() 函式的結果不同,因為在這種情況下將返回正零。
舉例:round( =3
round ( =2
round( =3
round( =2
round( =1
特別的,到-2與-1的距離都是,那麼它將返回大陵態州的數字-1(-1>-2)
這尺蔽個與整數也不衝突的,比如你的例子裡面,,11<<12那麼它返回12,返回大的整數,-12<<-11它也返回大的整數-11.
希望你明閉巖白了。
4樓:網友
對於負數的這類運算怎麼弄悄芹亂的都有, 四捨五入也沒見過明確首攔的定義。
如果按這樣定義: 四捨五入(a) = ? a]+1 : a]
那麼結果就是-11了啟檔。
求高人幫忙解決乙個經典演算法問題
5樓:小斌
可以這樣幹,演算法主幹。
首先理解。1、你要得到的字元序列個數是有限的,為256!個,(排列組合,能理解不)
2、從0~255的每個數字在計算機上用乙個位元組來表示乙個你要的數字剛剛好,2、給這些序列編乙個號碼,比如按從小到大排列為……
接著理解。1、需要轉換的序列為32個字元,我具體不清楚這個序列的規則,比如字元的種類有n種,但是序列種類不能大於256!,否則不是唯一的,2、將你要轉換的序列理解為乙個很大的整數,這個整數不是十進位的,而是n進位的。
接著實現。1、將n進位數轉換為乙個10進位的數,(具體方法很多,但是要和你的要求匹配,不同的序列轉換之後都是不同的10進位數)
2、根據這個10進位數作為號碼,去獲取你在剛開始表示的大整數。
求演算法高手解釋一下
6樓:網友
(3*k+6)!%3*k+7)+1)/(3*k+7)是威爾遜定理,好好查一下。
在初等數論中,威爾遜定理給出了判定乙個自然數是否為素數的充分必要條件。
即:若且唯若p為素數時:( p -1 )!1 ( mod p )也就是。p-1)%p=(p-1)
3*k+6)!%3*k+7)+1)/(3*k+7)令t=3*k+7
上式轉化為。
t-1)!%t+1)/t
當t為素數時。
t-1)!%t=t-1
加上乙個1剛好是t
當t不是素數的時候(t-1)!%t肯定是比t-1要小的,後面的除法是整除的。
所以上述結論成立。
求演算法高手解釋一下
7樓:網友
如果(3*k+7)是素數,(3k+6)的階乘對(3*k+7)求餘,剩下的就是3k+6;
如果不是那就小於3k+6!
求大神做乙個演算法分析
8樓:夜神月
第1個不可以,第2個是可以的。
2個演算法不相同。
可以說2個演算法有乙個共同點,就是用s來存次小的,用f來存最小的。
第乙個演算法是錯的,它檢查a[i]的時候,用 f 來衡量是否要修改 s和f 的值。
例如:f=1,s=3的時候,如果遇到a[i]=2時,因為2>1,所以沒拿2來修改 s和f 的值 明顯不對。
第二個演算法是對的,它檢查a[i]的時候,用 s 來衡量是否要修改 s和f 的值。
因為s比f大,所以當a[i]比s小時才需要修改s f的值。
比知道這個執行效率是什麼意思,如果建立在正確的前提下的話,是第2個高,因為第1個是錯的,如果僅僅考慮時間複雜度的話,是第乙個效率高,第乙個是o(n) 第二個是o(2n) 雖然都可以化成。
o(n) 但是畢竟係數不同。
9樓:網友
第乙個的確是不行,肯能會出現s分析如下:第一次時,s=f=5,第二次時,s=f=5.
第三次時,s=5,f=3.
第四次時,s=3,f=4.
第二個可以,其實它們兩個的原理差不多,只是第二個考慮得更全些。
10樓:網友
1,不可以。
2,不相同。
比較大小我記憶中有兩種經典的演算法冒泡法和排序法,你可以自己去查閱資料,這個也是乙個本科生應該有的能力,相信你自己!
演算法設計與分析這門課要怎麼學,《演算法分析與設計》課程講什麼內容
首先你要把一些典型的演算法搞清楚,如皇后問題,士兵渡河等等 然後就是 專一些常用的屬演算法,如遞迴,排序 接下來最重要的是要勤思考,思考一些解決問題的方法,說白了就是活學活用,勤學勤練。希望有幫助 演算法分析與設計 課程講什麼內容?演算法分析與設計 課程是理論性與應用性並重的專業課程。本課程以演算法...
戀愛高手幫我分析分析
先了解她的事,是否有男友了?如果沒有,肯定有機會。如果他有男朋友了,也有機會。所謂名花雖有主,鋤頭更無情啊。對於追求女孩,有機會就把握機會,沒有機會也得創造機會。男生嘛直截了當的說,我喜歡你,你也知道的,現在我還是喜歡你,做我女朋友可不可以。對我有什麼要求你可以提,能改的我一定改。這1年你幹嘛去了,...
演算法分析與設計這門課程第四章貪心演算法的知識點有哪些
演算法分析與設計這門課第四章貪心演算法的知識點包含章節導引,第一節活動安排問題,第二節貪心演算法基本要素,第三節最優裝載,第四節單源最短路徑,第五節多機排程問題,課後練習,計算機程式語言有哪些?答 成千上萬。最主流 c 最基礎 basic 工程應用 fortran 教學語言 pascal 計算機程式...