Autor: Timo

Dynamic Programming

Dynamic programming is an optimization technique that utilizes recursion and specific rules to address, for example, NP-hard problems. The concept involves storing solutions for subproblems and reusing them when necessary, rather than recalculating their values. This approach frequently transforms the runtime complexity from exponential to polynomial, enhancing computational efficiency. Rules of dynamic programming When describing an algorithm it is defined as a dynamic algorithm if the following principles of optimization are suitable for it: =>A problem can be broken down to subproblems and is solved only once =>The solution of a subproblem might help you finding a feaseable solution for…

Structured Query Language (SQL)

Beim Arbeiten mit relationalen Datenbanken kommt nicht um SQL herum. Mit dieser Anfragesprache wurde ein Standart gesetzt um mit Datenbanken zukommunizieren. Dieser Standart hat sich über verschiedene Datenbank-Systeme verbreitet und immer weiterentwickelt. Wie man mit dieser Sprache umgeht und was die Besonderheiten sind, behandel ich in diesen Artikel.

Relationale Algebra

In diesen Artikel zum Thema Datenbanken befassen wir uns mit einer Beschreibungsmöglichkeit von relationalen Datenbanken. Diese können wir durch die relationale Algebra auslesen oder modifizieren. Wie genau das funktioniert erkläre ich in den folgenden Kapiteln.

Datenbanken

Viele moderne Systeme haben im Hintergrund heutzutage eine oder mehrere Datenbanken laufen um große Mengen an Benutzerdaten zuverwalten. Hierbei müssen natürlich viele Aspekte beachtet werden damit der Benutzer keinen Geschwindigkeitsverlust oder...

Rekurrenzen und Master-Theorem

Das nächste Thema im Bereich der Algorithmusentwicklung oder -beschreibung behandelt Rekurrenzen. Diese stellen ein mathematisches Konzept dar, um Laufzeiten rekursiver Algorithmen zu beschreiben. Insbesondere werden mit Hilfe von Rekurrenzen Algorithmen beschrieben, die dem Prinzip „Teile und herrsche“ folgen. In diesem Artikel werde ich detailliert erläutern, was dies bedeutet und wie man die Laufzeit solcher Algorithmen bestimmen kann. Für diesen Algorithmus ist es sinnvoll, wenn bereits Wissen zur O-Notation vorhanden ist. Andererseits habe ich hier einen Artikel zur O-Notation und Laufzeitanalyse von Algorithmen. Rekurrenzgleichungen Eine Rekurrenzgleichung hat folgende Struktur. Sie beinhaltet die 4 Konstanten a,b,c,d die alle positiv sein müssen. N…