Articles of algoritmo

Algoritmo para encontrar todos os divisores exatos de um dado inteiro

Eu quero encontrar todos os divisores exatos de um número. Atualmente tenho isto: { int n; int i=2; scanf(“%d”,&n); while(i<=n/2) { if(n%i==0) printf("%d,",i); i++; } getch(); } Existe alguma maneira de melhorar isso?

Maior círculo dentro de um polígono não convexo

Como posso encontrar o maior círculo que pode caber dentro de um polígono côncavo? Um algoritmo de força bruta está OK, desde que ele consiga lidar com polígonos com ~ 50 vértices em tempo real.

Enigma da programação: Como você pode traduzir um nome de coluna do Excel para um número?

Recentemente me perguntaram em uma entrevista de emprego para resolver um quebra-cabeça de programação que achei que seria interessante compartilhar. É sobre a tradução de letras de colunas do Excel para números reais, se você se lembra, o Excel nomeia suas colunas com letras de A a Z, e então a sequência vai AA, AB, […]

Complexidade de tempo de um algoritmo recursivo

Como posso calcular a complexidade temporal de um algoritmo recursivo? int pow1(int x,int n) { if(n==0){ return 1; } else{ return x * pow1(x, n-1); } } int pow2(int x,int n) { if(n==0){ return 1; } else if(n&1){ int p = pow2(x, (n-1)/2) return x * p * p; } else { int p = […]

Lista inversa recursiva reversa

Eu estava olhando o código abaixo da biblioteca de Stanford: void recursiveReverse(struct node** head_ref) { struct node* first; struct node* rest; /* empty list */ if (*head_ref == NULL) return; /* suppose first = {1, 2, 3}, rest = {2, 3} */ first = *head_ref; rest = first->next; /* List has only one node */ […]

Encontrando a mediana de uma matriz não classificada

Para encontrar a mediana de uma matriz não classificada, podemos fazer um min-heap no tempo O (nlogn) para n elementos, e então podemos extrair um por um elementos n / 2 para obter a mediana. Mas essa abordagem levaria tempo O (nlogn). Podemos fazer o mesmo por algum método no tempo O (n)? Se pudermos, […]

Por que a pesquisa em profundidade é considerada eficiente em termos de espaço?

Em um curso de algoritmos que estou tomando, é dito que a pesquisa em profundidade (DFS) é muito mais eficiente em termos de espaço que a pesquisa em largura (BFS). Por que é que? Embora eles estejam basicamente fazendo a mesma coisa, no DFS estamos empilhando os sucessores do nó atual enquanto no BFS estamos […]

Algoritmo de String Semelhante

Eu estou procurando um algoritmo, ou pelo menos teoria de operação em como você iria encontrar texto semelhante em duas ou mais seqüências de caracteres diferentes … Muito parecido com a questão colocada aqui: Algoritmo para encontrar artigos com texto semelhante , a diferença é que minhas seqüências de texto sempre serão apenas um punhado […]

Como dividir uma string em palavras. Ex: “stringintowords” -> “String Into Words”?

Qual é o caminho certo para dividir uma string em palavras? (string não contém espaços ou sinais de pontuação) Por exemplo: “stringintowords” -> “String Into Words” Você poderia, por favor, informar qual algoritmo deve ser usado aqui? ! Atualização: Para quem acha que esta questão é apenas por curiosidade. Esse algoritmo pode ser usado para […]

qual é a diferença entre set e unordered_set em C ++?

Veio em frente esta boa pergunta, que é semelhante, mas não de todo, já que fala sobre Java, que tem implementação diferente de tabelas de hash, em virtude de ter accessor / mutators sincronizados Diferenças entre HashMap e Hashtable? Então, qual é a diferença na implementação de C ++ de set e unordered_set? Esta questão […]