Articles of Algorithmus

Zyklen in einem ungerichteten Graphen

Bei einem ungerichteten Graphen G = ( V , E ) mit n Ecken (| V | = n ), wie finden Sie, wenn es einen Zyklus in O ( n ) enthält?

Magische Zahl in boost :: hash_combine

Die Template-function boost::hash_combine nimmt Bezug auf einen Hash (genannt seed ) und ein Objekt v . Laut den Dokumenten kombiniert es seed mit dem Hash von v by seed ^= hash_value(v) + 0x9e3779b9 + (seed <> 2); Ich kann sehen, dass dies deterministisch ist. Ich verstehe, warum ein XOR benutzt wird. Ich wette, die Addition […]

Kombinieren von Gyroskop- und Beschleunigungsmesserdaten

Ich baue mit dem NXT-System von Lego Mindstorm einen Auswuchtroboter. Ich verwende zwei Sensoren von HiTechnic, wobei der erste ein Beschleunigungsmesser und der zweite ein Gyroskop ist. Ich habe erfolgreich Rauschen von beiden Sensoren und abgeleitete angular für beide in einem Bereich zwischen -90 und 90 Grad herausgefiltert, wobei 0 Grad perfekt ausgeglichen sind. Meine […]

Der effizienteste Weg, Top K häufige Wörter in einer großen Wortfolge zu finden

Eingabe: Eine positive Ganzzahl K und ein großer Text. Der Text kann tatsächlich als Wortsequenz angesehen werden. Wir müssen uns also keine Gedanken darüber machen, wie wir es in eine Wortsequenz aufteilen können. Ausgabe: Die häufigsten K Wörter im Text. Mein Denken ist so. Verwenden Sie eine Hash-Tabelle, um die Häufigkeit aller Wörter aufzuzeichnen, während […]

Eine einzelne Nummer in einer Liste finden

Was wäre der beste Algorithmus zum Finden einer Zahl, die nur einmal in einer Liste vorkommt, in der alle anderen Zahlen genau zweimal vorkommen. Also, in der Liste der ganzen Zahlen (nehmen wir es als ein Array) wiederholt sich jede ganze Zahl genau zweimal, außer einem. Um das zu finden, was ist der beste Algorithmus.

Schreiben Sie Ihre eigene Quadratwurzelfunktion

Wie schreiben Sie Ihre eigene function, um die genaueste Quadratwurzel einer ganzen Zahl zu finden? Nachdem ich gegoogelt habe, fand ich das (archiviert von seinem ursprünglichen Link ), aber zuerst habe ich es nicht vollständig verstanden, und zweitens ist es auch ungefähr. Nehmen Sie die Quadratwurzel als nächste Ganzzahl (zum eigentlichen Stamm) oder als Gleitkommazahl […]

Welche Verteilung erhalten Sie von diesem gebrochenen zufälligen Shuffle?

Der berühmte Fisher-Yates Shuffle–Algorithmus kann verwendet werden, um ein Array A der Länge N zufällig zu permutieren: For k = 1 to N Pick a random integer j from k to N Swap A[k] and A[j] Ein häufiger Fehler, den mir immer wieder gesagt wurde: For k = 1 to N Pick a random integer […]

Mit welchem ​​Algorithmus können Rechtecke unterschiedlicher Größe möglichst optimal in das kleinste Rechteck verpackt werden?

Ich habe ein paar rechteckige Objekte, die ich auf den kleinstmöglichen Raum packen muss (die Dimensionen dieses Raums sollten Zweierpotenzen sein). Ich kenne verschiedene Packalgorithmen, die die Objekte so gut wie möglich in einen bestimmten Raum packen, aber in diesem Fall brauche ich den Algorithmus, um herauszufinden, wie groß dieser Raum auch sein sollte. ZB […]

Generiere alle binären Strings der Länge n mit gesetzten k Bits

Was ist der beste Algorithmus, um alle binären Strings der Länge n zu finden, die k Bits enthalten? Zum Beispiel, wenn n = 4 und k = 3, gibt es … 0111 1011 1101 1110 Ich brauche einen guten Weg, um diese zu erzeugen, vorausgesetzt, es gibt ein beliebiges n und ein beliebiges k, also […]

Was ist der effiziente Weg, um gesetzte Bits an einer Position oder niedriger zu zählen?

Gegebene std::bitset bits mit einer beliebigen Anzahl von gesetzten Bits und einer Bitposition X (0-63) Was ist der effizienteste Weg, um Bits an Position X oder niedriger zu zählen oder 0 zurückzugeben, wenn das Bit an X nicht gesetzt ist Hinweis: Wenn das Bit gesetzt ist, ist die Rückkehr immer mindestens 1 Der brutale Weg […]