Blog


Review: Warren Buffett – Das Leben ist wie ein Schneeball

Warren Buffett ist einer der großen Namen der internationalen Finanzindustrie und zählt zu den reichsten Menschen der Welt. Seit seiner Kindheit investiert er in Aktien und hat dadurch ein immenses Wissen auf diesem Gebiet aufgebaut. Seine Strategien und Börsenweisheiten sind unter Investoren weit verbreitet und werden viel diskutiert. Sein Privatleben […]


SOLID-Prinzipien

Objektorientierte Programmiersprachen dominieren seit langem den Markt. Ob Java, C#, Python und sogar JavaScript. Unter den beliebtesten Programmiersprachen lässt sich keine finden, die nicht zumindest mit Objekten umgehen kann. Ein Grund für die Popularität der Objektorientierung ist die einfache Erlernbarkeit und Verständlichkeit. Nichtsdestotrotz kann man bei der Entwicklung mit objektorientierten […]


Automatisches Differenzieren

Durch das automatische Differenzieren (autoDiff) ist es Programmen möglich mathematische Funktionen abzuleiten. Je nach Anwendungsfall kann dabei vorwärts oder rückwärts differenziert werden. Ich erkläre anhand eines Beispiels beide Vorgehensweisen und gehe auf die Vor- und Nachteile ein. (1)   Die obige Formel soll durch einen Algorithmus differenziert werden. Für ein […]


Java Virtual Machine

Java-Programme werden im Gegensatz zu nativen Programmen nicht direkt durch das Betriebssystem ausgeführt, sondern von der Java Virtual Machine (JVM). Die JVM kümmert sich um die korrekte Ausführung des Programms auf dem jeweiligen Betriebssystem. Der Programmierer muss also nicht auf spezifische Eigenschaften eines Betriebssystems Rücksicht nehmen sondern kann sich darauf […]


Tensorflow GPU installation unter Windows 10

Tensorflow ist das mit Abstand beliebteste Framework um neuronale Netze zu entwickeln. Es besitzt eine starke Community und wird vom Softwaregiganten Google gestützt.  Es ist daher nicht verwunderlich, dass Cloud-Dienste wie AWS oder Google Cloud Platform Tensorflow-Umgebungen anbieten. Wer nicht auf die Cloud-Dienste angewiesen sein und Tensorflow dennoch testen möchte, […]


Sortierverfahren: Quicksort

Quicksort ist ein Sortierverfahren, welches wie Mergesort nach dem teile und hersche Prinzip arbeitet. Quicksort arbeitet inplace ist jedoch nicht stabil. Quicksort wurde 1961 von Tony Hoare publiziert und gewann schnell an Beliebtheit, da es weitaus schneller sortierte als Heap- oder Mergesort. Angeberwissen: QuicksortTony Hoare entwickelte Quicksort als er als […]


Sortierverfahren: Mergesort

Mergesort ist ein stabiles Sortierverfahren, welches nach dem Teile-und-herrsche-Verfahren (divide and conquer) arbeitet. Ein zu sortierendes Feld wird dabei in zwei gleich große Felder geteilt. Beide Felder werden im Anschluss wieder rekursiv in den Algorithmus gesteckt. Dies geschieht so lange, bis alle Felder in ihre einzelnen Elemente zerteilt wurden. Beide […]


Sortierverfahren: Bubblesort

Bubblesort ist das wohl am einfachsten zu implementierende Sortierverfahren. Es ist jedoch zu ineffektiv um es praktisch einzusetzen und hat daher nur einen geringen Stellenwert. Der Bubblesort-Algorithmus geht Element für Element einzeln durch und prüft ob das aktuelle Element kleiner ist als dessen Vorgänger. Ist dies der Fall, dann werden […]


Sortierverfahren: Shellsort

Shellsort ist ein Sortierverfahren, welches auf Insertionsort basiert. Insertionsort bringt jedes Element an seine Position, indem das Element über den bereits sortierten Bereich iteriert und mit jedem darin enthaltenen Element verglichen wird. Shellsort funktioniert auf die gleiche Weise. Der Unterschied ist jedoch, dass Elemente, welche in einem bestimmten Abstand zueinander […]


Sortierverfahren: Countingsort

Countingsort ist ein Sortierverfahren, das sehr effizient auf einen beschränkten Intervall große Datenmengen sortieren kann. Es wurde 1954 von Harold H. Seward entickelt. Countingsort ist eines der wenigen Sortierverfahren welches nicht vergleichsbasiert arbeitet, sondern die Vorkommnisse der einzelnen Werte des Intervals zählt. Es ist daher wichtig, dass das Interval einen […]