dot net pro contest 01/2015

Ich habe mal wieder an dem Programmierwettbewerb der Zeitschrift dot net pro teilgenommen.

Montag 05 Januar 2015 at 11:05 pm. Stichwörter: , ,

Das Thema des aktuellen Wettbewerbs lautet "Finde den Weg". Es geht darum in einem virtuellen Gelände den kürzesten Weg zwischen Start und Ziel zu finden.

Ich fand das Thema interessant und habe daher soeben meine Lösungs DLL eingeschickt.

Wer genauere Infos zu der Aufgabe haben möchte, folge diesem Link: http://www.dotnetpro.de/articles/onlinearticle5067.aspx

Ich habe die freien Tage über den Jahreswechsel genutzt, um mich in die Aufgabe hineinzuarbeiten. Mit solchen Optimierungs Algorithmen habe ich ansonsten nur wenig zu tun, daher war diese Aufgabe eine willkommene Gelegenheit mal was neues zu lernen.

Inclusive der Recherche und der Programmierung habe ich etwa 15h Zeit investiert. Herausgekommen ist eine 8,5 kByte große .net 4 Assembly. Meinen c# Quelltext werde ich erst nach Abgabeschluß online stellen. Noch gibt es ja die Möglichkeit teilzunehmen. (Teilnahmeschluss ist der 22. Januar 2015).

Ich habe mehrere Algorithmen gefunden und ausprobiert. Dabei bemerkte ich auch, wie stark die Umsetzung in die Laufzeit einfloss. Bei meinem ersten Versuch habe ich ausgiebig mit Listen gearbeitet, so dass mein Programm den kürzesten Weg nach nur 1h 47min ausspuckte. Das war mir doch ein wenig langsam.

Daher habe ich verschiedene Ansätze ausprobiert und bin schließlich bei einer Mischung von 2-dimensionalen Integer Arrays und HashSets gelandet. Damit habe ich die Laufzeit für das gleiche Problem auf 0.3 Sekunden reduziert. Das gefiehl mir schon besser.

Nun hoffe ich dass meine Lösung auch bei anderen Geländestrukturen klar kommt. Ich halte euch auf dem Laufenden.

Viele Grüße,

Christof