Junio 23, 2018, 02:37:56 am

Autor Tema: El algoritmo mas rapido para buscar una palabra dentro de una frase  (Leído 4095 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado myguestp

  • Yo vivo en CPH
  • ***
  • Mensajes: 1469
  • A storm comin that the weatherman couldn’t predict
    • Ver Perfil
El algoritmo mas rapido para buscar una palabra dentro de una frase
« en: ſeptiembre 22, 2010, 08:03:27 am »
Buenas, mi pregunta es para que me guiaran para hacer una funcion tipo:

bool Buscar(char *frase, char *palabra);

Pense en hacer una funcion como la que hizo drynky de mind:

Asi char* Recortar(char *frase, int principio, int final);

de esa manera si pongo Recortar("Hola mundo", 0, 4), retornaria "Hola", esa funcion podria ponerla dentro de la funcion Buscar donde el primer parametro int seria un contador dentro de la funcion y la 2º strlen(palabra), pense en ese algoritmo, ¿¿¿pero es el mas eficiente??? diganme como lo harian ustedes

You are not allowed to view links. Register or Login

Desconectado jep

  • Night Elf Druid
  • Colaborador
  • ****
  • Mensajes: 1773
  • Sexo: Masculino
    • Ver Perfil
Re: El algoritmo mas rapido para buscar una palabra dentro de una frase
« Respuesta #1 en: ſeptiembre 22, 2010, 08:36:09 am »
no hace falta que primero separes las palabras, podes ir buscando directamente en la frase, comprobas que la primera letra coincida, si eso pasa comprobas la siguiente. sino, seguis recorriendo la frase, letra por letra.


Desconectado Jh0ubrt

  • Me das tu IP?
  • *
  • Mensajes: 58
  • Sexo: Masculino
    • Ver Perfil
    • Jhoubert Web
Re: El algoritmo mas rapido para buscar una palabra dentro de una frase
« Respuesta #2 en: ſeptiembre 22, 2010, 09:26:59 am »
Yo tambien me voy por ir seleccionando letra por letra en la frase..!

Saludos!





You are not allowed to view links. Register or Login

Desconectado coredump

  • Yo vivo en CPH
  • ***
  • Mensajes: 408
  • Sexo: Masculino
    • Ver Perfil
Re: El algoritmo mas rapido para buscar una palabra dentro de una frase
« Respuesta #3 en: ſeptiembre 23, 2010, 05:45:50 pm »
EDITO: dije una tontería.

Creo que lo mejor será recorrer caracter a caracter.
« Última modificación: ſeptiembre 23, 2010, 07:17:22 pm por coredump »
Generation no: 298
Generation no: 299
Generation no: 300
The end of all the generations.
The best solution found is Program number: 42
+--DIV
|  +--[0]
|  +--[0]
The fitness value is: 68
Press any key to terminate....

Desconectado zikotropiko

  • Me das tu password?
  • **
  • Mensajes: 234
    • Ver Perfil
Re: El algoritmo mas rapido para buscar una palabra dentro de una frase
« Respuesta #4 en: ſeptiembre 24, 2010, 11:00:54 am »
hola, me he animado a hacer la función para practicar un poco,   :D

Código: (c) You are not allowed to view links. Register or Login
int Buscar(char *frase, char *palabra){
    int i,j;
       
    if( (!strlen(frase))   ||
        (!strlen(palabra)) ||
         strlen(palabra)>strlen(frase))
                  return(-1);
       
    for(i=0;i<strlen(frase);i++)
       { for(j=0;j<strlen(palabra);j++)
            { if(*(palabra+j)!=*(frase+i+j))
                  break;
              if(j==strlen(palabra)-1)
                  return(i+1);
            }
       }
     return(0);
}

y de esta forma igual sería más lento no?
Código: (c) You are not allowed to view links. Register or Login
    for(i=0;i<strlen(frase);i++)
       { if(!strncmp(frase+i,palabra,strlen(palabra)-1))
            return(i+1);
       }
     return(0);

saludos


Desconectado myguestp

  • Yo vivo en CPH
  • ***
  • Mensajes: 1469
  • A storm comin that the weatherman couldn’t predict
    • Ver Perfil
Re: El algoritmo mas rapido para buscar una palabra dentro de una frase
« Respuesta #5 en: ſeptiembre 26, 2010, 06:09:08 am »
yo hize algo parecido cuando lei tu respuesta, cuando lo tnga optimizado t aviso

Desconectado WaesWaes

  • Actualmente es
  • Colaborador
  • ****
  • Mensajes: 4402
  • You are not prepared!
    • Ver Perfil
Re: El algoritmo mas rapido para buscar una palabra dentro de una frase
« Respuesta #6 en: ſeptiembre 26, 2010, 10:02:59 am »
Lo mejor es que compares la primer palabra caracter a caracter y cuando falle uno te vas hasta un espacio+1 (nueva palabra), y empezas a hacer lo mismo, es una funcion muy pequeña....

Saludos

Desconectado myguestp

  • Yo vivo en CPH
  • ***
  • Mensajes: 1469
  • A storm comin that the weatherman couldn’t predict
    • Ver Perfil
Re: El algoritmo mas rapido para buscar una palabra dentro de una frase
« Respuesta #7 en: ſeptiembre 26, 2010, 01:51:23 pm »
eso es lo k hace la funcion del compañero, no?

Desconectado WaesWaes

  • Actualmente es
  • Colaborador
  • ****
  • Mensajes: 4402
  • You are not prepared!
    • Ver Perfil
Re: El algoritmo mas rapido para buscar una palabra dentro de una frase
« Respuesta #8 en: ſeptiembre 26, 2010, 01:58:39 pm »
Yo preferiria hacer algo asi

while(not eof)
    if(caracter1==caracter2) cont++;
    else
        if(palabra.length==cont) return;
        else cont=0;


exclamation
Funcion para buscar palabra dentro de archivo

Iniciado por myguestp

4 Respuestas
3157 Vistas
Último mensaje ſeptiembre 30, 2010, 02:24:20 pm
por myguestp
xx
Buscar palabra dentro de archivo

Iniciado por 001

2 Respuestas
5100 Vistas
Último mensaje Abril 21, 2007, 05:53:30 am
por happy-word
exclamation
[VB] Función para buscar una string dentro de otra y deolver un entero

Iniciado por carlooooos

0 Respuestas
3263 Vistas
Último mensaje Junio 21, 2010, 07:32:03 am
por carlooooos
xx
[python] Error al contar la cantidad de palabra que tiene una frase.

Iniciado por YoSoyRDV

8 Respuestas
3476 Vistas
Último mensaje Marzo 08, 2018, 03:59:44 pm
por seth
xxx
Saber la longitud de una palabra, frase o texto [Metodo usando FindStr]

Iniciado por EddyW

8 Respuestas
2712 Vistas
Último mensaje Octubre 23, 2009, 05:35:20 am
por nax_hh
question
Buscar palabra en .txt y eliminarla

Iniciado por Fernis

4 Respuestas
2002 Vistas
Último mensaje Enero 01, 2011, 02:41:44 pm
por alexmanycool
exclamation
[Dato]Buscar Frase en una cadena.

Iniciado por JaAViEr

14 Respuestas
5832 Vistas
Último mensaje Noviembre 02, 2010, 08:52:34 am
por mr.blood
xx
duda sobre buscar palabra en un *.txt

Iniciado por Yngwie Maty

2 Respuestas
2131 Vistas
Último mensaje Marzo 06, 2006, 01:26:39 pm
por ranefi
xx
Buscar un caracter dentro de una cadena y devolver su posicion

Iniciado por bolivianito

1 Respuestas
3279 Vistas
Último mensaje Marzo 08, 2010, 03:38:03 pm
por JaAViEr
resuelto
Cuando tengan un momento de su tiempo.. gracias, es rapido, muy rapido

Iniciado por xxaavvii95

3 Respuestas
962 Vistas
Último mensaje Mayo 06, 2011, 02:33:01 pm
por black wolf