| Autor |
Beitrag |
penny_lane
Hält's aus hier
Beiträge: 8
|
Verfasst: Do 10.03.05 13:56
so meine frage wäre wie es möglich ist einen graphen mit zeigern umzusetzten.
es ganz toll wenn mir das jmd erkären könnte da ich am diensatg eine info vorabi klausur schreibe und keinen peil von diesen blöden zeigern hab! Dankeeeeeeeeeeeeee 
|
|
AXMD
      
Beiträge: 4006
Erhaltene Danke: 7
Windows 10 64 bit
C# (Visual Studio 2019 Express)
|
Verfasst: Do 10.03.05 14:00
penny_lane hat folgendes geschrieben: | so meine frage wäre wie es möglich ist einen graphen mit zeigern umzusetzten.
es ganz toll wenn mir das jmd erkären könnte da ich am diensatg eine info vorabi klausur schreibe und keinen peil von diesen blöden zeigern hab! Dankeeeeeeeeeeeeee  |
"so meine frage wie es möglich ist", dass du glaubst, dass wir auch nur ansatzweise verstehen was du meinst wenn du nicht erklärst, was du meinst? Ich versteh zumindest kein Wort
AXMD
|
|
sourcehunter
      
Beiträge: 482
Win XP | Suse 10.1
Delphi 2005 Pers.
|
Verfasst: Do 10.03.05 15:07
| Zitat: | | graphen mit zeigern umzusetzten |
Also ich mach das eigentlich mit Pfeilen, aber wenn du genug Zeiger zur verfügung hast, dann möchte ich dich nicht daran hindern sie zu benutzen.
Aber mal im Ernst, was willst du von uns? Mir würde eine genauere Bescheibung deines Problems weiterhelfen.
_________________ Linux und OpenSource rulez!
|
|
penny_lane 
Hält's aus hier
Beiträge: 8
|
Verfasst: Do 10.03.05 18:31
also, wie gesagt ich schreib ja klausur.letztes jahr haben wir zeiger duchgenommen (also so mit anker=new oder h:=h^.naechster und so) und danach haben wir graphentheorie gemacht(so mit A->AB ; A->a; B->c zum beispiel). so als unser lehreruns die themen gesagt hat meinte er wir müssten graphen mit zeigern implementieren können. jetzt frage ichg mich wi edas gehen soll? ich hoffe di eerklärung war jetzt besser 
|
|
Gausi
      
Beiträge: 8554
Erhaltene Danke: 481
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Do 10.03.05 19:06
Vielleicht sagst du uns erst einmal, was du unter einem "Graphen" verstehst. Ich denke, du meinst das Gebilde, G=(V,E), wobei V eine Menge von Knoten ist, und E \subseteq \{ V \times V \} (*) eine Menge von Kanten. Einen Graphen kann man im Rechner z.B. über Adjazenzlisten oder -Arrays darstellen. Was möchtest du nun genau von uns?
(*)LaTeX-Notation
_________________ We are, we were and will not be.
|
|
penny_lane 
Hält's aus hier
Beiträge: 8
|
Verfasst: Do 10.03.05 19:28
ja genau so einen graphen mein ich (ich dachte es gibt nur eine art von graphen...sorry). ja ich meine anstatt von einer liste oder einer matrix halt zeiger.es wäre toll wenn man mir ein beispiel geben könnte wie das zb. mit einer matrix aussieht und dann mit zeigern. ich kann mir leider nicht vorstellen wie das gehen soll. weil ja auch graphen manchmal zwei verzweigungen haben aber wie setzt man das mit zeigern um? also auch wenn man einen graphen hat und den mit zeigern zb in eine listbox setzten soll und davon auch was löschen soll(gut löschen ist noicht so das problem weil snake und stack versteh ich ein bisschen, aber ring versteh ich auch nicht...). also wie man die einzelnen knoten und kanten sinnvoll mit zeigern umsetzten kann.
|
|
sourcehunter
      
Beiträge: 482
Win XP | Suse 10.1
Delphi 2005 Pers.
|
Verfasst: Fr 11.03.05 11:12
Hast du schon mal was von dynamischen Arrays gehört? Wenn nicht wäre das ein Ansatzpunkt, du kannst auch die Klasse TPointerList beuntzen, die implementiert zu dem Array auch noch ein Interface (Add,Delete,Insert...).
_________________ Linux und OpenSource rulez!
|
|
Gausi
      
Beiträge: 8554
Erhaltene Danke: 481
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Fr 11.03.05 14:37
Ich glaube, dass es in der Klausur primär darum geht, die Datenstrukturen, wie Delphi sie bereitstellt, selbst zu implementieren.
Man speichert z.B. die Knoten in einem Array ab. [Ein Knoten hat z.B. die Eigenschaften "ID" und "Liste der Nachbarknoten". ]
Wenn ich die Frage richtig vestehe, geht es darum, diese Liste mit elementaren Mitteln zu realisieren.
Zuerst einmal eine allgemeine Klasse von Elementen, die man in eine Liste einfügen kann.
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8:
| TElement = class private next: TElement; prev: TElement; public constructor create; end; | Dann brauchen wir - davon abgeleitet - das Knotenelement: Delphi-Quelltext 1: 2: 3: 4: 5:
| TKnotenElement = class(TElement) KnotenNummer:integer; Adjazenzliste:TDoppeltVerketteteListe; constructor create(nr:integer); end; |
Und nun die Datenstruktur "Doppeltverkettete Liste", die z.B. so aussehen kann:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23:
| TDoppeltVerketteteListe = class private f: TElement; l: TElement; c: TElement; s: integer; public constructor create; destructor destroy; procedure first; procedure last; procedure next; procedure prev; procedure insert(e:TElement); procedure delete; function count: integer; function isempty: boolean; function get: TElement; function islast: boolean; end; |
Diese Dinge müssen dann noch vernünftig implementiert werden, sind aber fast alles Ein-/Zweizeiler.
_________________ We are, we were and will not be.
|
|
AXMD
      
Beiträge: 4006
Erhaltene Danke: 7
Windows 10 64 bit
C# (Visual Studio 2019 Express)
|
Verfasst: Fr 11.03.05 14:42
Wobei ich immer noch nicht verstehe, was das ganze mit "Graphenthorie" zu tun hat. Bitte den Titel entsprechend ändern.
AXMD
|
|
penny_lane 
Hält's aus hier
Beiträge: 8
|
Verfasst: Fr 11.03.05 20:02
naja, erstamal danke an gausi.
es hat schon wtas mit graphen zu tun da wir warscheinlich einen graphen bekommen (oder einen automaten) und den dann anstattnur mit arrays mit zeigern machen sollen.naja, ich treffe mich warscheinlich morgen mal mit jmd der letztes jahr abi in oinformtaik gemacht hat. vielleicht kann er mir auch helfen. ansonsten meld ich mich noch mal 
|
|
Gausi
      
Beiträge: 8554
Erhaltene Danke: 481
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Sa 12.03.05 10:00
Aber ein Automat ist doch was anderes als ein Graph, oder irre ich mich da jetzt  ?
_________________ We are, we were and will not be.
|
|