Articles of algorithme

Recherche d’un vecteur de transposition simple cyclique en C

J’ai l’entrée comme tableau A = [ 2,3,4,1] La sortie correspond simplement à toutes les permutations possibles des éléments en A, ce qui peut être obtenu par une opération de transposition simple (inversion simple de deux éléments voisins). Donc, le résultat est: [3,2,4,1],[ 2,4,3,1],[2,3,1,4],[1,3,4,2] La transposition circulaire est autorisée. Par conséquent, [2,3,4,1] ==> [1,3,4,2] est […]

Manière optimisée de traiter un très grand nombre sans utiliser de bibliothèque externe

Manière optimisée de gérer la valeur de n ^ n (1 ≤ n ≤ 10 ^ 9) J’ai utilisé long long int mais ce n’est pas assez bon car la valeur peut être (1000 ^ 1000) Vous avez recherché et trouvé la GMP library http://gmplib.org/ et la BigInt class mais vous ne voulez pas les […]

n nombres sont disposés en cercle. Nous devons trouver la sum maximale de nos consécutifs

Pour un tableau linéaire, le problème de trouver la sum maximale de nos consécutifs. est facile. Peut être facilement fait en utilisant Algo de Kadane. . Mais maintenant, le tableau est sous la forme d’un cercle et nous devons trouver la sum maximale de nos consécutifs. Ainsi, startindex et endindex peuvent être situés n’importe où […]

Algorithme d’abstraction de chemins de graphes requirejs

J’ai une structure de données contenant un graphique semblable à celui de l’image suivante: Dans cette arborescence, un nœud peut avoir un nombre quelconque d’enfants uniques parmi les niveaux inférieurs. Dans l’arborescence de l’image représente un ensemble de chemins. Où chaque chemin doit commencer par un nœud du niveau 1 et se terminer par un […]

fusionner le sorting en utilisant la récursion dans c langue

#include #include int arr[20]; void main() { int n,i; clrscr(); printf(“\n\t\t\t——Merge Sorting——\n\n”); printf(“Enter the size of array\n”); scanf(“%d”,&n); printf(“Enter the elements:\n”); for(i=0; i < n; i++) { scanf("%d",&arr[i]); } merge_sort(arr,0,n-1); printf("\n\n\t\t\t—–Merge Sorted Elements—–\n\n"); printf("Sorted array:\t"); for(i=0; i < n; i++) { printf("\t%d",arr[i]); } getch(); } int merge_sort(int arr[],int low,int high) { int mid; if(low < […]

Comment séparer une chaîne en un tableau de caractères / chaînes uniques

Fondamentalement, je veux savoir s’il est possible (si oui comment) de lire une chaîne de gauche à droite et de terminer goulument et append une fois qu’une nouvelle chaîne est trouvée. Par exemple. “ABCABCABCABC” donnerait {“A” “B” “C” “AB” “CA” “BC” “ABC”} J’ai essayé toute la journée et tout ce dont je me suis retrouvé […]

Convertir Hex en Décimal quand aucun type de données ne peut contenir le nombre entier

Ok, je travaille donc avec un microprocesseur PIC, en C. Il s’agit d’un 16F, il ne peut donc pas contenir d’entiers supérieurs à 32 bits (int32 non signé est la plus grande taille de données disponible). D’un lecteur, je reçois un code d’identification de 5 octets. Pour le transmettre, je dois encoder en BCD, chiffre […]

Infixe à postfix algo rithm qui prend en charge les opérateurs unaires

Ok, donc le I / p à l’algo sera une expression comme celle-ci: a+(-b) a*-b+c c’est-à-dire toute expression prise en charge par un compilateur C standard. Maintenant, l’entrée est déjà formatée en tant que stream de jetons. Les jetons contiennent des informations, qu’il s’agisse d’un opérateur ou d’un opérande. L’algorithme devrait en tenir compte et […]

plus petit diviseur d’un entier sans calculer la racine carrée explicitement

Ce code donne le plus petit diviseur d’un entier. Mais le problème est que je dois calculer la racine carrée. Existe-t-il un moyen de ne pas avoir à calculer explicitement la racine carrée? int d,r,n; scanf(“%d”,&n); if(n%2==0) { printf(“2 is ans”); } else { r=sqrt(n); d=3; while((n%d!=0)&&d<r) { d=d+2; } if(n%d==0) printf("ans is %d",d); else […]

trouver la longueur d’un arc sur un cercle

J’ai un problème intéressant (pour moi en tout cas). Je travaille sur OpenServo.org pour la V4 et j’essaie de déterminer la longueur d’un arc de déplacement et sa direction. J’ai un encodeur magnétique qui renvoie la position de l’arbre de 0 à 4095. Le servo a deux extrémités logiques, appelées MAX et MIN. Elles sont […]