Título: busqueda binaria en archivo Publicado por: m@o_614 en 31 Diciembre 2013, 22:54 pm Saludos
tengo la siguiente tabla de instrucciones(de un ensamblador) capturada en un archivo txt: codop ABA NO INH 1806 2 0 2 ABX NO IDX 1AE5 2 0 2 ABY NO IDX 19ED 2 0 2 ADC SI IMM 89ii 1 1 2 .. .. .. y tengo por ejemplo un codigo de operacion que dice ABY, el cual lo tengo que buscar en este archivo, para ello pense que seria mas rapido si lo hago con una busqueda binaria, pero me queda la duda de si tengo primero que guardar solamente los codigos de operacion(ABA,ADB...) en una estructura de datos para despues poder hacer la busqueda, o si tengo que recorrer el archivo completo linea por linea para saber cuantos codops son?? no les pido que posteen el codigo solo que me dijeran cual podria ser la manera más optima y rapida de hacerlo gracias Título: Re: busqueda binaria en archivo Publicado por: leosansan en 31 Diciembre 2013, 23:34 pm Saludos tengo la siguiente tabla de instrucciones(de un ensamblador) capturada en un archivo txt: ............................................................. y tengo por ejemplo un código de operación que dice ABY, el cual lo tengo que buscar en este archivo, para ello pense que seria mas rápido si lo hago con una búsqueda binaria, pero me queda la duda de si tengo primero que guardar solamente los códigos de operación(ABA,ADB...) en una estructura de datos para después poder hacer la busqueda, o si tengo que recorrer el archivo completo linea por linea para saber cuantos codops son?? ..................................................... Por lo que tengo entendido, la búsqueda binaria se realiza en un array/estructura/lista previamente ordenada, por lo que en cualquier caso tendrías que recorrer el fichero entero y, guardados los copdops en donde te apetezca- -a mí me gusta la idea de un array - primero ordenarlo y a continuación aplicarle la búsqueda binaria. Pero es sólo una idea. ;-) ;-) Felices Navidades y Próspero Año Nuevo. ;-) ;-) ¡¡¡¡ Saluditos! ..... !!!! (http://st.forocoches.com/foro/images/smilies/aaaaa.gif) Título: Re: busqueda binaria en archivo Publicado por: m@o_614 en 1 Enero 2014, 02:13 am gracias leosansan, entonces no puedo hacer una busqueda binaria directamente de un archivo de texto???tomando en cuenta que los codops del archivo estan ya ordenados y otra duda que sería más conveniente por ejemplo si tengo la linea:
ABA NO INH 1806 2 0 2 si primero tengo que buscar el codop y despues ver checar algunas cosas con los demas datos, que seria mas conveniente guardar solo el ABA en una estructura o toda la linea Título: Re: busqueda binaria en archivo Publicado por: leosansan en 1 Enero 2014, 06:33 am ........................ entonces no puedo hacer una búsqueda binaria directamente de un archivo de texto???tomando en cuenta que los codops del archivo estan ya ordenados ........................ Si están ordenados puedes aplicar directamente la búsqueda binaria e ir guardando los resultados en otro fichero auxiliar o en un array/estructura/lista. ........................................ y otra duda que sería más conveniente por ejemplo si tengo la linea: ABA NO INH 1806 2 0 2 si primero tengo que buscar el codop y después ver checar algunas cosas con los demás datos, que seria mas conveniente guardar solo el ABA en una estructura o toda la linea Yo creo que bastaría ir leyendo sólo los codops, con ellos guardas la línea a la que pertenecen y al final tendrás ordenadas cada línea. ;-) ;-) Felices Navidades y Próspero Año Nuevo. ;-) ;-) ¡¡¡¡ Saluditos! ..... !!!! (http://st.forocoches.com/foro/images/smilies/aaaaa.gif) Título: Re: busqueda binaria en archivo Publicado por: amchacon en 1 Enero 2014, 14:53 pm ¿Que lenguaje? ¿C o C++?
En c++ yo lo haría tal que así: Código
No es el sistema más eficiente pero si el más fácil de implementar. Título: Re: busqueda binaria en archivo Publicado por: m@o_614 en 2 Enero 2014, 00:34 am El lenguaje es C, y el archivo en el cual tengo que buscar un codop es este:
ABA NO INH 1806 2 0 2 ABX NO IDX 1AE5 2 0 2 ABY NO IDX 19ED 2 0 2 ADCA SI IMM 89ii 1 1 2 DIR 99dd 1 1 2 EXT B9hhll 1 2 3 IDX A9xb 1 1 2 IDX1 A9xbff 1 2 3 IDX2 A9xbeeff 1 3 4 [D,IDX] A9xb 1 1 2 [IDX2] A9xbeeff 1 3 4 el problema es que aqui si quiero hacer la busqueda binaria no se puede porque aunque tengo 4 codops(aby,adca, etc) el archivo tiene 11 lineas porque el adca tiene muchos modos de direccionamiento y no podria saber donde esta el codop ubicado en la mitad del archivo, entonces no se como podria resolver eso, es la parte que me confunde mas!!! y luego despues de buscar el codop tengo que ver si tiene operando, los modos de direccionamiento e imprimirlos gracias |