Lineare Suche & Binäre Suche einfach erklärt - Suchalgorithmen lernen [001] Coderadish https://www.youtube.com/watch?v=7nI3qHAG8G4 Transkript (automatisch erstellt) 0:00 hallo und herzlich willkommen zu diesem ersten video in der videoreihe algorithmen und zwar beschäftige ich mich in jedem video dieser reihe mit 0:09 einem oder mehreren algorithmen die zu einem bestimmten thema passen und heute schauen wir uns die lineare und die binäre suche an also wir kümmern uns um 0:19 such algorithmen aber zunächst und das ist ganz passend für das erste video schauen wir uns erst mal an was ist ein algorithmus überhaupt algorithmus das 0:34 wort dafür und das ist ein definierter ablauf zur lösung eines problems das heißt wir definieren so arbeitsschritte wie so ein kochrezept und kommen dann 0:44 von einem zustand in dem wir nicht haben wollen in einen zustand den wir haben wollen also wir haben ein problem gelöst und genau das kann man sich so ein 0:53 bisschen vorstellen wie wir haben eine definierte eingabe für einen algorithmus der algorithmus tut an irgendwas verarbeitet diese daten und gibt dann 1:01 irgendetwas aus das heißt was im idealfall halt das problem für uns löst so kann zb das sortieren wunderbar durch algorithmen 1:13 gelöst werden das heißt wir haben eine unsortierte liste oder was auch immer der algorithmus sortiert das dann um die ausgabe ist daneben die sortierte liste 1:24 sortier algorithmen sind übrigens sehr wichtig und deswegen schauen wir uns die auch an aber heute soll es uns suchen gehen 1:32 wir suchen als problem versuchen wir das ganze mal so in dieses reglement rhein zu pressen was wir jetzt gerade kennengelernt haben wir haben eingabe 1:42 beim suchen ist halt eine liste von elementen zum beispiel von zahlen es können aber auch texte das könnten bücher sein das kann alles mögliche sein 1:52 diese liste muss nicht sortiert sein die kann wild durcheinandergewürfelt sein hauptsache sie hat eine reihenfolge also ist es eine liste und unser problem ist 2:00 jetzt wir wollen wissen ob ein element was wir haben in dieser liste enthalten ist und wenn ja an welcher stelle das heißt zum beispiel hier unten haben wir 2:09 mal als beispiel eine liste von von ganzen zahlen die nicht sortiert ist und wir wollen jetzt wissen ist die zwei in dieser liste enthalten und wenn ja an 2:19 welcher stelle sehen wir als menschen natürlich sofort klar die ist da drin an vierter stelle sieht man doch an der computer muss dafür aber erst mal 2:28 tatsächlich ein verfahren anwenden um zu schauen ist diese zahl denn überhaupt in der liste drin genau zwei dieser verfahren werden wir uns jetzt anschauen 2:37 und wir fangen an mit dem verfahren der linearen suche ich habe also diese liste jetzt mal ein bisschen anders hin geschrieben und oben rechts die zahl in 2:48 dem gestrichelten gelben kreis die zählt uns jetzt mal die schritte in dieser verarbeitung in dieser suche mit ungleich ganz einfach mit dem zweiten 2:58 algorithmus vergleichen zu können wie viele schritte werden gebraucht haben und um das abzuschätzen zu können welcher algorithmus denn möglicherweise 3:06 schneller ist so also wir suchen das element 2 und die lineare suche ist jetzt wirklich straight forward wir fangen von links an und gucken ist das 3:16 erste element unserer gesuchtes element das heißt wir schauen schritt nummer eins oben rechts und die eins ist die 2 am ersten an erster 3:26 stelle steht fünf deswegen wird der vergleichsfall hier roth wir müssen weiter suchen so dann schauen wir weiter ist an der zweiten 3:36 stelle unsere zwei natürlich auch nicht dann schauen wir weiter ist an der dritten stelle die 2 ganz einfach schema f w wiederholen dass immer wieder ist es 3:46 auch nicht und jetzt kommen wir endlich an der stelle an der vierten jahren da ist unsere zwei wir sind am ende und können jetzt sagen an position vier 3:55 befindet sich dieses element wunderbar relativ einfach linear heißt die suche deswegen weil wir halten linear von links nach rechts 4:04 wie in einer linie die liste durchsuchen durchblättern quasi das wäre zum beispiel analog wenn man jetzt einen weg von karten hätte von spielkarten und man 4:15 würde eine bestimmte karte suchen und müsste man auch von vorne jede einzelne karte durchgehen weil man sich nicht alle karten 4:21 gleichzeitig angucken kann es sei denn man möchte sie alle auf den tisch legen das dauert aber meistens länger als einfach die karten eins zu eins durch zu 4:29 geben so jetzt schalten wir mal kurz in netbeans und gucken uns mal ein stückchen java code an was diese lineare suche implementiert das habe ich nämlich 4:42 für euch mal gemacht ich schalte mal kurzum wir sehen jetzt hier ich habe hier mal in einer kleinen methode die lineare suche implementiert wir sehen 4:54 hier ganz schön die lineare suche über bekommt übergeben einen integer wert also eine zahl die wir suchen innerhalb der liste dann bekommt sie einen ein 5:07 integrer übergeben was die liste enthält kurz noch mal als querverweis zu meiner anderen videoreihe grundlagen der programmierung wenn euch das jetzt alles 5:17 hier nichts sagt das ist nicht schlimm [Musik] ihr könnt das abklären schaut er gerne in der videoreihe grundlagen der 5:27 programmierung nach dann werdet ihr über methoden über integre race über schleifen aufgeklärt und das ist sehr spannend und macht natürlich auch sinn 5:38 wenn man sich über algorithmen informiert auch ein bisschen in die programmierung zu schauen und umgekehrt und gerade der umgekehrte weg zurück zum 5:46 algorithmus also wir übergeben die liste und das gesuchte element und zurück gibt die funktion uns ein internet das ist jetzt allerdings nicht das gesuchte 5:57 element das wäre ja einfach nein das ist die position innerhalb der liste an der sich das gesuchte element befindet oder die zahlen - einst als stellvertretendem 6:07 wert dafür falls das element nicht gefunden wurde und jetzt schauen wir uns mal das innenleben dieser methode ein wenig 6:15 genauer an hier ist der algorithmus im prinzip wie wir ihn gerade gesehen haben implementiert und zwar gibt es eine 6:22 schleife diese schleife läuft von 0 bis zur länge der liste liest punkt längst ist die länge der liste und zwar läuft sie so lange wie kleiner ist als die 6:35 länge der liste und mit jedem durchlauf dieser schleife erhöhen wir die variable die hero vorne ja auf null gesetzt wird um 1 und jetzt geben wir die liste durch 6:47 also wir sind jetzt beim ersten element listen race fangen immer werden fangen wir beim 0 1 element in der programmierung an und gucken jetzt ob 6:59 unser gesuch des elements das element in der liste ist und wenn ja dann geben wir das geben wir die position nämlich die unsere zähler variable ii einfach zurück 7:08 wenn nicht geht die schleife ein zweiter wird um 1 erhöht wir sind jetzt bei der position eins und dann schauen wir wieder ist das gesuchte element jetzt 7:16 gerade an unserer position wenn ja geben wir es zurück wenn nicht geht es weiter und so weiter bis wir am ende der liste angekommen sind das heißt wenn der 7:27 listen länge entspricht dann sind wir am letzten element angekommen und dann wenn wir es dann immer noch nicht gefunden haben dann gehen wir einfach die - 1 7:35 zurück relativ einfach und bringt uns zum ergebnis sehen wir hier aber auch wenn man das mal so revue passieren lassen 7:47 wenn wir gerade gesehen an der vierten stelle brauchen wir genau vier operationen um das element zu finden und im worst case brauchen wir dann also so 7:57 viele operationen wie die liste lang ist das heißt bei ganz ganz langen listen ist diese lineare suche natürlich zeitaufwendig wir schauen uns jetzt 8:12 nochmal das ganze an wenn es laufen lassen dafür habe ich hier oben das kommentiere ich nochmal aus das sehen wir nämlich gleich dafür habe ich das 8:22 hier oben nämlich mal laufen lassen also ich hole mir eine liste von entwerten ein engel von entwerten und zwar geht das von ist es eine zufällige liste und 8:33 die geht von null bis die enthält werte die zwischen 0 und 1 und 10.000 sind und sie ist 10.000 elemente lang und unser such wert der ist auch eine zufällige 8:43 zahl zwischen null und 10.000 dann gebe ich aus welchen wert wir suchen dann wenn dich die lineare suche an und gebe aus an welcher position ich sie gefunden 8:53 habe und noch mal zur sicherheit welches element sich dann an der position in der liste findet und das muss ja dann genau das gesuchte sein 9:00 das kann zu lassen wir jetzt mal laufen so wir suchen wie 1751 und haben gesehen in unserer 10.000 zeichen oder 10.000 9:14 zahlen langen liste ist dieses an position 6201 und der wert ist 1751 das hier ist natürlich gleich deswegen hat das natürlich geklappt wir jetzt aber 9:26 gemerkt haben bei langen listen und mit langen listen meine ich keine 10.000 elemente wie gesehen habt geht das ratzfatz nein lange listen sind wirklich 9:35 millionen milliarden billionen elemente in datenbanken würde man selten ist oder nur im notfall wenn nichts anderes geht nicht lineare suche machen und da wird 9:47 dann auch relativ schnell relativ langsam wir schauen wir uns jetzt aber nochmal eine effizientere art der suche und zwar 9:55 die sogenannte binäre suche die binäre suche hat einen kleinen unterschied und das ist hier gelb markiert und zwar ist die eingabe eine sortierte liste von 10:08 elementen das heißt die darf nicht wild durch gewürfelt seien die muss sortiert sein ist schon mal nachteil gegenüber der linearen suche und das problem ist 10:17 dasselbe wieder bei der linearen suche wir wollen wissen wenn ja also wenn das element enthalten ist wo ist es denn und ich habe hier jetzt auch schon mal 10:24 eine sortierte liste von 1 bis 10 das sind einfach die zahlen von eins bis zehn sie könnten auch doppelt vorkommen habe ich jetzt aber nicht gemacht der 10:31 einfachheit halber und wir suchen jetzt die 3 so auch hier wieder oben rechts die anzahl der schritte in einer liste mit 10:39 zehn elementen das ist jetzt also doppelt so lang wie vorhin und dann fangen wir an und zwar läuft die binäre versuche jetzt so ab wie ihr seht schon 10:51 wir suchen uns einem element was sehr nahe in der mitte ist bei einer liste von zehn zahlen ist das natürlich entweder die fünfte die sechste position 11:03 ich habe mich jetzt mal dafür entschieden die linke von den beiden zahlen zu nehmen also die mitte wäre ja 5,5 und dann habe ich einfach die 11:12 nachkommastellen abgeschnitten wir schauen uns also das mittlere elemente an dass mittels der element der minister und gucken ist dass unser gesuchtes 11:20 elemente in dem fall nicht und jetzt gucken wir nochmal ist denn dieses element was wir gerade betrachtet haben größer oder kleiner als das element was 11:27 wir gerade haben in dem fall würde ich sagen unser gesuch des element ist definitiv kleiner als die 53 ist kleiner als fünf und dann 11:35 wissen wir ja weil die liste sortiert ist alles was jetzt größer ist als das element was wir uns gerade angeguckt haben das kann es ja schon mal nicht 11:42 sein weil jetzt kommen wir nur noch zahlen die größer als 5 sind das heißt wir blenden quasi die liste aus die rechts von unserem angeschauten elemente 11:52 ist genau und jetzt machen wir das fange wieder von vorne an wir nehmen wieder die mitte der verbleibenden liste jetzt kleiner ist halb so klein um genau zu 12:04 sein und gucken uns wieder an ist das unser gesuch des element nähe ist diesmal auch nicht die 2 jetzt wissen wir aber die zwei ist kleiner als unser 12:13 gesucht das element die drei das heißt jetzt ist links von dem von unserem betrachteten element alles nicht dichter kann unsere zahlen nicht mehr vorkommen 12:24 das heißt wir schließen dass auch auf zack und jetzt von den zwei elementen die mitte ist jetzt 3,5 dann habe ich mich auch entschieden dass linke zu 12:34 nehmen das ist jetzt zufällig das richtige hätte ich mich jetzt am anfang des algorithmus dafür entschieden das rechte zu nehmen wären wir jetzt 12:42 noch einen schritt vom ergebnis entfernt aber wir sehen jetzt jetzt ist es das richtige element wir haben quasi unser ziel erreicht und das nach nur drei 12:54 schritten quasi nun wir sehen schon bei einer liste die zehn elemente lang ist nur drei schritte zu brauchen das schafft die lineare suche nur wenn das 13:02 element auch an der dritten stelle ist würden wir jetzt die zehn suchen in dieser liste bräuchte sie zehn vergleichen 13:09 die lineare suche wohingegen die binäre suche immer noch kürzer wäre und das ist in der tat für alle fälle so jetzt haben wir uns noch mal ganz kurz 13:21 auch hier die implementierung in java an wir gehen wieder zurück in netbeans und jetzt kann ich das hier auch aus kommentieren ich habe dasselbe was ich 13:34 hier oben angewendet habe auch für die binäre suche gemacht hier finden wir sie wir gucken uns aber zunächst einmal die funktion binäre suche an beine research 13:42 da brauch ich glaube ich ein bisschen mehr platz hier so wie es jetzt ein bisschen länger ein bisschen kompliziert habe weil der algorithmus noch ein 13:51 bisschen komplizierter ist wir kriegen wieder das such element und die liste übergeben und wir geben wieder die position des 14:02 gesuchten elements innerhalb der liste zurück oder die - einst so zunächst definieren wir zwei variablen und zwar die start und and start und sind quasi 14:17 der teil der liste also das erste und das letzte element innerhalb dieser liste was den teil definiert indem wir noch suchen wollen das war der teil den 14:27 ich vorhin in der präsentation in der in der animation nicht ausgeblendet hatte also der ja der bunte teil denken wir der schwarze teil das war der der jetzt 14:39 quasi außen vor war und dann schauen wir so lange start und endpunkt ja nicht derselbe sind das heißt also solange wir noch platz zum 14:52 suchen haben suchen wir auch und wir berechnen jetzt wie wir gerade im algorithmus auch gesehen haben dass mit letzte element das ist mathematisch 15:04 jetzt ein bisschen komplizierter ausgedrückt wir schauen erst mal wie lang ist die liste überhaupt die wir hier so betrachten teilen das ganze 15:14 durch zwei das ist das mittlere element in java muss man wissen wenn man integer werte durch zwei teil dann ist das die integra division die ganze zahl der 15:22 vision das heißt er schmeißt die nachkommastellen auch weg passt uns ganz gut wir haben ja gerade auch immer das linkeste element betrachtet wenn die 15:30 hälfte halt zwischen zwei elementen war und wir müssen natürlich noch den startwert obendrauf rechnen weil es könnte ja sein dass wir nicht am anfang 15:38 unserer ursprünglichen liste anfangen sondern wir bereits schon von links auch als abgeschnitten haben das ganze berechnet uns also das element was wir 15:45 uns gerade betrachten und das prüfen wir dann auch die rag ist noch gerade betrachtete mittlere element denn unser gesuch des element wenn ja dann geben 15:57 wir direkt diese element position quasi zurück dass es dann unser ergebnissen wenn nicht müssen wir noch schauen ist denn das element was wir gerade 16:07 betrachtet haben dieses mittel element ist das jetzt größer oder kleiner unseres gesuchten elementes wenn es größer ist heißt das ja dass links von 16:18 uns in der liste das gesuchte element sein muss rechts kann es nicht mehr sein das heißt wir setzen das ende auf das gesuch jetzt 16:28 gerade angeguckt element das heißt wir schneiden von rechts alle elemente weg und gucken jetzt nur noch bis zu dem element was wir gerade 16:36 angeguckt haben ist das gerade angeguckt center element den kleiner als search dann setzen wir den staat wert auf den center wert also auf das element was wir 16:50 gerade bei uns angeguckt haben weil wir von links abschneiden hier ist noch zu beachten wir setzen den 16:55 wir schneiden von links ein element mehr ab das hat den grund wenn wir das nicht tun würden würden wir irgendwann am 1 an einer stelle ankommen an den start 17:10 und enden noch 1 voneinander entfernt sind [Musik] wir arbeiten uns da nicht weiter bewegen 17:18 also es bleibt dann immer bei einer bei der entfernung 1 und die werden nie aufeinander geschoben das heißt der algorithmus würde in dem fall dann nie 17:25 zum ende kommen wäre schlecht und das machen wir so lange wir berechnen also von dieser neuen start und endwert situation wieder die mitte schauen uns 17:35 die mitte an ist es das nicht verkürzen wir wieder links oder rechts die liste und machen weiter bringt das irgendwann das ganze nicht zum ziel das heißt den 17:43 start und endwert jetzt gleich das heißt hat betreffen wir zu noch ein einziges element und dann ist die schleife vorbei dann sagen wir okay das element ist es 17:52 ja wohl auch nicht das element ist in dieser liste nicht enthalten und wir geben die - 1 zurück und das kann man jetzt auch gerade mal 18:01 ausführen natürlich darauf möchte ich euch noch mal speziell hinweisen hier oben ist das linear die lineare suche wir schauen jetzt hier noch mal ob 18:09 wir was ausgeben müsste überhaupt nichts gefunden wurde das kann ja auch sein und danach sortiere ich die liste das ist die voraussetzung für die binäre suche 18:20 dass die liste sortiert ist jetzt vorher haben wir uns ja nie zufällige liste generiert die waren nicht sortiert logischerweise und dann mache ich genau 18:29 dasselbe wie hier oben mit der lineare besucher auch ich wende sie an und gucke bedienen die position an und gebe dementsprechend je nachdem ob was 18:36 gefunden wurde oder nicht die zwei textzeilen aus um das machen wir jetzt auch gerade mal und wir haben jetzt einen fall gehabt okay wir suchen die 18:47 sieben 1941 und natürlich die beiden suchen in derselben liste nur einmal sortiert einmal nicht die dürften natürlich wenn sie nichts finden nichts 18:55 finden beide wohlbemerkt das schauen wir uns also noch mal an und nochmal bis wir mal ein ergebnis haben wo was gefunden wurde 19:06 hier zum beispiel wir suchen die 9000 7 50 und in der unsortierten liste hat die lineare suche das element an der stelle 9 1681 also relativ weit hinten logisch 19:20 ist ja auch eine sehr relativ weit hinten ist nicht logisch ist ja umsortiert gefunden und zum check nochmal den wert an dieser stelle 19:27 ausgegeben und das ist tatsächlich unser gesuch das element bei der binären suche ist es jetzt eine andere position logisch weil es wurde ja sortiert jetzt 19:36 ist sich logisch dass die 9750 relativ weit hinten in dieser liste ist nämlich beim 9 1755 wert weil die ist ja sortiert das heißt die hohen zahlen sind 19:48 am ende und auch hier ist unser gefundenes element 9750 das heißt das stimmt und 19:59 genau der unterschied ist allerdings dass wir hier unten das sehen wir jetzt natürlich nicht aber nur relativ wenige ich würde schätzen 13 oder 14 schleifen 20:10 durchläufe gebraucht haben während wir hier oben ja auf jeden fall 1681 schleifen durchläufe gebraucht haben weil wir von links dass ihr 20:19 zurückgeben das ist ja genau diese zahl hier das heißt diese zahlen muss bis 9 1681 gelaufen sein das heißt das ist ja schon 20:26 eine sehr große anzahl an schleifen würde ich jetzt mal sagen während wir hier unten wahrscheinlich nur 13 bis 14 schleifen durch läufe 20:37 gemacht haben weil wir immer wieder die hälfte von 1000 weggeschmissen haben also dann nach dem ersten durchlauf waren sie nur noch 500 elemente 250 20:47 elemente 125 elemente und so weiter und so fort das heißt hier kommen wir relativ schnell zum ergebnis ist muss aber nur 20:58 sortierte liste sein und ja das thema das nennt sich komplexität das schauen wir uns auch noch mal ganz kurz an die lineare suche 21:08 die läuft im schlechtesten fall wir gucken uns immer den schlechtesten fall an so lang wie die liste ist also das element steht ganz links oder es kommt 21:15 gar nicht vor da muss die lineare suche einmal durch die gesamte liste rauschen gucken ist das überhaupt richtig da drin 21:21 das nennt sich die komplexität die wird immer in der schreibweise und dann in klammern und dann eine formel angegeben das ist die große uhr schreibweise und 21:35 hier ist es so von nn ist eine variable aus der mathematik kennt man und n ist halt die anzahl der elemente in der liste macht sind also der schlechteste 21:45 fall ist immer um die laufzeit ist so lang wie die liste die komplexität bei der bienen ehren suche ist es anders da ist es immer weniger als die listen 21:54 länge und smart teilen wir die listen länger immer wieder durch zwei bissen wir sind nicht mehr geht es nicht mehr teilbar ist und wer jetzt ein bisschen 22:02 mathematik kann der wird direkt daran denken das ist doch logarithmisch von 2 das ist also logarithmisch und das gucken wir uns gleich mal in dem 22:11 diagramm an wie denn eine logarithmische verlauf ist und dann wenn wir dann genau sehen dass das auf jeden fall schneller ist und das machen jetzt auch gerade mal 22:21 die haben wir also ein kleines diagramm habe ich mitgebracht einmal eine lineare funktion und einmal die logarithmische funktion die es ein bisschen angepasst 22:33 kann wundert euch nicht wer es genau wissen will das ist der logarithmisch zur basis 2 von enplus 1 muss aber nicht interessieren wichtig 22:43 ist die komplexität der binären suche ist lockt von enden und wir sehen hier das können wir mal gemeinsam gucken wir schauen mal auf der x-achse ist die 22:54 listen länge aufgetragen und auf der y-achse die berechnung schritte bei der linearen suchen wir gucken mal bei fünf elementen brauchen wir fünf berechnungs 23:03 schritte das macht sinn maximal im schlechtesten fall wir gucken jetzt für unser beispiel bei 10 elementen für die binäre suche 23:13 bräuchten wir nur 4,1 ein paar zerquetschte durchläufe also vier durchläufe kann ja kein halben schleifen durchlauf machen das geht nicht 23:25 das ist natürlich deutlich schneller als die lineare suche die im schlimmsten fall zehn durchläufe bräuchte jetzt ist komplexität aber nicht gleich 23:34 komplexität denn wir sehen jetzt natürlich noch mal lineare suche ist offen also linear wie wir gerade gesehen haben 23:41 binäre suche hat eine komplexität von roll okay das ist jetzt ein bisschen besser je mehr elemente desto also bei hohen element zahlen bleibt es immer 23:51 noch schön niedrig in der komplexität in der laufzeit in den schleifen durchläufen aber wir hatten ja diese voraussetzung dass die binäre suche eine 24:01 linie quatsch eine sortierte liste als eingabe brauche jetzt haben wir nicht immer neu sortierte liste das heißt wenn wir wirklich die beiden 24:10 algorithmen gegeneinander antreten lassen wollen würden so eins zu eins mit gleichen voraussetzungen dann müssten wir ja binären suche immer noch nur 24:20 liste muss sortiert sein auch die komplexität des sortier algorithmus mit drauf rechnen haben wir gerade im code auch gesehen ich muss die liste vorher 24:28 mit race punkt sword sortieren das heißt das kostet natürlich auch noch mal zeit jetzt gibt es aber ganz ganz viele fälle 24:36 wo wir schon eine sortierte liste haben oder wo wir die liste sowieso sortieren weil wir das brauchen in den fällen können wir dann im 24:44 anschluss natürlich viel besser die binäre suche machen weil die dann nicht noch mal eine lineare laufzeit oben drauflegt das heißt man muss immer im 24:54 anwendungsfall abwägen welchen algorithmus man denn jetzt braucht und da auch mal noch mal genau hingucken ob die algorithmen die man da vergleicht 25:02 auch wirklich vergleichbar sind ich würde sagen eure aufgabe ist jetzt dass ihr mal versucht in java oder in 25:15 der programmiersprache eurer wahl die lineare und die binäre suche zu implementieren schaut mal erschöpft wenn ihr noch nicht 25:22 so weit seien im programmieren kein problem schaut euch meine videos zu den grundlagen zum programmieren an 25:29 ich würde sagen spätestens ab zwei dritteln ab der hälfte dieses kurses müsstet ihr soweit sein und diese algorithmen implementieren können und 25:40 das macht ganz ganz viel spaß schaut mal ob wir vielleicht auch einbauen können dass sie die schleifen durchläufe zählt um die werde dann sehen dass die binäre 25:48 suche mit den richtigen voraussetzungen natürlich viel viel effizienter ist wenn man sowieso sortieren muss wenn man nicht sortieren muss dann würde ich dann 25:58 doch lieber die lineare suche nehmen schaut mal wie ihr das spielt einfach mal ein bisschen damit rum ich würde sagen wir sehen uns im 26:08 nächsten video bis dann