請教一下,求比較次數+資料移動的次數之和
如何撰寫演算法?
uj5u.com熱心網友回復:
最原始的方式,用兩個全域變數a,b,在每一個回圈和分支陳述句中對變數進行遞增。
比如順序查找中,每當進行一次回圈,就對a++。
比如二分查找中(如果你的二分查找是遞回演算法,則直接在函式中放一個b++就行,如果是迭代版演算法,就在回圈中的每一個if else里面放一個b++)。
===================================
或者你可以傳一個指標或者參考來代替全域變數,當做函式的引數傳入對應的查找函式中。
基本思路就這樣了
===================================
另外說一句,這種計算次數之和實際上意義不大,用復雜度的角度來分析的話,對于有序序列,二分查找的效率為o(logn),而順序查找為o(n),顯然二分查找更好。當然,二分查找,一般只用于有序序列。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/69195.html
標籤:新手樂園
上一篇:這題是求成績及格率大于0.7,如果及格率小于0.7就把最接近60的數變為60再計算,怎么改,求求
下一篇:C語言回圈遇到了一些問題
