在C語言中使用二分法演算法思想解決猜商品價格問題

2021-09-13 20:00:53 字數 658 閱讀 7266

電視**活動中,根據主持人給出的提示(高了還是低了),觀眾在規定時間內猜中該商品**即可獲得該商品

所謂的二分查詢法,其實是一種有序的查詢方法,也稱折半查詢(binary search),如果是無序的則要先進行排序操作。基本思想是:目標值通過與中間元素比較,可分為三種情況:

第一種情況:目標值與中間元素相等,查詢結束;

第二種情況:目標值比中間元素大,則把後半部分的中間元素與目標值比較;

第二種情況:目標值比中間元素小,則把前半部分的中間元素與目標值比較;

這三步一直迴圈,直到查詢結束。

效果如下:

**如下:

//

// main.c

// 資料結構

//// created by ylb on 2019/3/27.

//#include int main()

else if(price

else

}return 0;

}

演算法 二分法C

今天刷劍指offer做到乙個二分法。來複習一下。基本思路 1 首先,從陣列的中間元素mid開始搜尋,如果該元素正好是目標元素,則搜尋過程結束.2 如果目標元素大於 小於中間元素,則在陣列大於 小於中間元素的那一半區域查詢,然後重複步驟 1 的操作。3 如果某一步陣列為空,則表示找不到目標元素,返回 ...

二分法 演算法

查詢演算法中的 二分法 是這樣定義的 給定n個從小到大排好序的整數序列list,以及某待查詢整數x,我們的目標是找到x在list中的下標。即若有list i x,則返回i 否則返回 1表示沒有找到。二分法是先找到序列的中點list m 與x進行比較,若相等則返回中點下標 否則,若list m x,則...

演算法 二分法

二分法可以歸為兩大類 二分查詢演算法 二分排序演算法 二分合併演算法 演算法中經常用到二分查詢演算法,比如最常規的應用就是在乙個有序陣列中找特定的數,但是如何寫出乙個完整準確的二分法呢,邊界條件如何判斷,到底是等於還是不等?可能會困惱大家,比如說查詢第乙個等於5的數,那又在如何查詢呢?查詢最後乙個等...