単調ではない最悪のケースの動作をする自然なプログラムまたはアルゴリズムを知っている人はいますか?
「自然プログラムまたはアルゴリズム」を定義してください。「アルゴリズム」という概念には私が知っている定義があり、単調ではない最悪の場合のランタイムの複雑さを持つアルゴリズムが確かに存在します (あなたが正しく認めているように)。不必要な作業を行わない場合、または解決する問題のクラスに対して実行時の複雑さが最小限である場合、プログラムは「自然」ですか? その場合、BubbleSort はアルゴリズムではないと主張しますか? さらに重要なことは、問題を、単調ではない最悪のケースの動作を持つ最も効率的なソリューションと定義できることです。そのような問題は「不自然」でしょうか?「自然な問題」の定義は何ですか?
もちろん、この振る舞いでプログラムを構築するのは簡単です。
それでは、本当の質問は何ですか?自然で有用なアルゴリズムと問題の定義にコミットするまで、あなたの質問には答えがありません。人々が現実の世界ですでに使用している既存のアルゴリズムだけに興味がありますか? もしそうなら、あなたはそれを述べるべきであり、問題は文献を検索することの1つになります. 率直に言って、単調ではないランタイムの複雑さを持つアルゴリズムの多くの例を排除する「自然で有用なアルゴリズム」の合理的な定義を想像することはできません...
しかし、大きな n に対して単調ではない便利なアルゴリズムに興味があります。
「有用なアルゴリズム」を定義してください。「アルゴリズム」という概念には私が知っている定義があり、単調ではない最悪の場合のランタイムの複雑さを持つアルゴリズムが確かに存在します (あなたが正しく認めているように)。問題を正しく解決する場合、アルゴリズムは「有用」ですか? 単調ではないランタイムの複雑さを持つアルゴリズムによって解決できる問題を簡単に定義できます。