myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
» Regeln
» Wie poste ich richtig?
» Forum-FAQ

Mitglieder
» Liste / Suche
» Wer ist wo online?

Ressourcen
» openbook: Visual C#
» openbook: OO
» Microsoft Docs

Team
» Kontakt
» Übersicht
» Wir über uns

» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Entwicklung » Rund um die Programmierung » Wie in das Thema Algorithmen einarbeiten?
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

Wie in das Thema Algorithmen einarbeiten?

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
BlackArtC# BlackArtC# ist männlich
myCSharp.de-Mitglied

Dabei seit: 17.03.2016
Beiträge: 29


BlackArtC# ist offline

Wie in das Thema Algorithmen einarbeiten?

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo,

da ich jetzt seit paar Wochen als Anwendungsentwickler (Azubi) tätig bin, habe ich dementsprechend wieder angefangen zu programmieren. Dabei bin ich auch bei dem Thema Algorithmen hängen geblieben (und da kann man ja sehr sehr viel mit machen).

Habe schon auf ProjectEuler ein paar Aufgaben gelöst und auch hier aus dem Forum die ein oder andere Aufgabe "bearbeitet"(So Sachen wie Primzahl Generator, Fakultäten Generator, Dezimal in römische Ziffernfolge, alle Wörter von 1 - 999 auf englisch in Klarschrift ect). Nun komme ich aber an einen Punkt wo ich nicht mehr weiter komme. Ich würde gerne so Sachen wie "Conways Game of Life" oder den "Pythagoras Baum" - bzw. diverse Sortieralgorithmen programmieren, jedoch weiß ich nicht wie man sich da am besten einarbeitet. Was ich evtl. noch mit Brute Force lösen konnte, erfordert jetzt wohl mehr "Mathematik" bzw. Kenntnisse in Rekursiven Methoden ODER generell Wissen das ich einfach nicht habe.

Deswegen ist meine Frage: Wie arbeitet man sich am besten in diese Geschichte ein(und wie würdet Ihr eure ersten Überlegungen auf einem Blatt wiederspiegeln, Struktogramm ect?). Mir fällt es jetzt z.B nicht schwer zu verstehen wie ein Pythagoras Baum entsteht oder bis zu einem gewissen Level komme ich auch noch mit dem Mathe zurecht, jedoch gibt es dann einen Punkt wo ich kein Land mehr sehe. Natürlich fehlt es mir auch allgemein an Erfahrung in der Programmierung - beschäftige mich aber seit neustem gerne in meiner Freizeit mit solchen Themen.

Würde mich über Antworten freuen,

Grüße
13.09.2016 22:24 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Abt
myCSharp.de-Team

avatar-4119.png


Dabei seit: 20.07.2008
Beiträge: 13.187
Herkunft: Stuttgart/Stockholm


Abt ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Nen Algorithmus ist ja nichts anderes als eine Lösung eines vorhandenen Problems.
Das kann prinzipiell auch einfach eine Schleife mit einem Filter sein; ein Algorithmus selbst sagt ja dessen Komplexität nicht aus.
Normalerweise hat man ein Problem und sucht einen Algorithmus zur Lösung - nicht umgekehrt :-)

Ich bin kein Fan von Büchern, aber für solch eher allgemeine, theoretische Themen eignen sich Bücher wirklich gut.
Und ja, man braucht relativ schnell mathematische Fähigkeiten :-)

Mein Prof damals, Helmut Balzert, hat nen Grundlagenbuch geschrieben  Lehrbuch Grundlagen der Informatik: Konzepte und Notationen in UML 2, Java 5, C# und C++, Algorithmik und Software-Technik, Anwendungen (Sav Informatik), worin die Grundlagen zu Algorithmen ganz gut geschrieben sind.

Zitat:
Kapitel 13: Algorithmen und ihre Verifikation
Kapitel 14: Testen von Programmen
Kapitel 15: Überprüfung v. Dokumenten
Kapitel 16: Aufwand von Algorithmen
Kapitel 17: Listen und Bäume
Kapitel 18: Suchen und Sortieren

Aber halt wirklich Grundlagen.
13.09.2016 23:02 Beiträge des Benutzers | zu Buddylist hinzufügen
BlackArtC# BlackArtC# ist männlich
myCSharp.de-Mitglied

Dabei seit: 17.03.2016
Beiträge: 29

Themenstarter Thema begonnen von BlackArtC#

BlackArtC# ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Vielen Dank für die Antwort (Hab ne Englische PDF gefunden, das Buch ist leider ein wenig zu teuer für mich :/).

Villt war meine Frage etwas unglücklich gestellt, ich versuche es nochmal:

- Wenn ich ein vorhandenes Problem habe, wie du schon sagtest, z.B denn Pythagoras Baum wie gehe ich jetzt am besten vor, einen Algorithmus zu diesem Problem zu entwickeln. Muss man dafür einfach so Fit in Mathe sein das man sich die ganzen Formeln zurechtlegt und dann einfach im Code selbst verarbeitet oder kann man da auch als "normalo" Matheversteher sich alles Stück für Stück erarbeiten ohne gleich nen anderen Code als Referenz ran zuziehen?

Gruß
13.09.2016 23:32 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
unconnected unconnected ist männlich
myCSharp.de-Mitglied

avatar-3200.jpg


Dabei seit: 13.08.2006
Beiträge: 849
Entwicklungsumgebung: VS2017 Enterprise,VS Code
Herkunft: Oerlinghausen/NRW


unconnected ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo BlackArtC#

Also ich als bekennender Mathe Hasser kann dir sagen das Du für dieses Problem nicht viel Mathe kenntnisse brauchst. Ich habe noch nie ein Buch über das entwickeln von Algorithmen gelesen. Trotzdem habe ich direkt erkannt (beim lesen des Wiki eintrags zum Baum) wie ich das Problem angehen würde.

Nimm dir immer erst das kleinste Problem vor. In diesem Fall das Rechteck was Du schon kennst. Und dann überleg Dir was Du brauchst um die nächsten 2 Rechtecke zu zeichnen. Diese merkst Du Dir dann in einer Liste. Danach iterierst Du über die Liste und hängst die nächsten Rechtecke dran.

Irgendwann sind die Rechtecke so klein, das es sich nicht mehr lohnt zu Zeichnen.. Das ist dann der Ausstieg.

Je mehr man sich genau an solche Probleme traut und sie mal durchspielt, desdo mehr Übung bekommt man, desdo weniger muss man darüber nachdenken.
14.09.2016 07:02 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
trib trib ist männlich
myCSharp.de-Mitglied

Dabei seit: 22.04.2008
Beiträge: 658
Entwicklungsumgebung: C#


trib ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Falls Du noch mehr Algorithmen suchen solltest:
 Algorithmus der Woche

Dort werden auch alle Probleme erläutert, Strategien entwickelt und Lösungsvorschläge gegeben.
Es lohnt schon das lesen, ohne jeden Algorithmus nach zu programmieren.
14.09.2016 11:22 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
BlackArtC# BlackArtC# ist männlich
myCSharp.de-Mitglied

Dabei seit: 17.03.2016
Beiträge: 29

Themenstarter Thema begonnen von BlackArtC#

BlackArtC# ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Erstmal danke für die Antworten!

@unconnected

Wie lange hast du für dieses Problem gebraucht bzw. wie hast du dir da deine Strategie zurecht gelegt? Ich meine wie der Baum entsteht ist eigentlich sehr simpel, aber wie ich dann die Vierecke/Dreiecke für jeden Ast bekomme ist wieder ne andere Nummer.

@trib

Danke für den Link. Hab mir mal paar Einträge durchgelesen - sind echt gut und verständlich geschrieben, da kann man bestimmt mal die ein oder andere Sache programmieren (vor allem das verschlüsselungs Zeug)
14.09.2016 21:09 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum Der Startbeitrag ist älter als 3 Jahre.
Der letzte Beitrag ist älter als 3 Jahre.
Antwort erstellen


© Copyright 2003-2019 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 21.11.2019 23:15