AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Wie verwalte ich so viele Daten?

Ein Thema von Neutral General · begonnen am 30. Apr 2008 · letzter Beitrag vom 2. Mai 2008
Antwort Antwort
Seite 3 von 3     123   
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#21

Re: Wie verwalte ich so viele Daten?

  Alt 2. Mai 2008, 20:16
Hi Medium,
Zitat von Medium:
In Schleifchen durchhangeln. Klingt zunächst suboptimal, ist aber schnell genug, da man bedenken muss, dass man sich pro Iterationschritt nur noch maximal um die Hälfte nochmal hangeln muss...
Hmmm. 1x Schritt (bis zur Mitte: N/2 Hüpfer. Dann wieder: N/4... ich komm auf O(N). Außerdem reden wir über binary search, lenk also nicht vom Thema ab.

Zitat von Medium:
des Problems wäre ein dynamisches Array, dass aber auch bei "intelligentem" Wachstum noch immer als Overhead kräftig zuschlägt (umkopieren). Eine Liste scheitert ja hier definitiv am wahlfreien Zugriff. Das meinte ich damit lediglich.
Nö. Ich verdopple immer. Wenn ich 2^31 Elemente einfüge, muss ich also nur 20x umkopieren (Ich fange bei 997 Elementen an),

Zitat von Medium:
... Was tust du, um auf so viele Vergleiche zu kommen? Ich ging bisher immer von der Suchzeit aus, bis man ein Element in einer bestehenden Menge von Daten gefunden hat, und um dafür 17 Mio Vergleiche zu brauchen, müsste die Liste ja 2^17.000.000 Einträge haben
Ach mann, das ist doch einfach. Ich rechne die Gesamtanzahl *aller* Vergleiche aus, um 1 Mio Elemente hintereinander zu finden und einzufügen. Da jedes Element im Mittel 17 Vergleiche benötigt (die ersten Elemente weniger, das die Liste fast leer ist, die letzten Elemente mehr, da die Liste voll sind), kommt man -wenn man eine sortierte Liste von 1 Mio Elementen aufbauen will- auf insgesammt im Mittel auf 17 Mio Vergleiche. PRO Element natürlich nur 17 Elemente, aber für alle zusammengenommen eben 17 Mio. Ist doch einfach.
.
Zitat von Medion:
Ich hab für o.g. Anwendung eine Liste im Einsatz, bei der die Nodes nicht nur die direkten Nachbarn kennen, sonden die jeweils nächsten 3 in jeder Richtung. Das macht beim Einfügen dann zwar etwas mehr Arbeit, da aber der zeitkritische Teil in diesem Fall nicht das Einfügen, sondern das anschließende Arbeiten damit ist, lohnt es sich.
Na, dann schau Dir mal die Skiplist an, die perfektioniert deine Vorwärtsverkettung, sodaß diese Struktur so schnell wie eine Hashmap ist. Das Lustige an der SL ist, das sie mit einem Random-Generator arbeitet!
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
grenzgaenger
(Gast)

n/a Beiträge
 
#22

Re: Wie verwalte ich so viele Daten?

  Alt 2. Mai 2008, 21:20
och kommt jetzt, medium meint sicherlich 'n binary tree, statt 'ner verketteten liste . ausserdem geb ich alzaimar recht, dass es nichts schnelleres gibt, als 'ne hash-verwaltung

nur, frag ich mich, wie Neutral General hieraus konsequenzen ziehen soll, um zu wissen, wie er jetzt seine 4 bytes ablegen soll.

so denn, noch 'n schönen abend.

GG

btw: ist immer nett experten beim fachsimplen zuzuhören
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#23

Re: Wie verwalte ich so viele Daten?

  Alt 2. Mai 2008, 21:51
Zitat von grenzgaenger:
och kommt jetzt, medium meint sicherlich 'n binary tree, statt 'ner verketteten liste . ausserdem geb ich alzaimar recht, dass es nichts schnelleres gibt, als 'ne hash-verwaltung

nur, frag ich mich, wie Neutral General hieraus konsequenzen ziehen soll, um zu wissen, wie er jetzt seine 4 bytes ablegen soll.

so denn, noch 'n schönen abend.

GG

btw: ist immer nett experten beim fachsimplen zuzuhören
Der Neutral General hat schon die letzten Seiten nicht mehr weiterverfolgt, weil ihm das z.T. etwas zu hoch/zu anstrengend wird^^ Ist ja ne nette Diskussion hier aber ich muss mir (zu gegebenem Zeitpunkt) halt nochmal überlegen wie ichs genau mache, bzw den Thread ganz durchlesen. Wobei zur Zeit tendiere ich zu Hash-Maps. Mal sehn
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:40 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz