Algorithmes

Analyse et Conception des Algorithmes

Ce que vous apprendrez

  • Comprendre le concept d'analyse des algorithmes
  • Écrire des algorithmes en langage naturel
  • Dessiner des organigrammes
  • Analyser l'algorithme de recherche séquentielle
  • Comprendre la notation asymptotique : Big O, Omega et Theta
  • Analyser les boucles et les boucles imbriquées
  • Utiliser les algorithmes récursifs et les comparer avec l'itération
  • Manipuler les algorithmes de graphes comme BFS et DFS
  • Mettre en oeuvre les algorithmes de tri et la recherche binaire

À propos du cours

Ce cours enseigne l'analyse et la conception des algorithmes et la manière de raisonner logiquement pour résoudre des problèmes de programmation. Il commence par une introduction générale et le concept d'analyse des algorithmes et ses stratégies, puis la manière d'écrire des algorithmes en langage naturel et des organigrammes. Ensuite, vous analysez l'algorithme de recherche séquentielle, Sequential Search, et vous découvrez la notation asymptotique, Asymptotic Notation, qui comprend Big O, Omega et Theta, et vous analysez les boucles et les boucles imbriquées. Vous passez alors aux algorithmes récursifs et à leur comparaison avec l'itération, aux algorithmes de graphes comme BFS et DFS, et aux algorithmes de tri par insertion, de tri rapide et de recherche binaire. Le cours convient aux étudiants en informatique et aux programmeurs qui veulent comprendre les performances de leur code et écrire de meilleures solutions, et il est préférable de connaître les bases de la programmation. Vous serez ensuite capable d'écrire des algorithmes, d'analyser leurs performances et de choisir la bonne approche pour chaque problème, avec un cahier d'exercices qui vous aide à pratiquer. L'enseignement est en arabe, avec des exemples clairs qui vous aident à saisir l'idée avant d'entrer dans les détails.

Résultats attendus

  • Compréhension approfondie des concepts d'analyse des algorithmes.
  • Écriture d'algorithmes efficaces et analyse de leur performance.
  • Gestion des graphes et des algorithmes avancés.
  • Application des algorithmes pour résoudre des problèmes pratiques.

Avis des apprenants

Ces avis proviennent d'apprenants qui ont acheté le contenu et en ont complété au moins 50% — il n'y a aucun avis de personnes n'ayant pas suivi le contenu.
4.4
★★★★☆
97 avis
5★
44
4★
52
3★
1
2★
0
1★
0

    Contenu du cours

    1

    Nouvelle section

    16 leçons
    1. Introduction généralePrésente les objectifs du cours de conception et d'analyse d'algorithmes et définit l'algorithme comme un plan menant des entrées aux sorties, avec la définition du problème, la correction d'un algorithme et des exemples concrets.20:36
    2. Concept d'analyse des algorithmesExplique l'analyse des algorithmes : l'algorithme comme description précise pour résoudre un problème, les ressources comme le temps et la mémoire, les raisons de l'analyse, la correction et la complexité, avec l'exemple du nombre premier.23:59
    3. Stratégies d'analyse des algorithmesPasse en revue les stratégies de conception d'algorithmes comme Brute Force, Greedy, Dynamic Programming, l'amélioration itérative et Backtracking, ainsi que les facteurs d'efficacité et la notion de taille d'entrée.14:36
    4. Comment écrire des algorithmes verbaux (Partie un)Explique l'écriture d'algorithmes verbaux à travers la résolution d'une équation du premier degré, avec les étapes d'entrée, de traitement et de sortie et les variables comme emplacements mémoire, plus une implémentation simple en C++.12:59
    5. Comment écrire des algorithmes verbaux (Partie deux)Poursuit les algorithmes verbaux : définition du problème, différence entre l'affectation en informatique et l'égalité en mathématiques, commandes d'entrée, avec application aux algorithmes de somme et de division.21:41
    6. OrganigrammesExplique les organigrammes et le traçage du fonctionnement d'un algorithme par des exemples, puis les critères d'analyse, les approches théorique et expérimentale, et la comparaison comme opération de base de la recherche.25:45
    7. Analyser l'algorithme de recherche séquentielleIntroduit la notation asymptotique et les cas Best, Average et Worst Case, et les applique à la recherche séquentielle qui renvoie l'indice d'un élément, avec le nombre d'étapes du cas moyen.25:27
    8. Introduction à la notation asymptotique/Big OH/Omega/ThetaExplique pourquoi le temps mesuré n'est pas fiable d'une machine à l'autre, compte les opérations élémentaires d'une boucle for qui additionne un tableau, puis ignore constantes et termes mineurs en Big O.27:53
    9. Analyse des boucles itérativesApprofondit Worst Case, Big O, Big Omega et Big Theta, explique pourquoi la notation asymptotique remplace le temps d'exécution exact sur une machine abstraite, et compare les taux de croissance et l'effet de la taille d'entrée.22:20
    10. Analyse des boucles imbriquéesRésume l'ordre de croissance asymptotique et définit Big O, Big Omega et Big Theta avec leurs propriétés, puis montre comment compter les étapes des boucles for et while, leur arrêt et leur nombre d'itérations.20:46
    11. Algorithmes récursifs (partie un)Explique les boucles imbriquées (Nested Loops) et quand des boucles le sont, analyse ensemble les itérations des boucles interne et externe, et montre que la complexité est dictée par le terme croissant le plus vite, n au carré ici.13:51
    12. Algorithmes récursifs (partie deux)Aborde les séries mathématiques et la somme sigma dans l'analyse Big O, le choix de la branche la plus coûteuse dans les conditions, le compromis entre vitesse de la machine et de l'algorithme, et la comparaison des taux de croissance en ignorant les constantes.13:31
    13. Comparaison de la récursion et de l'itérationExplique que Big O, Big Omega et Big Theta décrivent le taux de croissance du nombre d'opérations et non sa valeur exacte, puis présente les fonctions récursives, leur cas de base et leur cas récursif, avec la recherche dans un tableau et factorial.22:29
    14. Algorithmes pour gérer les graphes BFS + DFCompare la récursivité et l'itération avec les avantages et inconvénients de chacune, via des exemples comme factorial et Fibonacci, puis explique le principe des algorithmes DFS et BFS sur les graphes et l'usage d'une pile pour visiter les noeuds.18:45
    15. Algorithme de tri par insertionExplique l'algorithme de tri par insertion Insertion Sort, ses deux boucles imbriquées et ses comparaisons successives, en suivant un exemple de tableau pas à pas pour montrer comment un élément est mis de côté et les plus grands décalés.22:18
    16. Algorithme de tri rapide et recherche binaireExplique le tri rapide Quick Sort avec un élément pivot et le partitionnement du tableau, le compare au tri par insertion en espace et en vitesse, puis explique la recherche binaire Binary Search sur un tableau trié.18:03
    2

    Extensions

    1 pièces jointes
    1. Télécharger le livre de travail

    Formateur

    Dr. Eng. Mohamed Al-Khodour

    Dr. Eng. Mohamed Al-Khodour

    Doctorat en ingénierie des communications avec plusieurs articles de recherche publiés dans des revues à comité de lecture. Conférencier et formateur en informatique.
    15.5K vues5 cours

    Ce cours fait partie du diplôme

    Cours similaires