tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトル二分探索を再帰で・・・
記事No8574
投稿日: 2009/01/13(Tue) 18:44
投稿者
初めまして京ともうします。
早速なのですがVB.netで二分探索を再帰で作りたいと思っています。
再帰を使わない二分探索は作れたのですが再帰を使うとどこがどうなるかがよく分からなく作れません。

もしよかったらご教授願えないでしょうか。
よろしくお願いします。

[ツリー表示へ]
タイトルRe: 二分探索を再帰で・・・
記事No8575
投稿日: 2009/01/13(Tue) 19:34
投稿者るしぇ
再帰関数は自分自身を呼び出す関数です。再帰関数は、前の繰り返し結果を使用して
同じ演算を複数回数繰り返すアルゴリズムによって問題を解決できる場合に便利です。
逆に同じ演算が無いのであれば使えません。
>再帰を使わない二分探索は作れたのですが
その処理に同じ演算が複数回数繰り返すアルゴリズムがあるか確認し、
あれば、その部分を別関数として抜き出してください。

[ツリー表示へ]
タイトルRe: 二分探索を再帰で・・・
記事No8576
投稿日: 2009/01/13(Tue) 19:50
投稿者魔界の仮面弁士
二分探索なら、SortedList クラスで十分な気がします。
(事前に Array.Sort する手間を惜しまないなら、Array.BinarySearch でも可)

もしかして、アルゴリズムの勉強なのでしょうか?
だとしたら、VB コードそのものを提示しない方が良いのでしょうね。

> 早速なのですがVB.netで二分探索を再帰で作りたいと思っています。
とりあえず、このあたりとか。

http://www2.cc.niigata-u.ac.jp/~takeuchi/tbasic/BackGround/Search.html
Visual Basic ではなく Tiny Basic の実装ですが、
再帰を使った例と使わない例が掲載されています。

http://www-toralab.ics.nitech.ac.jp/lecture_itota/programming2_2006/pdf/08.pdf
やはり VB では無いですが、再帰的探索と非再帰的探索の両方を説明しています。

[ツリー表示へ]
タイトルRe^2: 二分探索を再帰で・・・
記事No8582
投稿日: 2009/01/15(Thu) 00:02
投稿者
皆さんありがとうございます。

繰り返しの部分があるような気もするのですがなかなかよく分かりません・・・。

あとアルゴリズムの勉強と言うよりは興味が沸いたからやっているようなものです

[ツリー表示へ]