AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Delphi Optimierungsproblem (Tabellen mit Baumstruktur)
Thema durchsuchen
Ansicht
Themen-Optionen

Optimierungsproblem (Tabellen mit Baumstruktur)

Offene Frage von "Zacherl"
Ein Thema von Zacherl · begonnen am 13. Apr 2016 · letzter Beitrag vom 15. Apr 2016
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#11

AW: Optimierungsproblem (Tabellen mit Baumstruktur)

  Alt 15. Apr 2016, 12:41
Mögliche Herangehensweise:

1. Die Kapazität entspricht dem Widerstand, gibt es mehrere Objekte mit gleichem Widerstand, so wird dieser für diese Objekte mit der Anzahl der Objekte multipliziert

A = 256
B = 3
C = 5
D = 5
E = 4

2. Sortiere die Reihenfolge der Filter nach Widerstand von hoch zu niedrig

Aus...

OBJ1 = {A = 4, B = /, C = 5, D = 3, E = /}
OBJ2 = {A = 54, B = 2, C = 3, D = /, E = /}
OBJ3 = {A = 54, B = 1, C = 1, D = /, E = /}

wird dann...

OBJ1 = {A = 4, C = 5, D = 3, B = /, E = /}
OBJ2 = {A = 54, C = 3, B = 2, D = /, E = /}
OBJ3 = {A = 54, C = 1, B = 1, D = /, E = /}

Geändert von ibp (15. Apr 2016 um 12:45 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#12

AW: Optimierungsproblem (Tabellen mit Baumstruktur)

  Alt 15. Apr 2016, 16:10
B=3 & E=4 könnte man z.B. zu X=15 "zusammenfassen"
Das funktioniert leider nicht, da ich später ja immer nur ein Attribut nach dem anderen dekodieren kann. Bei dieser Vorgehensweise bräuchte ich aber ja mindestens schon Zwei

1. Die Kapazität entspricht dem Widerstand, gibt es mehrere Objekte mit gleichem Widerstand, so wird dieser für diese Objekte mit der Anzahl der Objekte multipliziert
2. Sortiere die Reihenfolge der Filter nach Widerstand von hoch zu niedrig
Das klingt vielversprechend Werde ich die Tage mal versuchen zu implementieren.
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#13

AW: Optimierungsproblem (Tabellen mit Baumstruktur)

  Alt 15. Apr 2016, 17:40
Hab ich das richtig verstanden, dass du quasi nur Attribute abfragen kannst, wenn du dir sicher bist, dass das zu untersuchende Objekt das Attribut auch hat?

Also muss im folgenden Beispiel die Reihenfolge A, C, B sein?
Code:
OBJ1 = {A = 1, B = /, C = 1, D = 3, E = /}
OBJ2 = {A = 1, B = 1, C = 2, D = /, E = /}
OBJ3 = {A = 1, B = 2, C = 3, D = /, E = /}

Geändert von BUG (15. Apr 2016 um 17:42 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#14

AW: Optimierungsproblem (Tabellen mit Baumstruktur)

  Alt 15. Apr 2016, 18:21
Hab ich das richtig verstanden, dass du quasi nur Attribute abfragen kannst, wenn du dir sicher bist, dass das zu untersuchende Objekt das Attribut auch hat?
Es trifft nicht auf alle Attribute zu, aber auf die meisten schon Wenn ich beispielsweise OBJ1 einlese:
Code:
OBJ1 = {A = 1, B = /, C = 1, D = 3, E = /}
Dann folge ich zuerst dem 1. Element in FilterA und stoße auf einen Filter vom Typ C. Jetzt weiß der Parser hierdurch implizit, dass das Objekt ein Attribut C haben MUSS und liest es aus dem Bytestream.

Also muss im folgenden Beispiel die Reihenfolge A, C, B sein?
Code:
OBJ1 = {A = 1, B = /, C = 1, D = 3, E = /}
OBJ2 = {A = 1, B = 1, C = 2, D = /, E = /}
OBJ3 = {A = 1, B = 2, C = 3, D = /, E = /}
Nicht zwingend. A sollte immer das erste Element sein. C und D werden "in einem Rutsch" vom Parser ausgelesen. Deren Reihenfolge kann ich also permutieren. Und B kann ich sogar unabhängig direkt zu Beginn auslesen (sogar noch vor A, da ich erkennen kann, ob der Wert zu B gehören kann oder doch ein A-Attribut sein muss).
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)

Geändert von Zacherl (15. Apr 2016 um 18:25 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#15

AW: Optimierungsproblem (Tabellen mit Baumstruktur)

  Alt 15. Apr 2016, 21:35
Und zwingt dich etwas, für die einzelnen Filter Arrays zu nehmen? z.B. sind die so dicht besetzt, dass sich andere Datenstrukturen nicht wirklich lohnen würden?
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#16

AW: Optimierungsproblem (Tabellen mit Baumstruktur)

  Alt 15. Apr 2016, 22:44
Und zwingt dich etwas, für die einzelnen Filter Arrays zu nehmen? z.B. sind die so dicht besetzt, dass sich andere Datenstrukturen nicht wirklich lohnen würden?
Sind schon recht dicht besetzt, ja. Dazu kommt, dass die Arrays später nicht aus Zeigern bestehen, sondern aus 2-Byte großen Words. Glaube nicht, dass da eine alternative Datenstruktur von der Größe her mithalten kann. Lasse mich aber gerne eines Besseren belehren
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 17: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