Bekomme Ich Einen Job In Big Data, Wenn Ich Mich Auf Datenstrukturen Und Algorithmen Vorbereite?

Bekomme Ich Einen Job In Big Data, Wenn Ich Mich Auf Datenstrukturen Und Algorithmen Vorbereite?

January 28, 2023, by Heine Rädler, Arbeit

Ich fürchte nicht.

Ich habe in einer anderen Antwort darauf geschrieben, worum es bei Big Data / Data Science-Unternehmen geht. Ran Wangs Antwort auf Kann ein Typ ohne Erfahrung im Programmieren, aber mit einem MBA-Abschluss durchkommen, wenn er stark daran interessiert ist, Data Science zu lernen?

Darüber hinaus dient der Kurs zu Datenstrukturen und Algorithmen nur als Einstieg in das Gebiet. Viele Big-Data-Unternehmen suchen nach Mitarbeitern, die mit der Programmierung von verteilten Systemen im großen Maßstab vertraut sind, die Hadoop oder Spark verwenden. Wenn Sie nicht über fundierte Kenntnisse verfügen, befürchte ich, dass es sehr schwierig sein wird, einen Job zu finden.

Lassen Sie uns zuerst über Algorithmen diskutieren!

Algorithmen sind eine Reihe von klaren Schritten und Befehlen, die geschrieben wurden, um ein bestimmtes Softwareproblem zu lösen. Der Algorithmus gilt als gut, wenn er schnell ausgeführt wird und eine hohe Speichereffizienz aufweist.

Lassen Sie anhand eines Beispiels verstehen, was ein besserer Algorithmus ist. Nehmen wir an, wir wollen prüfen, ob die Zahl eine Primzahl ist oder nicht?

Nehmen wir an, wir wollen nach 101 suchen, ob es eine Primzahl ist oder nicht?

  • Algorithmus 1:
    Prüfen Sie, ob 101 durch 2, dann 3, dann 4, dann … teilbar ist. bald. Und schließlich, da es nicht teilbar war, werden wir sagen, es ist eine Primzahl.
    Wie können Berechnungen durchgeführt werden?
    101 Mal haben wir nachgesehen. Lassen
Weiterlesen

Lassen Sie uns zuerst über Algorithmen diskutieren!

Algorithmen sind eine Reihe von klaren Schritten und Befehlen, die geschrieben wurden, um ein bestimmtes Softwareproblem zu lösen. Der Algorithmus gilt als gut, wenn er schnell ausgeführt wird und eine hohe Speichereffizienz aufweist.

Lassen Sie anhand eines Beispiels verstehen, was ein besserer Algorithmus ist. Nehmen wir an, wir wollen prüfen, ob die Zahl eine Primzahl ist oder nicht?

Nehmen wir an, wir wollen nach 101 suchen, ob es eine Primzahl ist oder nicht?

  • Algorithmus 1:
    Prüfen Sie, ob 101 durch 2, dann 3, dann 4, dann … teilbar ist. bald. Und schließlich, da es nicht teilbar war, werden wir sagen, es ist eine Primzahl.
    Wie können Berechnungen durchgeführt werden?
    101 Mal haben wir nachgesehen. Mal sehen, ob wir es besser machen können.
  • Algorithmus 2:
    Prüfen Sie, ob 101 durch 2 teilbar ist, dann durch 3.
    Und dann durch 5, dann durch 7.
    Und dann durch 11, dann durch 13.
    Und dann durch 17, dann durch 19.

    Warum und wie überspringen wir Zahlen?
    Wenn Sie überprüfen, müssen wir nur mit Nummern des Typs 6n-1, 6n+1 überprüfen.
    Da die Restzahlen durch 2 oder durch 3 teilbar sind.

    Und daher haben wir es erfolgreich mindestens dreimal schneller gemacht!

So kann ein guter Algorithmus dasselbe Problem in nur Millisekunden lösen, während ein anderer Jahre brauchte, um dasselbe Problem zu lösen.

Bildquelle: Google Bilder

Interessantes Beispiel zum Algorithmus:
Gottes Zahl ist, wie viele Würfel-Enthusiasten bereits wissen, die maximale Anzahl an Zügen, die erforderlich sind, um eine der 43.252.003.274.489.856.000 Kombinationen des Würfels zu lösen.
Es wurde bewiesen, dass diese Zahl 20 ist (Gottes Zahl ist 20), jedoch ist die Entdeckung ziemlich neu (Juli 2010).

Stellen Sie sich vor, welcher Rechenaufwand erforderlich ist, um diese Zahl 20 zu finden!

Lassen Sie uns jetzt über Datenstrukturen sprechen,

Datenstrukturen sind eine Möglichkeit, Daten so zu sammeln und zu organisieren, dass wir Operationen mit diesen Daten effektiv durchführen können.

  • Vereinfachte Datenstrukturen hängen von der Gestaltung des Speicherprozesses im Computer auf effiziente und unkomplizierte Weise ab, um die Art der zu speichernden Daten zu unterstützen, um den Code oder Algorithmus schneller und effizienter zu betreiben.
  • Es gibt zwei Typen von Datenstrukturen, der erste Typ ist Primitive oder primitiver Typ und der zweite Typ ist der komplexe Typ.
    Beispiele für Typen primitiver Datenstrukturen
    Integer, Character, String etc.

    Beispiele für Typen komplexer Datenstrukturen
    Array, Linked List, Tree, Graph und viele mehr.
  • Jeder Typ hat bestimmte Eigenschaften und ermöglicht uns, jeden Typ mit unterschiedlichen Operationen an den Daten auszuführen, und die Auswahl basiert auf der Art der Daten.
  • Nehmen wir ein Beispiel für „Suchen eines Kontakts“ in einem Telefon. Nehmen wir an, es gibt 10^8 verschiedene Saiten.

    Sagen wir, wir wollen prüfen, ob die Zeichenfolge „9876543210“ in allen 10^8 Zahlen existiert oder nicht?
    Wenn wir die Zeichenfolge mit allen 10 ^ 8 Zeichenfolgen vergleichen, ist dies nicht ineffizient?

    Wir können dasselbe in nur 10 Vergleichen lösen, anstatt 10 ^ 8 durchzuführen. Sie haben vielleicht gesehen, dass die Suche nach einem Kontakt in einem Telefon schnell die übereinstimmenden Präfixnummern liefert, die TRIE-Datenstruktur ist in vielen Szenarien sehr nützlich.

Die Verwendung einer richtigen Datenstruktur für ein Problem kann also das gesamte Szenario ändern.

Codieren Sie weiter! Der Beste sein.

Related Post: