Tom: Array-Datensatz-Klasse bauen?

Beitrag lesen

Hello,

Für die Laufzeit hast du die for-Schleife, welche du ganz durchlaufen musst (O(m)), und dann noch die Array-Zugriffe (O(log n)), also O(m log n) zusammen.
In der üblichen Speicherung brauchst du dafür nur O(log n).

Ja, das ist die Theorie an der Oberfläche.

Nur wenn Du Aufwandschätzung betreiben willst, musst Du das in der Schicht tun, die nachher tatsächlich die Ausführung betreibt.

Darum fragte ich ja, ob Du es _ausprobiert_ hättest.

Ich halte Deine Einwand durchaus für wichtig. Ich selber traue mir aber hier aufgrund der Hash-Algorithmen, die PHP bei den Arrays benutzt, keinerlei Schätzung mehr zu.

Meine (sehr privaten) Tests haben bisher ergeben, dass meine Lösung meistens schneller ist und weniger Speicher benötigt. Das liegt vermutlich auf der Reduzierung auf _numerische_ Indexe, die in der Hashtabelle dann doppelt weniger Aufwand haben - einmal der Wegfall der Hashbildung für einen Namen und dann die daraus resultierende einfachere Sortierung in der Kette, also den tatsächlichen Zugriffszeiten für ein Element.

Denn wir dürfen ja nicht vergessen, dass PHP für _jedes_ Element, also auch die Subelemente eines Records, einen Hashwert bilden muss.

Liebe Grüße aus dem schönen Oberharz

Tom vom Berg

--
 ☻_
/▌
/ \ Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de
0 64

Summe eines Arrays

Matzeeee
  • php
  1. 0
    ChrisB
    1. 0
      Matzeeee
      1. 0
        Der Martin
  2. 0
    fastix®
    1. 0
      Gunnar Bittersmann
      1. 0

        Kurze Frage, kurze Antwort

        fastix®
        • sonstiges
        1. 0
          Tom
          1. 0
            fastix®
            1. 0
              Tom
            2. 0

              Array-Datensatz-Klasse bauen?

              Tom
              1. 0
                Matti Mäkitalo
                1. 0
                  Tom
                  1. 0
                    Matti Mäkitalo
                    1. 0
                      Tom
              2. 0
                dedlfix
      2. 0
        Alexander (HH)
        1. 0
          Gunnar Bittersmann
          1. 2
            fastix®
            1. 0
              Gunnar Bittersmann
              1. 0
                fastix®
                1. 0
                  Gunnar Bittersmann
                  1. 0
                    fastix®
                    1. 0
                      Gunnar Bittersmann
                      1. 0
                        ChrisB
                        1. 0
                          Gunnar Bittersmann
                          1. 0
                            ChrisB
                            1. 0
                              Gunnar Bittersmann
                          2. 1
                            fastix®
                            1. 0
                              Gunnar Bittersmann
                              1. 0
                                fastix®
                                1. 0
                                  Gunnar Bittersmann
                                  1. 1
                                    Der Martin
                                    1. 0
                                      Gunnar Bittersmann
                                      1. 0
                                        Der Martin
                                        1. 0
                                          Multi
                                          1. 0
                                            ChrisB
                                            1. 0
                                              Multi
                                              1. 0
                                                ChrisB
                                                1. 0
                                                  Multi
                                                  1. 0
                                                    Der Martin
                                                    1. 0
                                                      dedlfix
                                                      1. 0
                                                        Der Martin
                                                        1. 0
                                                          Sven Rautenberg
                                                        2. 0
                                                          dedlfix
                                                          1. 0
                                                            Der Martin
                                          2. 0
                                            fastix®
                                            1. 0
                                              Multi
                                    2. 0

                                      Summe eines Arrays aus Benzinpreisen u. PowerPoint-Präsentatoren

                                      fastix®
                                      • meinung
                            2. 0
                              Gunnar Bittersmann
                              1. 0
                                fastix®
                                1. 0
                                  Der Martin
                                2. 0
                                  Gunnar Bittersmann
                      2. 0
                        fastix®
          2. 0
            ChrisB
            1. 0
              Gunnar Bittersmann
              1. 0
                ChrisB
                1. 0
                  Gunnar Bittersmann
                  1. 1
                    ChrisB
                    1. 0
                      Gunnar Bittersmann
                      1. 0
                        ChrisB
                        1. 0
                          fastix®
            2. 0
              Gunnar Bittersmann
  3. 1
    Sven Rautenberg