Les partenaires publicitaires:

Comment concevoir des algorithmes

Les algorithmes sont le fondement et le cadre de tous les programmes informatiques. Ils sont la séquence d'instructions précises données à un ordinateur pour obtenir une sortie désirée. Les algorithmes sont à des programmes informatiques ce que l'esprit est pour le corps humain. Beaucoup de modèles de conception algorithmiques ou paradigmes existent comme les algorithmes gloutons, des algorithmes diviser pour régner, les algorithmes de programmation dynamique et les algorithmes de traçage. Chaque classe d'algorithmes a sa propre structure de design unique.

Choses que vous devez

  • Papier
  • Plume
  • Crayon
  • Gomme

Instructions

  1. Algorithmes gloutons sont des algorithmes qui fournissent des décisions basées sur les informations disponibles sans aucune clairvoyance. Ils fonctionnent mieux dans les problèmes d'optimisation et sont faciles à mettre en œuvre. Les étapes générales pour leur conception sont:

  1. Créer une collection (liste, jeu, etc.) des candidats (C)

  2. Trouver un sous-ensemble (S) à partir de la collection de candidats (C)

  3. Préciser les critères que S doit satisfaire.

  4. Si elle répond que les critères (faisable), aller de l'avant pour optimiser S

  5. Optimisation S signifie sélectionnant à minimiser ou maximiser, selon le problème particulier. Dans le processus, nous pouvons choisir la solution plus grand ou plus petit.
Optimisation pourrait impliquer de sélectionner de mettre à jour la valeur de quelque chose.
  • Diviser pour régner algorithmes suivent une approche top-down dans la conception de l'algorithme. Ils sous-diviser le problème en plusieurs petits problèmes et enfin remonter les solutions à la composante problems.The étapes générales pour leur conception sont:

    1. Définir le problème

    2. Créer une instance du problème

    3. Divisez cette instance en petits sous-instances du même problème

    4. Résoudre chacun des sous-instances de sa propre

    5. Intégrer et combiner les solutions des sous-cas, de manière à obtenir une solution de l'instance d'origine.
    6. Couper le problème en petites sections, les résoudre et assembler les solutions.
    7. Algorithmes de programmation dynamiques sont une variante de l'algorithme de diviser pour régner. Alors que les algorithmes diviser pour régner qui sont récursive suivent une approche top-down à résoudre des problèmes d'optimisation, la programmation dynamique suit une technique bottom-up. Les étapes générales pour leur conception sont:




      1. Définir le problème

      2. Créer des instances du problème

      3. Construire un tableau de tous les sous-occurrences

      4. Commencez par les plus petits sous-occurrences

      5. Continuer avec l'augmentation de la taille des sous-exemple en ajoutant les résultats des entrées déjà calculés

      6. Continuer jusqu'à la dernière sous-exemple. La solution finale obtenue est la solution au problème défini initialement.
      7. Cette méthode est itérative tandis que l'approche diviser pour régner est récursive.

      8. L'algorithme de backtracking recherche systématiquement une solution parmi les options disponibles, sur l'hypothèse qu'il existe une solution. Les étapes générales pour leur conception sont:

        1. Commencez avec un vecteur vide

        2. Que la solution soit représenté par des vecteurs (Vi ...... Vm)

        3. Traverse les vecteurs, étendant les vecteurs partiels avec une nouvelle valeur

        4. Backtrack si un vecteur ne peut pas représenter une solution partielle

        5. Retirer la valeur de fuite à partir du vecteur

        6. Ensuite, passez à étendre le vecteur des valeurs alternatives

        7. Continuer le processus jusqu'à ce qu'une solution soit trouvée.
        8. Algorithmes de recherche sont telles que la recherche efficace.

          Conseils & Avertissements

          • Essayez de trouver le type d'algorithme qui résout le mieux votre problème avant de commencer la conception d'algorithmes.
          • Conception algorithme est addictif mais une belle expérience. Ne pas démarrer si vous avez d'autres choses urgentes à faire bientôt.
          » » » » Comment concevoir des algorithmes