1. 程式人生 > >【演算法設計與資料結構】三分法:求單峰函式的極值

【演算法設計與資料結構】三分法:求單峰函式的極值

介紹

三分法的思路與二分法很類似,不過其用途沒有那麼廣泛,主要用於求單峰函式的極值。

這裡寫圖片描述

示例程式碼

void Solve()
{
    double left, right, m1, m2, m1_value, m2_value;
    left = MIN;
    right = MAX;
    while (left + EPS < right)
    {
        m1 = left + (right - left)/3;
        m2 = right - (right - left)/3;
        m1_value = f(m1);
        m2_value =
f(m2); //假設求解極大值 if (m1_value >= m2_value) right = m2; else left = m1; } }