Tom: Komplexitätstherorie für Rando Access Maschinen

Beitrag lesen

Hello,

PHP weiss, wieviele Elemente der Array erhaelt. Der Rest ist rechnen:
Anzahl_Elemente * sizeof(element_pointer). Aber das steht auch wieder in dem Stueck Code,
was ich dir gepostet hab.

Das ist gelinde gesagt gelogen.
PHP-Arrays haben keine Typvorschrift.
Ob ich da nun einen Integer oder einen BLOB drauf lege, ist in der PHP-Schicht egal

STOP!

Bevor Du schreibst, dass der Wert ja refenziert werden könnte und es sich bei der Keylist trotzdem noch um eine statische Speicherstruktur handeln würde....

Für die Keys eines "Hashes" oder assoziativen PHP-Arrays gilt natürlich dasselbe!

Der Parser lässt also für jedes Array, das er aufbauen soll einen immer genügend großen
Speicherblock an?

Tom, was genau hast du an meinen Ausfuehrungen nicht verstanden?

[ohne Antwort, die wäre bestimmt ungerecht]

Also. Nochmal, extra fuer dich:

Auf Script-Ebene arbeitet PHP statt mit ein Arrays mit Hashtables. Eine Hash-Tabelle ist
mit Hilfe einer Hash-Funktion und einer Tabellen-Struktur realisiert: aus dem Schluessel
wird eine Hash-Summe berechnet. Diese Hash-Summe bestimmt dann die Position des Elementes
in der Tabelle.

Diese Tabelle ist also statisch und ein echtes Array im Speicher? Alle Elemente sind gleich groß? Der Zugriff auf jedes Element ist im direct random acces möglich?

Durch diese Hash-Summe kann also direkt auf das Element zugegriffen werden.

Diese "Summe" lässt sich also für jedes Element von Prozessor berechnen und muss nicht nachgeschaut werden? Also beginnt Element 23 (bei 1 angefangen zu zählen)  bei [Arraystart].[22*Elementgröße]

Da jedoch durch diese Speicherart den Nachteil hat, dass die Orginal-Reihenfolge der
Schluessel verloren geht,

Wieso geht die verloren, wenn in statischen Speicherstrukturen abgelegt wird?

speichert PHP diese Reihenfolge in einer Liste.

Das sage ich doch die ganze Zeit. PHP kann keine Arrays ohne (verkettete) Listen!

Soll jetzt ein
Array sortiert werden, so muss diese Liste sortiert werden. Da aber ein sortieren von
Listen performant nicht moeglich ist (der Aufwand muesste immer O(n²) betragen), wird diese
Liste erst umgewandelt in einen Array (auf C-Ebene, das heisst, es wird ein Speicherblock
angefordert).

Nun kommen wir der Sache schon näher.

Die Groesse des Arrays auf C-Ebene ergibt sich aus der Anzahl der Elemente
multipliziert mit der Groesse eines Pointers auf ein Element der Liste.

Das ist aber Unsinn. Denn es sollen nicht die Pointer der Liste sortiert werden, sondern die Keys des "Arrays", die aber Datenelemente der Speicherblöcke sind, auf die die Pointer verweisen, und ganz und gar nicht keine einheitliche Größe nicht haben.

Dann wird (idR
mithilfe eines Quicksort-Algorithmus) dieser Array sortiert.

Also das Array of Pointer wird sortiert? Wem nützt das? Doch bestenfalls dem Betriebsssytem aber nicht der Anwendungsschicht.

Ist der Sortier-Vorgang
abgeschlossen, so wird der Array wieder umgewandelt in eine Liste und der fuer den Array
benoetigte Speicher wieder freigegeben. So erhaelt man ein sortieres Array auf PHP-Ebene.

Ich hoffe, du hast das jetzt verstanden. Ansonsten lies doch bitte mal ein Buch zur

Nee, das habe ich beim besten Willen nicht verstanden.

Ich hatte ja meine Begriffsdefinition für "Array" mitgeteilt und Du hast nicht widersprochen bisher.
Sollten Deine und meine nun doch nicht übereinstimmen, fehlt in deiner Nomenklatur eben noch eine Schicht unten drunter, damit wir von derselben Sache sprechen.

Algorithmenlehre, z. B. Algorithmen in C von Robert Sedgewick.

Das werde ich mir leisten und lesen, wenn es denn gut ist. Das erinnert mich an die Frage "Was darf ein Programmierer kosten pro Stunde", da das schon das zweite anzuschaffende Buch auf meiner Liste ist und eine neue USV brauche ich auch noch diese Woche und zwei neue Festplatten.

Ich finde es eher traurig.

Was ist daran traurig, wenn ich Dich bitte, deine Antworten auf die Ebene der
Allgemeinverständlichkeit unter Berücksichtigung der Zugrangsbedingugen zu diesem Forum
zurückzuführen? Das ist doch extrem legitim!

_Diese_ Forderung ist legitim und voellig ok -- wenn du meinst, ich erklaere die
Sachverhalte nicht ausfuehrlich genug, dann kann das durchaus sein, fuer mich ist vieles
einfach offensichtlich. Aber du hast mir vorgeworfen, ich denke ueber deine Postings nicht
nach und solle das doch bitte tun. Dazu kann man dann nur den Spruch mit dem Glashaus
anbringen.

Ich schreibe ja nicht

echo veryloud(shiftleft('Kfipwb'));

bezüglich der Rechtschreibfehler werde ich mal in mich gehen, zumal es ja "nur" Vertipper sind

Leider hat aber auch die Rechtschreibkorrektur noch iregendeine Macke. Ich habe sie nun eben wieder mal benutzt, und bei der Positionierung der Einfügungen und/oder Ersetzungen stimmt was nicht. Die Erzeugt Doppelungen oder Überschneidugen.  Das soll aber nun keine Ausrede sein. Ich werde das nochmal verfolgen und dann eine Nachticht im Bugtracker hinterlassen.

Harzliche GrüHarzlichelink:http://www.annerschbarrich.de]

Tom

--
FoTomchritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau
0 62

Buchstaben normieren

N2O
  • php
  1. 0
    Christian Kruse
  2. 0
    Tom
    1. 0
      Christian Kruse
      1. 0
        Tom
        1. 0
          Christian Kruse
          1. 0
            MudGuard
            1. 0
              Christian Kruse
              1. 0
                MudGuard
                1. 0
                  Christian Kruse
                  1. 0
                    Tom
                    1. 0
                      Christian Kruse
                      1. 0

                        Warum diese massiven Angriffe?

                        Tom
                        • menschelei
                        1. 0
                          Christian Kruse
                          1. 0
                            Indigo
                  2. 0
                    MudGuard
                    1. 0
                      Christian Kruse
                      1. 0
                        MudGuard
          2. 0
            Tom
            1. 0
              Christian Kruse
              1. 0
                Tom
                1. 0
                  Christian Kruse
                  1. 0

                    Komplexitätstherorie für Rando Access Maschinen

                    Tom
                    1. 0
                      Christian Kruse
                      1. 0
                        Tom
                        1. 0
                          Christian Kruse
                          1. 0
                            Tom
                            1. 0
                              Christian Kruse
                              1. 0
                                Tom
                                1. 0
                                  Christian Kruse
                                  1. 0
                                    Tom
                                    1. 0
                                      Christian Kruse
                                      1. 0
                                        Tom
                                        1. 0
                                          Christian Kruse
                                          1. 0
                                            Tom
                                            1. 0
                                              Christian Kruse
                                              1. 0
                                                Tom
                                                1. 0
                                                  Christian Kruse
                                                  1. 0
                                                    Tom
                                                2. 0
                                                  Vinzenz
                                                  1. 0
                                                    Tom
                                              2. 0
                                                Daniel Thoma
                                                1. 0
                                                  Christian Kruse
                                2. 0

                                  Es tut mir leid

                                  Enttarner
                                  • menschelei
                                  1. 0
                                    Tom
                                    1. 0
                                      (ex)Enttarner
                                      1. 0
                                        Tom
                                        1. 0
                                          Indigo
                                          1. 0
                                            Cw
                                          2. 0
                                            Orlando
                                          3. 0
                                            Wilhelm Turtschan
                                            1. 0
                                              Icke
                2. 0
                  Indigo
          3. 0
            Christian Kruse
            1. 0
              seth
              1. 0
                Christian Kruse
                1. 0
                  Vinzenz
              2. 0
                Tom
    2. 0
      Patrick Canterino
      1. 0
        Tom
        1. 0
          Patrick Canterino
          1. 0
            Tom