Schwierige Algorithmen und Datenstrukturen, die jeder Programmierer ausprobieren sollte

Schwierige Algorithmen und Datenstrukturen, die jeder Programmierer ausprobieren sollte - Austin Z. Henley Austin Z. Henley

Ich arbeite an KI- und Entwicklungstools.

austinhenley@microsoft.com@austinzhenley@azhenley@hci.socialgithub/AZHenley

Startseite | Veröffentlichungen | Bloggen

21.12.2022

Siehe die Diskussion dieses Beitrags auf Reddit.

Okay, wir verbringen alle unsere Freizeit damit, über Algorithmen zu lesen, richtig?

Nun, als ich Student war, hat mich mein Algorithmus-Unterricht regelmäßig eingeschlafen. Das ist bedauerlich, weil es da draußen einige wirklich interessante Algorithmen und Datenstrukturen gibt. Sie tauchten nicht nur in Vorstellungsgesprächen auf, sondern das Lernen über sie veränderte meine Art, über Probleme zu denken. Außerdem sind sie auch dann nützlich, wenn Sie nicht an Google-weiten Problemen arbeiten.

Nach meinen anderen beliebten Beiträgen Herausfordernde Projekte, die jeder Programmierer ausprobieren sollte, und Weitere herausfordernde Projekte, die jeder Programmierer ausprobieren sollte, habe ich eine Liste mit coolen Algorithmen und Datenstrukturen zusammengestellt, die Sie ausprobieren sollten:< /p> Topologische Sortierung Rekursive Abstiegsanalyse Myers-String-Unterschied Blütenfilter Teiletabelle ausgestellter Schaft

Hinweis: Wenn Sie eine Einführung in Algorithmen benötigen, empfehle ich Algorithms von Jeff Erickson (Amazon, Web) oder Algorithmic Thinking von Daniel Zingaro (Amazon ). Wenn Sie eine große Referenz suchen, dann ist der Klassiker Introduction to Algorithms von CLRS (Amazon). Nicht genug? Sehen Sie sich MITs Advanced Data Structures (YouTube) an, um selbst zu beeindrucken.

Topologische Sortierung

Wann immer Sie Elemente sortieren müssen, die von anderen Elementen abhängen, verwenden Sie die topologische Sortierung. Zu den gängigen Szenarien gehören die Festlegung der Reihenfolge der Aufgaben für den Aufbau von Systemen, die Reihenfolge der Zellauswertung in einer Tabelle, die Kurse, die ein Student in jedem Semester belegen muss, um seinen Abschluss zu machen, und verschiedene Planungen.

Ich habe es sogar im College verwendet, um Diagramme neu anzuordnen, damit sie leichter zu lesen sind.

Topologische Sortierung (Wikipedia) Interaktive Visualisierung der topologischen Sortierung (Web) Rekursive Abstiegsanalyse

Diese hier fühlte sich an, als würde ich eine Supermacht freischalten, als es bei mir klick machte. Wenn Sie ein rekursives Datenformat aufnehmen oder eine Programmiersprache erstellen müssen, ist dieses Tool genau das Richtige für Sie. Skizzieren Sie eine Grammatik und ordnen Sie dann jeder Grammatikregel eine Codefunktion zu. Bam! Sieht so aus, als würde es sich selbst codieren.

Sie könnten damit in wenigen Stunden einen einfachen Compiler erstellen.

Lassen Sie uns einen Teeny Tiny-Compiler erstellen (meine Tutorial-Reihe) Handwerksdolmetscher (Web,

Schwierige Algorithmen und Datenstrukturen, die jeder Programmierer ausprobieren sollte
Schwierige Algorithmen und Datenstrukturen, die jeder Programmierer ausprobieren sollte - Austin Z. Henley Austin Z. Henley

Ich arbeite an KI- und Entwicklungstools.

austinhenley@microsoft.com@austinzhenley@azhenley@hci.socialgithub/AZHenley

Startseite | Veröffentlichungen | Bloggen

21.12.2022

Siehe die Diskussion dieses Beitrags auf Reddit.

Okay, wir verbringen alle unsere Freizeit damit, über Algorithmen zu lesen, richtig?

Nun, als ich Student war, hat mich mein Algorithmus-Unterricht regelmäßig eingeschlafen. Das ist bedauerlich, weil es da draußen einige wirklich interessante Algorithmen und Datenstrukturen gibt. Sie tauchten nicht nur in Vorstellungsgesprächen auf, sondern das Lernen über sie veränderte meine Art, über Probleme zu denken. Außerdem sind sie auch dann nützlich, wenn Sie nicht an Google-weiten Problemen arbeiten.

Nach meinen anderen beliebten Beiträgen Herausfordernde Projekte, die jeder Programmierer ausprobieren sollte, und Weitere herausfordernde Projekte, die jeder Programmierer ausprobieren sollte, habe ich eine Liste mit coolen Algorithmen und Datenstrukturen zusammengestellt, die Sie ausprobieren sollten:< /p> Topologische Sortierung Rekursive Abstiegsanalyse Myers-String-Unterschied Blütenfilter Teiletabelle ausgestellter Schaft

Hinweis: Wenn Sie eine Einführung in Algorithmen benötigen, empfehle ich Algorithms von Jeff Erickson (Amazon, Web) oder Algorithmic Thinking von Daniel Zingaro (Amazon ). Wenn Sie eine große Referenz suchen, dann ist der Klassiker Introduction to Algorithms von CLRS (Amazon). Nicht genug? Sehen Sie sich MITs Advanced Data Structures (YouTube) an, um selbst zu beeindrucken.

Topologische Sortierung

Wann immer Sie Elemente sortieren müssen, die von anderen Elementen abhängen, verwenden Sie die topologische Sortierung. Zu den gängigen Szenarien gehören die Festlegung der Reihenfolge der Aufgaben für den Aufbau von Systemen, die Reihenfolge der Zellauswertung in einer Tabelle, die Kurse, die ein Student in jedem Semester belegen muss, um seinen Abschluss zu machen, und verschiedene Planungen.

Ich habe es sogar im College verwendet, um Diagramme neu anzuordnen, damit sie leichter zu lesen sind.

Topologische Sortierung (Wikipedia) Interaktive Visualisierung der topologischen Sortierung (Web) Rekursive Abstiegsanalyse

Diese hier fühlte sich an, als würde ich eine Supermacht freischalten, als es bei mir klick machte. Wenn Sie ein rekursives Datenformat aufnehmen oder eine Programmiersprache erstellen müssen, ist dieses Tool genau das Richtige für Sie. Skizzieren Sie eine Grammatik und ordnen Sie dann jeder Grammatikregel eine Codefunktion zu. Bam! Sieht so aus, als würde es sich selbst codieren.

Sie könnten damit in wenigen Stunden einen einfachen Compiler erstellen.

Lassen Sie uns einen Teeny Tiny-Compiler erstellen (meine Tutorial-Reihe) Handwerksdolmetscher (Web,

What's Your Reaction?

like

dislike

love

funny

angry

sad

wow