faecher:informatik:oberstufe:algorithmen:binaere_suche:binsuchprogramm:start

Dies ist eine alte Version des Dokuments!


Ein Programm zur binären Suche

Arbeite mit dem folgenden Programmgerüst:

App.java
/**
 * Erzeugt eine geordnete Zufallsreihe und ermöglicht Abfragen darüber.
 * 
 * @author Frank Schiebel
 * @version 1.0
 */
class BinarySearch
{
    private int[] daten;
    int anzahl;
 
    public BinarySearch(int anzahl)
    {
        this.anzahl = anzahl;
        daten = new int[anzahl];
        int indexvorher = 0;
        for (int i = 0; i < daten.length; i++)
        {
            if ( i>0 ) {
                indexvorher = i -1;
            }
            daten[i] = getZufallszahlOrdered(daten[indexvorher],10*anzahl);
        }
    }
 
 
    public void binaereSuche(int zahl) {
 
 
    }
 
 
 
 
    public void anzeigen() {
        for (int i=0; i< anzahl; i++) {
             System.out.println( i + " -> " + daten[i] + " "); 
        }
    }    
 
    private int getZufallszahlOrdered(int basis, int grenze)
    {
        return (int)(2*(grenze-basis)/anzahl*Math.random()+1) + basis;
    }
 
}
 
 
/* App Klasse. Steuerklasse für unser Programm */
public class App {
 
    public static void main(String[] args) {
        BinarySearch liste = new BinarySearch(1000);
        liste.anzeigen();
 
 
    }
 
}
 

Probiere das Programm aus. Beschreibe, was es macht, verändere auch den Parameter anzahl bei der Erzeugung des BirarySearch Objekts. Welchen Einflüsse hat diese Änderung?

Implementiere eine Methode binaereSuche, welche den Index des gesuchten Elements zurückgibt oder -1, wenn der gesuchte Wert nicht gefunden wird.

    int gesucht=22;
    int treffer = liste.binaereSuche(gesucht);
    System.out.println("Der Wert " + gesucht + "befindet sich im Arrayelement mit dem Index " + treffer);
  • faecher/informatik/oberstufe/algorithmen/binaere_suche/binsuchprogramm/start.1593682848.txt.gz
  • Zuletzt geändert: 02.07.2020 09:40
  • von sbel