2017-02-21 2 views
0

Welcher Ansatz eignet sich zum Speichern und Suchen primitiver Datentypen? Datenstruktur, die sowohl die Zeitbeschränkung als auch die Speicherbeschränkung bewältigen kann? Websites/Bücher, von denen ich klare Kenntnisse über diese Dinge bekommen kann?Datenstruktur für Zeit- und Speicherbeschränkung

+0

Können Sie genauer sein? z.B. Suchen Sie nach Datenstrukturen, die eine Menge von "int" für Suchzwecke mit schneller Suche in mindestens Speicher speichern würden? –

+0

Ja, Sabir Khan. In HackerEarth benötigt der von mir entwickelte Code viel Zeit zum Ausführen, er geht über die angegebene Zeit- und Speicherbeschränkung hinaus. –

Antwort

0

Versuchen Sie dieses Buch

Datenstrukturen und Algorithmen in Java von Adam Drozdek Second Edition

Es hat mir sehr geholfen und es hilft bei der Speicherverwaltung, Datenkompression und hilft in einem tiefen Wissen über Datenstrukturen und Algorithmen.

Um Speichereinschränkungen als eine Sache in Datenstrukturen zu erhalten, stoppen Sie die Verwendung dynamische Speicherzuweisung (Dynamic Programming), weil es Speicher spart.

0

Wenn Sie bereit sind, die Flexibilität um Hinzufügen eines Elements und Löschen eines Elements aus der Datenstruktur zu opfern dann eine sortierte int[] ist die beste Wette, die Sie so weit bekam als Speichereffizienz angeht.

Da Array sortiert ist, können Sie eine binäre Suche durchführen.

wenn Ihre Anfangslast dieses Arrays wird einige Millionen ints und es eine Chance, später werden nur noch hinzuzufügen paar hundert Ints, können Sie diese Ergänzungen und dann verschmelzen ArrayListint[] mit einer anderen Datenstruktur wie ArrayList zu temporären Halten ergänzen zu int[] sobald die Größe deutlich zunimmt.

Löschen kann durch Setzen dieses Elements mit einer ziemlich kleinen unbenutzten negativen Zahl behandelt werden, aber ja, das wäre keine sehr saubere Lösung. Oder Sie können die Löschung durch eine zusätzliche Datenstruktur erneut durchführen, wenn das Löschen selten ist.

Es ist alles ein Kompromiss für ein bestimmtes Szenario - es gibt nichts Besseres für alle Situationen.

Hoffe es hilft !!

Verwandte Themen