回答編集履歴
1
追記
answer
CHANGED
@@ -3,4 +3,8 @@
|
|
3
3
|
バイナリー・サーチでは、minは「検索対象の先頭データの位置」で、maxは「検索対象の最終データの位置**+1**」で管理します。そして、添字0から始まる配列の場合、最後のデータの位置+1=要素数となります。ですので、Nは要素数で良いのですよ。
|
4
4
|
|
5
5
|
さて、maxを「検索対象の最終データの位置**+1**」と表現するとコードを綺麗に書けるのですよ。
|
6
|
-
時間が許せば、maxを「検索対象の最終データの位置」を表現する方法で動作するよう改造してみると良いと思います。ちゃんと動作するコードは結構汚くなりますので、このメリットが良く判りますよ。そして、この性質はあちこちで使われているので、意外にためになると思います。
|
6
|
+
時間が許せば、maxを「検索対象の最終データの位置」を表現する方法で動作するよう改造してみると良いと思います。ちゃんと動作するコードは結構汚くなりますので、このメリットが良く判りますよ。そして、この性質はあちこちで使われているので、意外にためになると思います。
|
7
|
+
|
8
|
+
---
|
9
|
+
【追記】
|
10
|
+
すいません。一般化しすぎた回答になってました。[この質問](https://teratail.com/questions/21996)への私の回答で訂正していますので参照下さい。
|