teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記

2015/12/08 01:43

投稿

Chironian
Chironian

スコア23274

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)への私の回答で訂正していますので参照下さい。