Articles of algorithme de

c ++ quicksort sortinger le texte de la chaîne

Je fais mes devoirs et j’effectue un sorting rapide récurrent, mais le sorting n’est pas correct. On dirait que ça ne change pas correctement. Voici mon code #include #include #include using namespace std; int quick_sort_help(ssortingng &text,int left, int right, int pivot){ char val = text[pivot]; char temp; //swap // temp =text[pivot]; //text[pivot]= text[right]; //text[right]=temp; //swap(&text[left],&text[right]); […]

Suppression des caractères spécifiés d’une chaîne – Méthodes efficaces (complexité temporelle et spatiale)

Voici le problème: Supprimer les caractères spécifiés d’une chaîne donnée. Input: The ssortingng is “Hello World!” and characters to be deleted are “lor” Output: “He Wd!” La solution implique deux sous-parties: Déterminer si le caractère donné doit être supprimé Si oui, supprimer le caractère Pour résoudre la première partie, je lis les caractères à supprimer […]

Le moyen le plus efficace d’inverser un nombre

Je cherche un algorithme efficace pour inverser un nombre, par exemple Entrée: 3456789 Sortie: 9876543 En C ++, il existe de nombreuses options avec des masques de bits et de décalage, mais quel serait le moyen le plus efficace? Ma plate-forme: x86_64 Plage de nombres: XXX – XXXXXXXXXX (3 à 9 chiffres) EDITER Le dernier […]

c ++ Tri des points 2D dans le sens des aiguilles d’une montre

J’ai écrit un programme pour arranger les points d’un graphique dans le sens des aiguilles d’une montre à partir de midi, de sorte qu’un vecteur contenant ces points soit sortingé dans cet ordre. J’utilise atan2 pour obtenir l’angle à partir de 12 heures, puis j’effectue des ajustements en fonction du quadrant. J’essaie de comprendre d’où […]

Flux de réseau: ajout d’un nouveau bord

Récemment, dans l’un des cas, on m’a demandé de concevoir un algorithme qui, for a network having V vertices and E edges, if by adding an edge (it’s capacity should be 1) results in increase the maximum flow. c’est-à-dire qu’il faut concevoir un tel algorithme pour trouver de tels bords. L’algorithme devrait être plus rapide […]

Algorithme de correspondance de chaîne

Dis que j’ai 3 cordes. Et puis 1 autre corde. Existe-t-il un algorithme qui me permettrait de trouver laquelle des 3 premières chaînes correspond le plus à la 4ème chaîne? Aucune des chaînes ne correspond à une correspondance exacte, j’essaie simplement de trouver la correspondance la plus proche. Et si l’algorithme existe déjà en LIST, […]

Comment implémenter une fonction de hachage générique en C ++

J’essaie d’implémenter HashTable en C ++ via des modèles. Voici la signature: template class HashTable { public: void add(T1 a, T2 b); void hashFunction(T1 key, T2 value) { // how to implement this function using key as a generic // we need to know the object type of key } }; Donc, je suis incapable […]

comment boost :: property_map est-il implémenté dans boost et comment le changer

Je me demandais comment les cartes de propriétés sont implémentées dans un graphique boost. Par exemple, J’ai les propriétés de vertex et de bord définies comme ceci: //vertex property:–> struct NodeInfo { int a , b , c; }; //actual bundled property struct NodeInfoPropertyTag { // tag and kind (as in boost documentation) typedef boost::vertex_property_tag […]

Rouler le hasch à Rabin-Karp

J’essaie de mettre en œuvre le Rabin-Karp pour trouver la sous-chaîne; et je me suis retrouvé coincé dans le hash roulant (j’essayais d’utiliser la formule suggérée dans Wikipedia ). #define MOD 1000000007 unsigned long long rolling_hash(const char *str) { unsigned long long hash = 0; size_t str_len = strlen(str); for(int i = 0, k = […]

Quel est le moyen le plus rapide de trouver la plus longue séquence de «numéros consécutifs» en vecteur?

J’ai un sorting std::vector sortingé et j’aimerais trouver la plus longue “séquence de nombres consécutifs” dans ce vecteur, puis renvoyer à la fois sa longueur et le plus petit nombre de la séquence. Pour le visualiser: supposons que nous ayons: 1 3 4 5 6 8 9 Je voudrais qu’il retourne: maxStreakLength = 4 et […]