binäre Suche im Intervall

Mariexshhx

Bekanntes Mitglied
f (x) = 4 log2 x − 4 für x ∈ [1, 99]. Ist es möglich die Nullstellen dieser Funktion im gegeben intervall zu finden ? Ich hätte gesagt nein,weil die binäre Suche läuft ja über die Indexe also wöre Index 0 dann die 1 und Index 98 dann die 99. Doch was passiert wenn rechts und links neu gesetzt werden. Das kann doch nicht gehen weil die Zahlen ja keinen direkten Nachfolger haben. Das intervall ist zwar endlich, aber überabzählbar. Ich hoffe man konnte verstehen was ich meine. Kann mir dort jemand weiterhelfen ? Danke im vorraus :)
 

KonradN

Super-Moderator
Mitarbeiter
Nicht ganz - das dürfte die Fortsetzung sein, nachdem die Fragestellung mit Interval vs. Menge nicht beantwortet wurde (vermute ich)

Ich muss gestehen, dass ich Probleme habe, Dich zu verstehen. Das war aber auch schon beim anderen Thread so, als Du anfingst mit Menge und Intervall.

Das Problem ist, dass hier Begriffe verwendet werden, die so nicht gut definiert sind. Binäre Suche ist ein Verfahren, um bei einer Menge von (sortierten) Elementen sehr effektiv ein Element zu finden (oder eben nicht, wenn es nicht da ist).
Oder nach Wikipedia:
Die binäre Suche ist ein Algorithmus, der auf einem Feld (also meist „in einer Liste“) sehr effizient ein gesuchtes Element findet bzw. eine zuverlässige Aussage über das Fehlen dieses Elementes liefert.

Gegeben ist bei Dir aber eine Funktion (die hat erst einmal unendlich viele Elemente. Und zwischen zwei ungleichen Elementen hast Du immer wieder unendlich viele Elemente!)
Wenn Du eine Menge hast von Elementen für x, dann entsteht daraus eine klare Menge von Werten -> die binäre Suche wäre hier anwendbar.

Bei dem Intervall hast Du das aber nicht. Und da kann es dann prinzipiell sein, dass Du unendlich rechnest und nie zu dem Ergebnis kommst.

Der "Abstand" wird mit jeder Rechnung aber halbiert. Einfaches Beispiel:
Wir haben als untere Grenze x, diese Grenze x sei unsere Nullstelle. obere Grenze ist x+d. Wir prüfen also x+d/2, welches zu groß ist, daher haben wir die Grenzen x und x+d/2.
Das gleiche Spielchen, obere Grenze wird zu x+d/4, dann x+d/8, .... Du wirst nie x erreichen. Aber wer gut aufgepasst hat, der merkt hier auch: Das ist nicht die binäre Suche, wie wir diese sonst durchführen:
Die neue Grenze ist eben nicht der geprüfte Wert sondern eben ein Wert daneben!.
Also bei "12345" und ich suche die 2: Erste Grenzen sind 1 und 5 - > ich schaue bei der 3
Da der Wert zu hoch ist, suche ich nun mit den Grenzen 1 und 2 (und nicht 3 sondern 3-1!)
 

Mariexshhx

Bekanntes Mitglied
Nicht ganz - das dürfte die Fortsetzung sein, nachdem die Fragestellung mit Interval vs. Menge nicht beantwortet wurde (vermute ich)

Ich muss gestehen, dass ich Probleme habe, Dich zu verstehen. Das war aber auch schon beim anderen Thread so, als Du anfingst mit Menge und Intervall.

Das Problem ist, dass hier Begriffe verwendet werden, die so nicht gut definiert sind. Binäre Suche ist ein Verfahren, um bei einer Menge von (sortierten) Elementen sehr effektiv ein Element zu finden (oder eben nicht, wenn es nicht da ist).
Oder nach Wikipedia:


Gegeben ist bei Dir aber eine Funktion (die hat erst einmal unendlich viele Elemente. Und zwischen zwei ungleichen Elementen hast Du immer wieder unendlich viele Elemente!)
Wenn Du eine Menge hast von Elementen für x, dann entsteht daraus eine klare Menge von Werten -> die binäre Suche wäre hier anwendbar.

Bei dem Intervall hast Du das aber nicht. Und da kann es dann prinzipiell sein, dass Du unendlich rechnest und nie zu dem Ergebnis kommst.

Der "Abstand" wird mit jeder Rechnung aber halbiert. Einfaches Beispiel:
Wir haben als untere Grenze x, diese Grenze x sei unsere Nullstelle. obere Grenze ist x+d. Wir prüfen also x+d/2, welches zu groß ist, daher haben wir die Grenzen x und x+d/2.
Das gleiche Spielchen, obere Grenze wird zu x+d/4, dann x+d/8, .... Du wirst nie x erreichen. Aber wer gut aufgepasst hat, der merkt hier auch: Das ist nicht die binäre Suche, wie wir diese sonst durchführen:
Die neue Grenze ist eben nicht der geprüfte Wert sondern eben ein Wert daneben!.
Also bei "12345" und ich suche die 2: Erste Grenzen sind 1 und 5 - > ich schaue bei der 3
Da der Wert zu hoch ist, suche ich nun mit den Grenzen 1 und 2 (und nicht 3 sondern 3-1!)
und bei deinem Beispiel kommt es ja zu einem Problem wenn ich in dem Intervall Suche, denn wie du sagst ich suche dann nicht mit der Mitte als Grenze weiter, sondern mit der Mitte-1 bzw. Mitte+1. Wenn ich nun, aber ein Intervall von [1,99] habe, dann gibt es doch nie einen direkten Nachfolger und man weiß nicht wie die Grenzen neu gesetzt werden sollen oder funktioniert das doch ?
 

Mariexshhx

Bekanntes Mitglied
Nicht ganz - das dürfte die Fortsetzung sein, nachdem die Fragestellung mit Interval vs. Menge nicht beantwortet wurde (vermute ich)

Ich muss gestehen, dass ich Probleme habe, Dich zu verstehen. Das war aber auch schon beim anderen Thread so, als Du anfingst mit Menge und Intervall.

Das Problem ist, dass hier Begriffe verwendet werden, die so nicht gut definiert sind. Binäre Suche ist ein Verfahren, um bei einer Menge von (sortierten) Elementen sehr effektiv ein Element zu finden (oder eben nicht, wenn es nicht da ist).
Oder nach Wikipedia:


Gegeben ist bei Dir aber eine Funktion (die hat erst einmal unendlich viele Elemente. Und zwischen zwei ungleichen Elementen hast Du immer wieder unendlich viele Elemente!)
Wenn Du eine Menge hast von Elementen für x, dann entsteht daraus eine klare Menge von Werten -> die binäre Suche wäre hier anwendbar.

Bei dem Intervall hast Du das aber nicht. Und da kann es dann prinzipiell sein, dass Du unendlich rechnest und nie zu dem Ergebnis kommst.

Der "Abstand" wird mit jeder Rechnung aber halbiert. Einfaches Beispiel:
Wir haben als untere Grenze x, diese Grenze x sei unsere Nullstelle. obere Grenze ist x+d. Wir prüfen also x+d/2, welches zu groß ist, daher haben wir die Grenzen x und x+d/2.
Das gleiche Spielchen, obere Grenze wird zu x+d/4, dann x+d/8, .... Du wirst nie x erreichen. Aber wer gut aufgepasst hat, der merkt hier auch: Das ist nicht die binäre Suche, wie wir diese sonst durchführen:
Die neue Grenze ist eben nicht der geprüfte Wert sondern eben ein Wert daneben!.
Also bei "12345" und ich suche die 2: Erste Grenzen sind 1 und 5 - > ich schaue bei der 3
Da der Wert zu hoch ist, suche ich nun mit den Grenzen 1 und 2 (und nicht 3 sondern 3-1!)
also würden sie sagen die binäre Suche funktioniert in der Menge {1,....,99}, aber nicht im Intervall [1,99]?
 

KonradN

Super-Moderator
Mitarbeiter
und bei deinem Beispiel kommt es ja zu einem Problem wenn ich in dem Intervall Suche, denn wie du sagst ich suche dann nicht mit der Mitte als Grenze weiter, sondern mit der Mitte-1 bzw. Mitte+1. Wenn ich nun, aber ein Intervall von [1,99] habe, dann gibt es doch nie einen direkten Nachfolger und man weiß nicht wie die Grenzen neu gesetzt werden sollen oder funktioniert das doch ?
Du kannst dann nur die Stelle, die Du geprüft hast, als Grenze nehmen. Aber das ist streng genommen keine binäre Suche mehr!

Was wir hier haben ist ein mathematisches Annäherungsverfahren - da gibt es auch diverse Möglichkeiten / Optionen. Ein Beispiel wäre das Newtonsche Näherungsverfahren: https://de.serlo.org/mathe/1989/newtonsches-näherungsverfahren
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M binäre Suche Java Basics - Anfänger-Themen 4
amelie123456 Lineare Suche / Binäre Suche Java Basics - Anfänger-Themen 2
K Warum ist die binäre Suche bei der verketteten Liste nicht so effektiv? Java Basics - Anfänger-Themen 3
RudiRüssel Binäre Suche, unsortiert, lokales Maximum Java Basics - Anfänger-Themen 15
S Binäre-Suche Algorithmus Java Basics - Anfänger-Themen 1
S Binäre-Suche bei unsortierten Daten Java Basics - Anfänger-Themen 7
L Binäre Suche mit Comparator Java Basics - Anfänger-Themen 5
H Erste Schritte Binäre Suche Java Basics - Anfänger-Themen 37
H Rekursion Binäre Suche Java Basics - Anfänger-Themen 2
L Binäre Suche Java Basics - Anfänger-Themen 2
N Array, lineare Suche, binäre Suche, Programm bleibt unerwartet stehen... Java Basics - Anfänger-Themen 6
B Binäre Suche - Junit Test Java Basics - Anfänger-Themen 6
J Binäre Suche eines Array Java Basics - Anfänger-Themen 5
M Methoden Binäre Suche als rekursive Variante Java Basics - Anfänger-Themen 5
B Binäre Suche in einem String Array Java Basics - Anfänger-Themen 10
M Binäre Suche Fehler überall =( Java Basics - Anfänger-Themen 2
D Binäre Suche für Integerarray in rekursiver Funktion Java Basics - Anfänger-Themen 5
W Compiler-Fehler Binäre Suche Java Basics - Anfänger-Themen 2
S Multi-Threaded Binäre Suche Java Basics - Anfänger-Themen 29
A Binäre Suche Java Basics - Anfänger-Themen 2
W Binäre Suche Java Basics - Anfänger-Themen 8
O String Binäre Suche Java Basics - Anfänger-Themen 6
M Binäre Suche, Elemente einfügen Java Basics - Anfänger-Themen 2
A Binäre Suche; Java Basics - Anfänger-Themen 6
pkelod Binäre Darstellung Bitwise-Operator Java Basics - Anfänger-Themen 10
Cassy3 Binäre Bäume Rekursiv durchlaufen und bestimmte Elemente Zählen Java Basics - Anfänger-Themen 6
S binäre semaphore Java Basics - Anfänger-Themen 4
Aprendiendo Gibt es in der JAVA-API eine Funktion, die eine Dezimalzahl in eine binäre Zahl umwandelt? Java Basics - Anfänger-Themen 8
A Binäre Addition Java Basics - Anfänger-Themen 15
V Binäre Suchbäume Java Basics - Anfänger-Themen 1
M Compiler-Fehler Binäre Zahlen in Dezimalzahlen umrechnen Java Basics - Anfänger-Themen 3
K binäre Suchbäume Java Basics - Anfänger-Themen 3
A Binäre Addition Java Basics - Anfänger-Themen 5
E Binäre Bäume Java Basics - Anfänger-Themen 7
0x7F800000 wie pack ich komplette objekte in binäre dateien? Java Basics - Anfänger-Themen 4
F Binäre Exponentiation Java Basics - Anfänger-Themen 9
M binäre Daten als Double einlesen Java Basics - Anfänger-Themen 22
M binäre daten einlesen Java Basics - Anfänger-Themen 2
G Binäre Suchbaum + Erstellung des Programmes Java Basics - Anfänger-Themen 4
R Binäre logische Operatoren Java Basics - Anfänger-Themen 21
I Reflection: Suche Feld + in Unterklassen Java Basics - Anfänger-Themen 7
LimDul Suche Java Stream Tutorial Java Basics - Anfänger-Themen 2
M Suche Resteasy Example Java Basics - Anfänger-Themen 24
B Beliebiger String gegeben Suche Datum in String Java Basics - Anfänger-Themen 6
H Suche Java3D 32 bit Java Basics - Anfänger-Themen 20
F Suche nach betreuender Person für eine Jahresarbeit der 12. Klasse. Java Basics - Anfänger-Themen 6
H Suche jemanden für kleine Uni-Abgabe/ mit Vergütung Java Basics - Anfänger-Themen 1
Y Suche von Studenten anhand Ihrer Eigenschaften. Java Basics - Anfänger-Themen 1
F Auf der Suche in π Java Basics - Anfänger-Themen 13
C Suche Nachhilfe in Java Java Basics - Anfänger-Themen 5
T Binärbaum-Suche Implementation Java Basics - Anfänger-Themen 6
A suche dringend Hilfe!! Java Basics - Anfänger-Themen 6
N Operatoren Schreibtischtest der Reihen-Suche nach Aufschluss in die Basics Java Basics - Anfänger-Themen 1
B Suche free SVN Hosting Java Basics - Anfänger-Themen 12
S Java Lineare-Suche Zeitmessung Java Basics - Anfänger-Themen 5
S Java Lineare Suche Java Basics - Anfänger-Themen 1
E Die richtige Suche in der API Java Basics - Anfänger-Themen 1
S suche nach varible POSITION ... fuer das pixel-maennchen Java Basics - Anfänger-Themen 4
E Weg-Suche-Problem rekursiv Java Basics - Anfänger-Themen 12
B Suche Programme mit Fehlern Java Basics - Anfänger-Themen 9
jaleda100 Component für Suche Java Basics - Anfänger-Themen 4
L Suche ein sampel Projekt Java Basics - Anfänger-Themen 2
P Suche Aufwandsgenerator (o-notation) Java Basics - Anfänger-Themen 1
S Suche aktuelles 2D Grafik Tutorial Java Basics - Anfänger-Themen 5
M Suche hilfe bei Array Java Basics - Anfänger-Themen 4
J Methoden Suche effiziente Implementierung für eine Methode Java Basics - Anfänger-Themen 3
D Ich suche nach einer Möglickeit den Webseiten Inhalt per Java zu analysieren Automatisch Java Basics - Anfänger-Themen 3
B String: suche nach Wörter und in List<String> speichern Java Basics - Anfänger-Themen 3
D Erste Schritte Suche Quelltext Java Basics - Anfänger-Themen 7
M Rekursion Minimums Suche Java Basics - Anfänger-Themen 12
J Suche Hilfestellung Java Basics - Anfänger-Themen 10
G Erste Schritte Suche Java Programmierer für kleines Projekt Java Basics - Anfänger-Themen 1
J Suche die Emailadresse Java Basics - Anfänger-Themen 6
H Suche in Text und Markierung Java Basics - Anfänger-Themen 14
H Suche in einem Text Java Basics - Anfänger-Themen 17
J Suche simples Beispiel für die EOFException Java Basics - Anfänger-Themen 1
L Linerae Suche in einem sortierten Array Java Basics - Anfänger-Themen 2
I Innerhalb einer Methode suchen und hinzufügen. Neues Objekt in Suche dann? Java Basics - Anfänger-Themen 8
L Einfache Lineare Suche Java Basics - Anfänger-Themen 7
D Suche nach der Anzahl von Zonen zwischen zwei Punkten Java Basics - Anfänger-Themen 2
M Benutzerdefinierte Suche in einem String - outofbounds Java Basics - Anfänger-Themen 7
X Best Practice SUCHE ein gutes Javabuch! (kein Anfang von 0) Java Basics - Anfänger-Themen 5
A Heap Space Error bei rekursiver Suche in Dateien trotz nur einer Zeile im Speicher Java Basics - Anfänger-Themen 26
M Rekursive Suche in einem Feld Java Basics - Anfänger-Themen 11
S Suche richtigen Typ für Variabel mit den Werten (neu, gebraucht, beschädigt) Java Basics - Anfänger-Themen 7
M Best Practice Programmierstil Graphen-A*-Suche Java Basics - Anfänger-Themen 5
M Suche Hilfe bei sehr kleinen Quelltexten Java Basics - Anfänger-Themen 2
E Suche Klasse die eine Bedinung prüft und einen von zwei Auswahlwerten zurückgibt... Java Basics - Anfänger-Themen 6
D Erste Schritte suche hilfe für db-anbindung Java Basics - Anfänger-Themen 36
S Java Servlet - Suche Java Basics - Anfänger-Themen 1
P Hashing suche Java Basics - Anfänger-Themen 4
K Suche Hilfe bei einfachem Java Code ( Debuggen ) Java Basics - Anfänger-Themen 1
J Variablen Auf der suche nach einem Befehl Java Basics - Anfänger-Themen 2
Farbenfroh Suche Übungsaufgaben: BinaryTree, Stack Java Basics - Anfänger-Themen 0
D Binärbaum Suche Java Basics - Anfänger-Themen 5
U Vererbung Suche Hilfe anhand eines Bsp. Java Basics - Anfänger-Themen 1
L Suche Programmier-Projekt mit Anleitung Java Basics - Anfänger-Themen 3
A Suche Programmierer für Android App Java Basics - Anfänger-Themen 1
H Suche Vergleichstabelle für die Klassen String und StringBuilder Java Basics - Anfänger-Themen 1
X [SUCHE]Mitentwickler Java Basics - Anfänger-Themen 10

Ähnliche Java Themen

Neue Themen


Oben