Mumien, Analphabeten, Diebe.
Du hast's gut, du hast dein Leben noch vor dir.
Bogosock
nnier | 04. März 2010 | Topic In echt
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.

Link zu diesem Beitrag (29 Kommentare) | Kommentieren [?]  




venice_wolf, Donnerstag, 4. März 2010, 16:47
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.

Link zu diesem Kommentar | Kommentieren [?]


nnier, Donnerstag, 4. März 2010, 19:43
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.)

Link zu diesem Kommentar

Kommentieren [?]


jean stubenzweig, Donnerstag, 4. März 2010, 17:02
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?

Link zu diesem Kommentar | Kommentieren [?]


nnier, Donnerstag, 4. März 2010, 19:58
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.

Link zu diesem Kommentar


arboretum, Donnerstag, 11. März 2010, 20:24
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.

Link zu diesem Kommentar

Kommentieren [?]


kid37, Donnerstag, 4. März 2010, 17:13
Oh ja, schwarze Socken. Den passenden finden ist so aufwendig wie die falsche Zeile Code in einem langen, langen Skript aufzustöbern.

Link zu diesem Kommentar | Kommentieren [?]


nnier, Donnerstag, 4. März 2010, 20:08
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.

Link zu diesem Kommentar

Kommentieren [?]


venice_wolf, Donnerstag, 4. März 2010, 17:14
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.

Link zu diesem Kommentar | Kommentieren [?]


nnier, Donnerstag, 4. März 2010, 20:13
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.

Link zu diesem Kommentar

Kommentieren [?]


hora sexta, Donnerstag, 4. März 2010, 18:47
Aus einzelnen Handschuhen mach ich übrigens immer (das heißt immer wenn das Jahr 2007 ist) Katzen. Leider kein Foto. Bitte unter "glauben" einsortieren.

Link zu diesem Kommentar | Kommentieren [?]


nnier, Donnerstag, 4. März 2010, 22:37
Bevor ich die Schublade "G" aufziehe, erbitte ich eine kurze Auskunft:

[ ] Die vier Finger sind Beine und der Daumen der Hals

[ ] Die Handfläche bildet ein Katzengesicht

[ ] Es handelt sich um Fäustlinge, deshalb ist alles sowieso ganz anders

Link zu diesem Kommentar


hora sexta, Donnerstag, 4. März 2010, 23:50
Leider alles false. Es geht so:

[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.

Link zu diesem Kommentar


nnier, Freitag, 5. März 2010, 14:49
[x] Toll, aber ich möchte doch lieber ein Foto sehen.

(Die Schlangen bekommt man dagegen rein grobmotorisch hin.)

Link zu diesem Kommentar

Kommentieren [?]


vert, Donnerstag, 4. März 2010, 19:38
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!)

Link zu diesem Kommentar | Kommentieren [?]


nnier, Donnerstag, 4. März 2010, 22:45
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.)

Link zu diesem Kommentar


vert, Donnerstag, 4. März 2010, 23:40
uuh, ein fantastische idee. wir werden alle reich werden...

(ach nein, schon wieder zu spät!)

Link zu diesem Kommentar


monnemer, Freitag, 5. März 2010, 08:33
(Da! Schon wieder! Phil Collins dräut am Horizont, wir werden alle sterben sehen.)

Link zu diesem Kommentar

Kommentieren [?]


damals, Donnerstag, 4. März 2010, 22:24
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!

Link zu diesem Kommentar | Kommentieren [?]


nnier, Donnerstag, 4. März 2010, 23:04
Sie wollen sagen, dass schon vor Mario Barth jemand das Thema Männer und Frauen behandelt hat!?

Link zu diesem Kommentar

Kommentieren [?]


g., Freitag, 5. März 2010, 06:23
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?

Link zu diesem Kommentar | Kommentieren [?]


vert, Freitag, 5. März 2010, 15:56
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).

Link zu diesem Kommentar


nnier, Freitag, 5. März 2010, 17:50
Letztere habe ich in dem Haufen natürlich ganz nach unten geschaufelt, bevor ich das Foto aufnahm.

Link zu diesem Kommentar


kid37, Samstag, 6. März 2010, 14:02
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.

Link zu diesem Kommentar


nnier, Samstag, 6. März 2010, 14:41
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.

Link zu diesem Kommentar

Kommentieren [?]


dosron, Freitag, 5. März 2010, 21:27
Endlich verstehe ich das wieder mit den Suchalgorithmen.
Sie sind ein ähnlich guter Dozent wie damals Johannes Nowak.
:)

Link zu diesem Kommentar | Kommentieren [?]


nnier, Freitag, 5. März 2010, 21:56
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.)

Link zu diesem Kommentar


charon, Samstag, 6. März 2010, 07:47
Text und Diskussion haben mir sehr gut gefallen. Danke. Sommers versuche ich barfuß zu gehen, in den richtigen Schuhen sieht das auch schicker aus.

Link zu diesem Kommentar


nnier, Samstag, 6. März 2010, 13:57
Ich danke Ihnen für diese freundliche Rückmeldung und überlege, ob Ihre zweite Aussage auch für mich gilt.

Link zu diesem Kommentar


dosron, Samstag, 6. März 2010, 21:46
Java ist auch eine Insel, eine gute Empfehlung!

Link zu diesem Kommentar

Kommentieren [?]

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!


To prevent spam abuse referrers and backlinks are displayed using client-side JavaScript code. Thus, you should enable the option to execute JavaScript code in your browser. Otherwise you will only see this information.
Letzte Kommentare
Kalender
März 2010
Mo
Di
Mi
Do
Fr
Sa
So
 2 
 3 
 7 
 8 
11
13
15
18
20
25
26
28
30
 
 
 
 
 
Archiv
04/24 03/24 02/24 01/24 12/23 11/23 10/23 06/23 12/22 11/22 06/22 08/21 06/21 04/21 12/20 09/20 06/20 12/19 11/19 06/19 02/19 08/18 06/18 04/18 03/18 02/18 01/18 10/17 06/17 05/17 02/17 01/17 12/16 11/16 10/16 09/16 08/16 07/16 06/16 05/16 04/16 03/16 02/16 01/16 12/15 11/15 10/15 09/15 08/15 07/15 06/15 05/15 04/15 03/15 02/15 01/15 12/14 11/14 10/14 09/14 08/14 07/14 06/14 05/14 04/14 03/14 02/14 01/14 12/13 11/13 10/13 09/13 08/13 07/13 06/13 05/13 04/13 03/13 02/13 01/13 12/12 11/12 10/12 09/12 08/12 07/12 06/12 05/12 04/12 03/12 02/12 01/12 12/11 11/11 10/11 09/11 08/11 07/11 06/11 05/11 04/11 03/11 02/11 01/11 12/10 11/10 10/10 09/10 08/10 07/10 06/10 05/10 04/10 03/10 02/10 01/10 12/09 11/09 10/09 09/09 08/09 07/09 06/09 05/09 04/09 03/09 02/09 01/09 12/08 11/08 10/08 09/08 08/08 07/08 06/08 05/08 04/08
Über
Über
Erstgespräch