Sehr schönes Video, hatte das mal kurz im Studium angerissen, damals aber nie richtig verstanden. Jetzt wäre es super cool wenn du noch ein zweites Video zu O(log n) machen könntest und wie man das überhaupt berechnet. Bei den hier vorgestellten O(1), O(n) und O(n²) Algorithmen ist das ja ziemlich offensichtlich.
Cooles Video! Was du beim Bubblesort gemacht hast ist übrigens ganz normal in der IT: "Ich werde den Bubblesort jetzt übrigens nicht erklären" ... *beginnt, den Bubblesort zu erklären* 😄
Hi Jasmin, auf meinem Kanal hab ich _O(log n)_ kurz und knapp beschrieben. Bei _log n_ ist wichtig zu verstehen, dass die Inputmenge mit jedem Schritt des Algorithmus minimiert wird. Das macht einen Algorithmus so schnell, da er mit jedem Schritt weniger Daten zu verarbeiten hat. Ich hoffe, das Hilft dir etwas weiter :)
Hallo, ich mag eure Videos aber ich habe eine Frage: Ihr habt ja Tutorials zu C# habt ihr auch welche zu C++ und ist C# kompatibel, also konvertierbar (oder so) zu C++?
Danke für das Video. Bei dem Beispiel zu O(1) würde ich eher ein Array eines Types mit fixer Breite nehmen- z.B. Integer. Bei einem Array von Zeichenketten stimmt es nicht ganz, dass die Dauer exakt gleich ist, weil nicht vorhersagbar ist wie lang die einzelnen Zeichenketten sind.
Hi Nitram, ich weiß genau was du meinst mit "weil nicht vorhersagbar ist wie lang die Zeichenketten sind". Bei der Laufzeitanalyse ist das aber ein Faktor, der ignoriert wird. Bei der Laufzeitanalyse und der Big-O-Notation, will man es so einfach wie möglich machen. Das Problem ist nämlich, welche Komplexitätsklasse für die Laufzeit wenn nicht O(1) würdest du dem ganzen jetzt geben? Ich habe auch ein Video dazu auf meinem Kanal gemacht, in dem ich darauf eingehe, weshalb bestimmte Faktoren (so genannte Koeffizienten und Konstanten) ignoriert werden.
Wie heißt das Programm, wo du die kleinen Programme bzw. Algorythmen schreibst? Möchte das auch gerne testen in meinem Studium ob die kleinen Programme klappen würden.
Hallo zusammen, ich versuche gerade im Studium die O-Notation zu verstehen. Bei dem Beispiel mit dem Array verstehe ich grade nicht warum Timon ausgegeben wird und nicht Lasse? Könntet ihr mir das beantworten? Vielen Dank vorab.
Hey kurze Frage, fahre demnächst über ein paar Tage zu den Großeltern, die haben da kein Wlan geschweige denn Lan 😅. Ich wollte nur mal fragen ob man den c# kurs welchen ich mir vor ein paar Monaten gekauft hatte, auch herunterladen kann, um auch offline weiter lernen zu können.
Für Anfänger sehr hilfreich! Allerdings ist die Erklärung bzw. das Beispiel für "linear" bei 4:50 ggf. etwas in die Irre führend. Nur als kleiner Verbesserungshinweis für zukünftige Videos :). Gerade für Studenten sind solche Feinheiten wichtig... Wobei die hoffentlich wissen sollten, was linear heißt^^. Linear bedeutet konstanter Faktor. Die Verdopplung der Eingabemenge kann z.B. auch eine Vervierfachung des Aufwands bedeuten. Code-Beispiel: Ein Alorithmus soll das Minimum und das Maximum eines Zahlen-Arrays berechnen und macht dazu zwei for-Schleifen (eine bestimmt das Maximum, eine das Minimum). Vorschlag für ein weiteres Video: Die Komplexität eines (etwas längeren) Algorithmus in Big-O Notation bestimmen. Das würde bestimmt helfen, das Thema wirklich zu verstehen.
_names_ ist ein Array. Und das erste Element eines Arrays bekommst du mit array[0] nicht mit array[1]. Das ist am Anfang ein bisschen gewöhnungsbedürftig. Aber jetzt weißt du, dass names[0] Thomas ergibt, names[1] Lasse und names[2] Timon. Ich hoffe, ich konnte dir damit weiterhelfen! :)
Danke, das hat mir bereits sehr weitergeholfen, in der Vorlesung fand ich das nicht so verständlich. Die Beispiele waren super! Vielleicht kannst du mir mit folgenden Fragen helfen: Warum ist das O(n^2)? Warum ist die Schleifenabbruchbedingung irrelevant? (Dass eine bis x, die andere bis y geht). Wie ist das mit den O(log(n)) Funktionen?
Hi Marta, auf meinem Kanal hab ich _O(log n)_ kurz und knapp beschrieben. Bei _log n_ ist wichtig zu verstehen, dass die Inputmenge mit jedem Schritt des Algorithmus minimiert wird. Das macht einen Algorithmus so schnell, da er mit jedem Schritt weniger Daten zu verarbeiten hat. Ich hoffe, das Hilft dir etwas weiter :)
Dein Bubblesort hat doch aber nicht genau die Komplexität von O(n^2) da du in der inneren Schleife das „i“ aus der äußeren berücksichtigst, demnach ist es nicht vollkommen linear sondern facht zum Ende hin ab oder sehe ich das falsch, dann korrigiert mich gerne
Sehr schönes Video, hatte das mal kurz im Studium angerissen, damals aber nie richtig verstanden. Jetzt wäre es super cool wenn du noch ein zweites Video zu O(log n) machen könntest und wie man das überhaupt berechnet. Bei den hier vorgestellten O(1), O(n) und O(n²) Algorithmen ist das ja ziemlich offensichtlich.
Hab es jetzt besser verstanden als nach 90min Vorlesung. Danke.
Sehr gut erklärt. Bringt mich auf jeden Fall im Studium ein Stück weiter, danke. ❤
Danke, endlich hab ich's kapiert. Im Studium wurde es so komplex erklärt, dass ich nichts geschnallt habe, dabei ist es eigentlich ganz einfach...
Die Code-Beispiele sind ausgezeichnet, sehr schönes Thema. :)
Vielen Dank! :)
Stark, besten Dank. Nächste Woche Klausur.
Vielen Dank :) ich wünsche dir ganz viel Erfolg!! Algorithmen und Datenstrukturen?
@@ProgrammierenStarten Danke! Ja so ziemlich.. Heißt bei uns Formale Modelle und Algorithmen
Danke für eure Arbeit, hat mir schon viel geholfen entweder wenn ich im Studium Schwierigkeiten hatte oder zur Wiederholung!
Sehr hilfreich und klar verständlich :)
Sehr gutes Video 👍
Ich würde mich noch sehr freuen, wenn du ein anderes Video zu O(log n) machen würdest. Vielen Dank !
Vielen Dank, wieder mal was dazu gelernt!
Sehr gerne :)
Ich werd dieses "O irgendwas" nie benutzen, war aber trotzdem interessant! 👍
Haha so geht es wohl vielen, aber immer gut zu wissen :)
Vielen Dank für dieses Tutorial!👍👍👍👍
Danke fürs zuschauen! :)
Sehr gut erklärt danke
0:40 video startet hier
Cooles Video! Was du beim Bubblesort gemacht hast ist übrigens ganz normal in der IT: "Ich werde den Bubblesort jetzt übrigens nicht erklären" ... *beginnt, den Bubblesort zu erklären* 😄
O (log n) wurde garnicht erklärt :(
Hi Jasmin,
auf meinem Kanal hab ich _O(log n)_ kurz und knapp beschrieben. Bei _log n_ ist wichtig zu verstehen, dass die Inputmenge mit jedem Schritt des Algorithmus minimiert wird. Das macht einen Algorithmus so schnell, da er mit jedem Schritt weniger Daten zu verarbeiten hat.
Ich hoffe, das Hilft dir etwas weiter :)
Der logarithmus ist die umkehrfunktion der exponentialfunktion. Das bedeutet doch dass bei jedem zusätzlichen n der rechenaufwand kleiner wird
Ganz schön komplex das Thema
Ja, da muss man etwas nachdenken :)
Hallo, ich mag eure Videos aber ich habe eine Frage: Ihr habt ja Tutorials zu C# habt ihr auch welche zu C++ und ist C# kompatibel, also konvertierbar (oder so) zu C++?
Prima erklärt!👍
Danke 🤩
Danke für das Video.
Bei dem Beispiel zu O(1) würde ich eher ein Array eines Types mit fixer Breite nehmen- z.B. Integer. Bei einem Array von Zeichenketten stimmt es nicht ganz, dass die Dauer exakt gleich ist, weil nicht vorhersagbar ist wie lang die einzelnen Zeichenketten sind.
Hi Nitram,
ich weiß genau was du meinst mit "weil nicht vorhersagbar ist wie lang die Zeichenketten sind". Bei der Laufzeitanalyse ist das aber ein Faktor, der ignoriert wird. Bei der Laufzeitanalyse und der Big-O-Notation, will man es so einfach wie möglich machen. Das Problem ist nämlich, welche Komplexitätsklasse für die Laufzeit wenn nicht O(1) würdest du dem ganzen jetzt geben?
Ich habe auch ein Video dazu auf meinem Kanal gemacht, in dem ich darauf eingehe, weshalb bestimmte Faktoren (so genannte Koeffizienten und Konstanten) ignoriert werden.
unter welchem kurs finde ich videos zu algorithmen wie dieses?
Wie heißt das Programm, wo du die kleinen Programme bzw. Algorythmen schreibst? Möchte das auch gerne testen in meinem Studium ob die kleinen Programme klappen würden.
Hallo zusammen, ich versuche gerade im Studium die O-Notation zu verstehen. Bei dem Beispiel mit dem Array verstehe ich grade nicht warum Timon ausgegeben wird und nicht Lasse? Könntet ihr mir das beantworten? Vielen Dank vorab.
Hey kurze Frage, fahre demnächst über ein paar Tage zu den Großeltern, die haben da kein Wlan geschweige denn Lan 😅. Ich wollte nur mal fragen ob man den c# kurs welchen ich mir vor ein paar Monaten gekauft hatte, auch herunterladen kann, um auch offline weiter lernen zu können.
Für Anfänger sehr hilfreich!
Allerdings ist die Erklärung bzw. das Beispiel für "linear" bei 4:50 ggf. etwas in die Irre führend. Nur als kleiner Verbesserungshinweis für zukünftige Videos :). Gerade für Studenten sind solche Feinheiten wichtig... Wobei die hoffentlich wissen sollten, was linear heißt^^.
Linear bedeutet konstanter Faktor. Die Verdopplung der Eingabemenge kann z.B. auch eine Vervierfachung des Aufwands bedeuten. Code-Beispiel: Ein Alorithmus soll das Minimum und das Maximum eines Zahlen-Arrays berechnen und macht dazu zwei for-Schleifen (eine bestimmt das Maximum, eine das Minimum).
Vorschlag für ein weiteres Video: Die Komplexität eines (etwas längeren) Algorithmus in Big-O Notation bestimmen. Das würde bestimmt helfen, das Thema wirklich zu verstehen.
Wieso ist names[2] timon und nicht lasse?
_names_ ist ein Array. Und das erste Element eines Arrays bekommst du mit array[0] nicht mit array[1]. Das ist am Anfang ein bisschen gewöhnungsbedürftig. Aber jetzt weißt du, dass names[0] Thomas ergibt, names[1] Lasse und names[2] Timon. Ich hoffe, ich konnte dir damit weiterhelfen! :)
kannst du mal einen xamarin tutorial machen
Dein Name ist sehr toll!
Das vermerken wir uns für die zukunft
@@ProgrammierenStarten oder MAUI, das ja bald mit .NET 6 rauskommt
@@helkade bin auch ein rgb fan
Video zum MVC Model bitte
Danke, das hat mir bereits sehr weitergeholfen, in der Vorlesung fand ich das nicht so verständlich. Die Beispiele waren super!
Vielleicht kannst du mir mit folgenden Fragen helfen:
Warum ist das O(n^2)? Warum ist die Schleifenabbruchbedingung irrelevant? (Dass eine bis x, die andere bis y geht).
Wie ist das mit den O(log(n)) Funktionen?
Habe nach O(log n) gesucht, habt ihr leider nicht behandelt...
Hi Marta,
auf meinem Kanal hab ich _O(log n)_ kurz und knapp beschrieben. Bei _log n_ ist wichtig zu verstehen, dass die Inputmenge mit jedem Schritt des Algorithmus minimiert wird. Das macht einen Algorithmus so schnell, da er mit jedem Schritt weniger Daten zu verarbeiten hat.
Ich hoffe, das Hilft dir etwas weiter :)
Dein Bubblesort hat doch aber nicht genau die Komplexität von O(n^2) da du in der inneren Schleife das „i“ aus der äußeren berücksichtigst, demnach ist es nicht vollkommen linear sondern facht zum Ende hin ab oder sehe ich das falsch, dann korrigiert mich gerne
Die ersten 42 Sekunden kannst du eigentlich wegschneiden.
n log n hast du auch vergessen zu erklären
1 Kommentar :o
GG
Sehr geil danke 🤩
4. Kommentar
falsch
Yeah :)
3 kommentar
Yeah 👍
2 Kommentar
Yeah 👍
was ist mit O(log n)?🥲