Wenn man das Programmieren lernt, geht es früher oder später um das Sortieren von Elementen. Denn daran lässt sich prima üben, wie man größere Fragestellungen auf einfache Teilprobleme zurückführt, und ein paar grundlegende Programmstrukturen wie z.B. Verzweigungen (wenn - dann) oder Schleifen (so lange, bis) bimst man gleich mit. Stellen wir uns also mal eine Menge von vergleichbaren Elementen vor, z.B. ganze Zahlen, die zufällig gemischt vorliegen und aufsteigend sortiert werden sollen.
Da gibt es einen Sortieralgorithmus namens Bubblesort, der geht so: Fang ganz vorne an, vergleiche das erste Element mit dem zweiten. Ist das erste größer als das zweite, dann vertausche die beiden, andernfalls tue nichts. Dann gehe einen Schritt weiter, vergleiche das zweite mit dem dritten und so fort bis zum Ende der Liste - host mi.
Am Ende dieses ersten Durchgangs haben wir was? Sie da hinten? Jawoll, wir haben das größte Element am Ende der Liste. Nur das ist sicher. Deshalb fangen wir wieder von vorne an. Und Sie ahnen schon, warum der Algorithmus "Bubblesort" heißt: Weil die Elemente darin nach oben steigen wie die Perlen im Sektglas.
Jetzt höre ich die ganz vorlauten unter Ihnen schon quaken: "Ja, aber man kann den Algorithmus noch verbessern, man muss ja gar nicht jedes Mal bis ganz zum Ende laufen, weil nämlich beim zweiten Durchgang ist ja vorher schon klar, dass das letzte Element das größte ist, also braucht man da nur noch bis zum vorletzten zu laufen und dann nur bis zum drittletzten und so weiter."
Ihnen sei gesagt: Erstens haben Sie recht, zweitens sind Leute wie Sie tendenziell unbeliebt, ich spreche da aus leidvoller Erfahrung. Die einen jedenfalls verbessern schon Algorithmen, während die anderen ganz verstockt auf den Tisch starren und irgendwann in vorwurfsvoll-pampigem Ton fragen: "Und wozu brauche ich das? Wozu soll ich überhaupt Zahlen sortieren, und dann noch so umständlich? Ich verstehe das alles nicht."
Es macht dann wenig Vergnügen, solchen Menschen auch noch den Quicksort darzulegen, denn dieser ist weniger anschaulich zu beschreiben und dazu noch rekursiv. Die Rekursion, einerseits ganz zauberhaft, ist andererseits auch ein wenig unheimlich, denn wenn eine Funktion sich selber aufruft, na, das passt nicht so einfach in unser begrenztes, lineares Denken. Aber versuchen wir's, auch wenn mich Ihre verstockten Gesichter nicht gerade zuversichtlich stimmen. Wir haben wieder eine Liste von zufällig gemischten Zahlen. Wir denken uns eine Zahl als Grenzstein aus und zerhacken die ursprüngliche Liste in zwei Teile. Alles, was kleiner als der Grenzstein ist, kommt in die linke Liste, und was größer als der Grenzstein ist, kommt in die rechte Liste. Dann zerhacken wir jede dieser Teillisten wiederum auf die gleiche Weise und immer so weiter. Am Ende ist alles sortiert - ist doch logisch, oder? Und wenn Sie jetzt noch wissen wollen, was mit Elementen ist, die genau so groß sind wie der Grenzstein oder andere Schlaumeierfragen stellen wollen, dann wenden Sie sich an ihn hier vorne, der weiß ja eh alles besser und ich geh erst mal eine rauchen.
Gott - manche Teilnehmer sind echt anstrengend. Ich meine (hat mal jemand Feuer), die dummen sind anstrengend, das macht auch keinen Spaß, da redest du gegen die Wand, aber diese superschlauen, die alles besser wissen und gleich am Anfang mit Ideen ankommen - nee, do. Am besten sind so durchschnittlich bis leicht überdurchschnittlich interessierte und begabte Teilnehmer, man merkt die Fortschritte, aber die lassen einen in Ruhe erklären und stellen nicht permanent diese oberschlauen Fragen. Na, gehen wir wieder rein.
Was man jedenfalls auch gut sortieren kann: Socken. Es bleiben ja stets ein paar einzelne übrig, dagegen lässt sich einfach nichts machen, und alle paar Monate schütte ich die auf einen Haufen. Hier sehen Sie z.B. den Haufen, wie er sich heute darstellte, nachdem ich bereits etwa 35 Paar Socken wiedervereint und ihrer eigentlichen Verwendung zugeführt habe - dies also ist der harte Kern, dies sind die überzeugten Single-Socken:
Eine besondere Herausforderung sind die schwarzen. Denn auch wenn man sagen könnte: Schwarz ist Schwarz - Sie glauben ja nicht, wie viele unterschiedliche Schwarztöne es gibt, und der eine Stoff ist doch ein wenig dünner als der andere, bzw. hat eine andere Struktur, bzw. der Sockenschaft ist etwa 1 cm kürzer! Und wenn Sie dennoch zu der oberflächlichen Auffassung "Sieht eh kein Mensch" neigen, dann lassen Sie sich bitte gesagt sein: Sobald man zwei nicht ganz sicher zusammengehörende Socken zu einem "Paar" zusammenfügt, verhindert man effektiv, dass die jeweiligen tatsächlichen Partner auch nur den Hauch einer Chance haben, jemals wieder zueinander zu finden. Es kann also nicht nur darum gehen, möglichst viele Einzelsocken zu Paaren zusammenzufügen, drum prüfe, wer sich ewig bindt, ob sich nicht noch was Bessres findt, will sagen: Dann sind da halt noch ein paar einzelne, wir haben doch extra diese einen Meter breite Schublade, dann müssen die da eben noch auf die Zusammenführung warten, das mit der Wiedervereinigung dauerte doch auch seine Zeit und ging dann plötzlich ganz schnell.
Irgendwann allerdings ist durchaus zu überlegen, was man mit den hartnäckigen Restanten so anfängt. Ich weiß übrigens nicht, ob es das Wort "Restanten" tatsächlich gibt, ich hörte es erstmals im Jahre 2006 aus dem Munde eines Aquarienbesitzers, aber das führt jetzt zu weit. Man muss allerdings anmerken, dass das Wort irgendwie plausibel klingt, denn auf Französisch heißt "rester" ja nichts anderes als "bleiben", und von daher.
(Finden Sie eigentlich auch, dass es geradezu unverschämt ist, einen Satz mit "und von daher" zu beenden? Daraus spricht doch die pure Denk- und Formulierungsfaulheit.)
Die übriggebliebenen Socken jedenfalls lassen sich prima weiterverarbeiten. Ich zum Beispiel fertige regelmäßig Schlangen daraus. Ja, regelmäßig - einmal 1978 und dann wieder 2010, mithin also alle 32 Jahre ist es soweit, dass ich einzelne Socken heranziehe, um daraus Schlangen zu basteln. Und wohl dem, der über einen so reichlichen Fundus verfügt! Da kann man dann auch mal einen wirklich schönen gestreiften hernehmen, oder diesen braunen da mit den orangegelben Rosen, der nun schon seit Jahren einzeln in der Schublade herumliegt. Und dann braucht man bloß noch etwas Pappe und Klebstoff, nicht wahr, und kann zusammen mit seinen Kindern aus ausrangierten Gegenständen noch etwas wirklich Sinnvolles herstellen, denn so ein paar Schlangen, die kann man immer mal gebrauchen.
P.S.: "Wie - du hast meinen braunen Socken mit den orangegelben Rosen genommen!? Spinnst du!? Das finde ich jetzt total doof von dir! Der andere taucht bestimmt noch auf!!"
P.P.S.: "Hier, Papa, guck mal! Da ist ja doch noch genau so ein geringelter Socken!"
P.P.P.S.: Der schönste Sortieralgorithmus heißt übrigens Bogosort. Er funktioniert folgendermaßen: Wirf einfach alle Elemente durcheinander. Dann schau nach, ob sie sortiert sind. Wenn nicht, wirf sie erneut durcheinander.
Ueber das Sortieren kann ich nicht viel sagen. Das kann ich einfach nicht, meine Parameter werden während der Sortierungsphase regelmässig geändert (nach dem Motto: ich merke mir bestimmt, dass ich die ersten mit einem anderen Kriterium sortiert habe, das hole ich dann nach).
Das bring immer zu Kaoszustände die kein Algorhitmus mehr packt. Ausser von vorne anfangen und sich heimlich ärgern.
Das mit den Schlangen finde ich so toll, dass ich schon heute abend damit anfange. Ich freue mich schon auf die Bastelstunde.
Ich sage nur: Bücherregal. Der Plan: Alphabetisch nach Autor. Dann aber: Wie sieht denn das aus? Das eine Buch ist zu hoch, das andere steht vorne über - und schon ändert man sein Sortierkriterium zur Laufzeit. Eine harte Programmieranforderung. (Vorsicht beim Schlangenbasteln! Die lauernden Gefahren sind oben im Postskriptum angedeutet.)
Ich kaufe seit Jahrzehnten die immergleichen schwarzen seidenen Socken, bei denen ein Sortieren nicht unbedingt sinnvoll wäre. Oder gibt es am Ende dafür doch auch einen Algorhythmus?
Einerseits. Ich möchte aber kurz auf ein Thema eingehen, das gerne mit dem Begriffspaar(!) Nature-Nurture umrissen wird: Die ursprünglich hinreichend ähnlichen Exemplare entwickeln sich doch im Laufe ihres Sockenlebens unweigerlich auseinander - so wie Zwillinge, die trotz gleicher Erbmasse im Laufe ihres Lebens unterschiedliche Erfahrungen machen, die wiederum auf den Phänotyp zurückwirken. Nehmen wir nun, ich fange gar nicht erst mit "Bei der Geburt getrennt" an, aber nehmen wir diesen einen Socken, der mit der dunklen Bettwäsche bei 60 Grad gewaschen wurde und seither in der Sockenschublade auf seinen Bruder wartet. Dieser liegt noch im Wäschekeller, wird irgendwann am Boden der Tonne gefunden und kurzerhand mit der nächsten Feinwäsche mitgewaschen. Sicher erkennt man sie auch nach dieser divergenten Erfahrung als Brüder - und doch haben sich die unterschiedlichen Lebenswege und -erfahrungen jeweils individuell und unverlierbar eingeprägt. Und so liegen sie eines Tages vor einem, blass der eine, kräftig der andere, und wüsste man nicht um ihre gemeinsamen Wurzeln, hielte man sie bestenfalls für Cousins.
Auch gleichzeitig gekaufte, identische Sockenpaare entwickeln früher oder später ihre Eigenheiten, so dass sie nicht beliebig kombiniert werden können. Die Paare unterscheiden sich voneinander. Und dazu muss man sie nicht einmal falsch gewaschen haben.
Erst kürzlich dachte ich zurück an die Zeit der Listings. Man kaufte eine Computerzeitschrift und tippte seitenweise Programmcode ab, ohne ihn auch nur ansatzweise zu verstehen. Zwei Nachmittage später, nach Eingabe der letzten Zeile, folgte dann die Fehlersuche. In diesem Spaghetticode (Atari-Basic) konnte man sich verlaufen wie in einem Labyrinth aus schwarzen Socken.
Ich frage mich auch öfter, warum diese Sockenhersteller sich nicht auf eine einzige Farbe einigen können, sagen wir zwei Farben, schwarz weiss...was sollen alle diese Nuancen? wer soll sich da auskennen? Wieviel Zeit geht auf solche unnötige Arbeiten? Und soll man den Sortierungsvorgang gleich nach der (Misch)Waschmaschine oder wann sie trocken sind einleiten? Ich kann mich ärgern.
Armee, die größte über die Merkmale sollten einheitliche Kleidung! Hong Sijun das erste Mal, alle Offiziere und Männer zu tragen saubere Uniformen, auf die Uniform des Service-Mütze, die unsere Partei in der Geschichte des Gebäudes ist wichtiger Bedeutung. Sprechen zum ersten Mal in Uniform Szenario, Kennedy Eisen für ältere Menschen, wie die lächelnden Gesichter seiner Kinder: Dies ist das erste Mal Hong Sijun hat eine einheitliche Uniform! Beide setzen auf eine warme und ordentlich grauen Uniformen, die Soldaten ist ein sehr, sehr glücklich, Sie haben zusammen Ärmel, Hosen, fühle ich mich, zu sein scheint voller Luft.
Aus einzelnen Handschuhen mach ich übrigens immer (das heißt immer wenn das Jahr 2007 ist) Katzen. Leider kein Foto. Bitte unter "glauben" einsortieren.
[X] Die Finger abschneiden, Handschuh oben und am Daumenloch zunähen, stramm ausstopfen, auch unten zunähen. Dreieckige Ohren abnähen und den Hals mit einem eingezogenen Faden leicht abschnüren (Katzen können das vertragen). Katzengesicht aufsticken, zwei Finger ausstopfen und als Arme annähen, noch zwei Finger ausstopfen und als Beine annähen. Niedliches Bändchen häkeln und damit eine Schleife um den Hals binden.
Und jetzt Sie.
[ ] So genau wollte ich's gar nicht wissen.
[ ] Toll, das probiere ich mal aus.
[ ] Toll, aber ich möchte doch lieber ein Foto sehen.
ich bin stolzer besitzer von zwei sorten socken: "schwarz" und "schwarz mit aufdruck". und davon jeweils zwanzig paar, das reicht für jahre. einzelne exemplare edler burlington oderso, deren einer vertreter es wagen sollte zu schwächeln, werden knallhart entsorgt.
ein trauriges leben steht mir bevor, werde ich doch dereinst nix zum basteln für die brut haben.
es ist ein harter job, aber irgendjemand muss ihn machen.
der antiquarianer meines vertrauens spricht von "remittenden", was die rechtschreibprüfung früher unverzagt und beharrlich in "renitenten" umbog.
("und von daher" ist ein klasse satzende, aber sowas von!)
Wir Insider sprechen da von "Remmis", die übrigens, ähm, nicht immer alle ihren Weg zurück zum Pressegrossisten fanden. Ähm. Unerzählte Geschichten. Jedenfalls wäre tatsächlich zu überlegen, Socken im Abonnement zu vertreiben.
(Burlington! Damit könnten Sie prima Phil-Collins-Schlangen basteln.)
In meiner Videosammlung (ja - fast - alles noch analog!) befindet sich ein Kurzfilm aus dem Jahr 1986 mit dem Titel "Meine Socken" Darin wird anhand des bekannten Socken-Problems die Beziehugnsproblematik zwischen Männern und Frauen an sich erläutert. Der Autor hieß Martin Gressmann. Wenn das mal wieder auf 3sat wiederholt wird - unbedingt angucken!
Unter metaphysischen Gesichtspunkten ist die Sockenfrage noch viel komplizierter. Stellen Sie sich vor, ein Sock entschwindet durch, sagen wir mal eine Dimensionsspalte (bei Kugelschreiberteilen wurde das bereits dokumentiert), um es sich einige Zeit auf dem geheimen Sockenplaneten gemütlich zu machen. Nach der Sommerfrische beschließt er, wieder auf dem Grund der Sockenkiste zu materialisieren. Dort ruht er einige Zeit in sich, um dann eines Tages fröhlich „Hallo nnier, hier wäre ich dann mal wieder!“ zu rufen. Wie wollen sie seinen Bruder finden? Und selbst, wenn Sie ihn gefunden haben, wie wollen Sie die beiden wieder vereinen? Dem Remittenden Augen und Zunge abtrennen? Oder den Heimkehrer an den Patrioten angleichen? Oder die nun ungleichen Brüder auf einem Regal zur Mahnung und Besserung der Menschen und Socken ausstellen?
kugelschreiberoide lebensformen haben es auch viel einfacher, sind sie doch nicht zu zweit unterwegs - bei sockoiden ein unlösbares problem.
das immerwährende wehklagen der voneinander getrennten sockoiden hat schließlich als weltraumrauschen einige bekanntheit erlangt (zusätzlich auch als"weißes rauschen" in den achtzigern, der hochzeit der tennissocken).
Bei Tom Sawyer gibt es doch diese "Bruder, finde deinen Bruder!" Episode. Ich erinnere es nicht mehr ganz genau, aber er nahm den vorhandenen Teil des Paares (war es eine Murmel?) und warf ihn ziellos in die Landschaft - den Bruder zu finden.
Tomsa Wüer, so nannte ihn damals einer meiner Freunde, kenne ich weder aus den Büchern noch aus dem ZDF-Vierteiler wirklich gut. Ich habe neulich allerdings in kindlicher Begleitung immerhin die Zaunstreichepisode sowie einige schreckliche Taten des Herrn Indianer-Joe mit angeschaut und mir ca. zwei Wochen lang die Titelmelodie vorsummen lassen, denn ein aufmerksamer Nachbar schenkte mir das Werk bereits vor längerer Zeit auf DVD. Ich werde, was Brudermurmeln bzw. Murmelbrüder angeht, nachfragen und berichten.
Man kann ja froh sein, wenn jemand Konzepte wie Klassen, Vererbung, Eigenschaften und Methoden mal nicht mit Autos erklärt. Das Buch kenne ich nicht - erinnere mich aber an eines mit dem sympathischen Titel Java ist auch eine Insel, und der ganze EDV-Kram lässt sich für mich tatsächlich wesentlich leichter ertragen, wenn ich merke, dass ich es mit Menschen zu tun habe, die sich auch noch für ein paar andere Facetten des Lebens interessieren. (Das Buch gibt's sogar umsonst online, falls hier gerade mal jemand Lust hat, eine Programmiersprache zu lernen.)
Um hier kommentieren zu können, musst du bei blogger.de registriert sein. Das geht ganz schnell: Einfach auf Kommentieren klicken, dort "Noch nicht registriert?" anwählen und den gewünschten Benutzernamen und ein Passwort eingeben. Du kannst dann künftig in allen Blogs bei blogger.de kommentieren!