• Miércoles 20 de Noviembre de 2024, 14:29

Autor Tema:  Metodología De La Programación  (Leído 2897 veces)

Arjuna

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Metodología De La Programación
« en: Lunes 31 de Mayo de 2004, 04:56 »
0
Hola amigos

El día de hoy me trae hasta ustedes 2 preguntas concernientes a metodología de la programación; mis dudas son las siguientes:

Como bien es sabido  existen 2 métodos generales de búsqueda y clasificación (ordenamiento) de datos: Métodos de Búsqueda y selección internos y Métodos de búsqueda y selección externos.

Los primeros se utilizan cuando los datos son manipulados en memoria central, mientras los segundos hacen parte del manejo de archivos (datos almacenados en dispositivos de memoria externos).

Los métodos externos se hacen necesarios cuando la capacidad de la memoria central o interna no es lo suficientemente grande como para poder albergar todos los datos por lo cual se hacen necesaria la utilización de dispositivos de almacenamiento externos tales como cintas y discos magnéticos, discos duros, etc.

Gracias a la evolución de los equipos de cómputo la capacidad de la memoria central se ha incrementado ostensiblemente y es allí donde vienen  mis preguntas:

1-   Quiero saber si en la actualidad aun se siguen realizando las operaciones de clasificación y búsqueda desde dispositivos externos de almacenamiento o si gracias al incremento en la memoria interna de los ordenadores dichas operaciones son realizadas mayormente en memoria central; es decir mediante métodos tales como la burbuja, selección, inserción, shell y quik sort para ordenación y el método secuencial, binario y de transformación de claves (hashing) para las búsquedas.


2 -   Cada vez que yo declaro un array (vector o matriz) las operaciones de clasificación y búsqueda están definidas en memoria central?

Gracias por su ayuda….

abebex17

  • Miembro activo
  • **
  • Mensajes: 28
    • Ver Perfil
Re: Metodología De La Programación
« Respuesta #1 en: Viernes 13 de Agosto de 2004, 17:00 »
0
Su`pongo que se sigue usando , por ejemeplo, windows98 , cuando no tiene mas memoria, usa el disco, creo que le dicen memoria Virtual, y con respecto a la segunda pregunta, cuando estas usando vectores matrices de x demisiones, ademas de variables temporales para el intercambio y demas , eso es todo memoria, y si tu lengujes no puede alojarlas en memoria devuelven NULL(C/C++) o Nil(Pascal), podes vos usar el disco para porder hacer esta simulacion,
pero si no tenes memoria por lo general son errores fatales,por que para acceder a ddiscos nesesitas memrias intermedias.

Saludos. :hola:

Amilius

  • Miembro HIPER activo
  • ****
  • Mensajes: 665
    • Ver Perfil
Re: Metodología De La Programación
« Respuesta #2 en: Viernes 13 de Agosto de 2004, 18:50 »
0
No diría que son dos "métodos generales" pero dos situaciones distintas. Generalmente si manejaras tal cantidad de información que no "entre" en RAM utilizarás algún manejador de base de datos.

1.- Si, por supuesto, no esperarás a que se tenga que cargar en memoria (aunque sea virtual) toda esa información: imagínate si lo que deseas buscar está entre los primeros segmentos de información, cargar toda la información a memoria del sistema (RAM o virtual) sería un gran desperdicio. Existen cientos de formas cada una adecuada a un caso particular para administrar esa información, todo depende del problema y los recursos que tengas a mano.

2.- Si (mientras se ejecute tu proceso), pero si el procesador ejecuta otro proceso y le falta RAM, tu proceso y su área de memoria se van a disco duro (memoria virtual) para hacer espacio para el proceso con el que está trabajando. Luego cuando continue con tu proceso volverá a colocarla en RAM y lo que antes ocupaba la RAM necesaria para tu proceso se ira a disco duro. De ahí la importancia de tener grandes cantidades de RAM (ahora que es barata) para evitar en lo posible esta situación.