Flashcards: Algorithmique et structures de données — 69 cartões

Todos os cartões

1Pergunta

Qu'est-ce qu'un algorithme ?

Resposta

Une suite finie, ordonnée et non ambiguë d’instructions transformant des entrées en sorties.

2Pergunta

Qu'est-ce qui différencie une affectation d'une égalité mathématique ?

Resposta

L'affectation modifie la valeur d'une variable, contrairement à une égalité mathématique.

3Pergunta

Qu'est-ce qu'un invariant dans une boucle ?

Resposta

Une propriété qui reste vraie à chaque itération de la boucle.

4Pergunta

Que combine la correction totale d'un algorithme ?

Resposta

La correction partielle et la terminaison.

5Pergunta

Qu'assure la correction partielle dans la correction totale ?

Resposta

Elle est garantie par les préconditions, postconditions et invariants.

6Pergunta

Quelle différence d'exécution existe entre une boucle tant qu'et une boucle répéter...jusqu'à ?

Resposta

La boucle tant que peut ne jamais s’exécuter, la boucle répéter...jusqu’à s’exécute au moins une fois.

7Pergunta

Quel est l'ordre croissant usuel des complexités en notation O ?

Resposta

O(1), O(log n), O(n), O(n log n), O(n²), O(n³), O(2ⁿ), puis O(n!).

8Pergunta

Qu'impose O(g) en termes de bornes pour une fonction ?

Resposta

Une borne supérieure.

9Pergunta

Qu'impose Ω(g) en termes de bornes pour une fonction ?

Resposta

Une borne inférieure.

10Pergunta

Que représente Θ(g) pour la croissance d'une fonction ?

Resposta

Une croissance précise à constante près.

11Pergunta

Quelle complexité donne la récurrence T(n)=T(n−1)+O(1) ?

Resposta

O(n).

12Pergunta

Quelle complexité donne la récurrence T(n)=T(n/2)+O(1) ?

Resposta

O(log n).

13Pergunta

Que garantit la complexité amortie ?

Resposta

Un coût moyen sur une séquence d’opérations.

14Pergunta

Quelle différence existe entre un TAD et une structure de données ?

Resposta

Le TAD décrit les opérations, la structure est une implémentation concrète.

15Pergunta

Quelles sont les caractéristiques d'un tableau en termes d'indexation et d'accès ?

Resposta

Un tableau est contigu, indexé de 0 à n−1, avec accès A[i] en O(1).

16Pergunta

Quel est le coût amorti de l’ajout en fin dans un tableau dynamique ?

Resposta

L’ajout en fin coûte O(1) amorti.

17Pergunta

Pourquoi l’insertion ou suppression au milieu d’un tableau dynamique coûte O(n) ?

Resposta

À cause des décalages nécessaires.

18Pergunta

Comment calcule-t-on la somme A[l..r] avec les préfixes cumulés ?

Resposta

La somme vaut P[r+1]−P[l] avec P[0]=0 et P[i+1]=P[i]+A[i].

19Pergunta

Quel est le temps et la mémoire nécessaires pour calculer une somme avec prétraitement de préfixes cumulés ?

Resposta

Le prétraitement prend O(n) et la somme se calcule en O(1).

20Pergunta

Quelle est la complexité d’insertion après un nœud connu dans une liste chaînée ?

Resposta

L’insertion après un nœud connu coûte O(1).

21Pergunta

Quelle est la complexité d’accès au iᵉ nœud et de recherche dans une liste chaînée ?

Resposta

L’accès et la recherche coûtent O(n).

22Pergunta

Comment fonctionne la détection de cycle de Floyd en termes de pointeurs et complexité ?

Resposta

Elle utilise un pointeur lent et un rapide en O(n) temps et O(1) mémoire.

23Pergunta

Qu'est-ce qu'une collision en hachage ?

Resposta

Plusieurs clés produisent le même indice de hachage.

24Pergunta

Comment gère-t-on une collision en hachage ?

Resposta

Par chaînage ou adressage ouvert.

25Pergunta

Que signifie que deux clés égales produisent le même hash ?

Resposta

Elles ont le même indice de hachage.

26Pergunta

Que signifie que deux hashes égaux n'impliquent pas des clés égales ?

Resposta

Des clés différentes peuvent avoir le même hash.

27Pergunta

Quelle est la formule du facteur de charge d'une table de hachage ?

Resposta

α = n/m, avec n le nombre de clés et m la capacité.

28Pergunta

Quelle condition est nécessaire pour la recherche binaire ?

Resposta

Un tableau trié avec accès direct.

29Pergunta

Qu'est-ce qu'un tri stable ?

Resposta

Il conserve l'ordre relatif des éléments aux clés égales.

30Pergunta

Quel est le coût du tri par comptage et quand est-il adapté ?

Resposta

O(n+k), adapté si l'univers k est petit par rapport à n.

31Pergunta

Qu'est-ce qu'une fonction récursive doit posséder pour résoudre un problème ?

Resposta

Un cas de base et une progression vers ce cas.

32Pergunta

Que conserve chaque appel récursif en mémoire ?

Resposta

Ses paramètres, ses variables locales et son adresse de retour.

33Pergunta

Quelle est la complexité mémoire liée à la profondeur des appels récursifs ?

Resposta

Elle est en O(profondeur).

34Pergunta

Qu'est-ce que la mémoïsation en programmation ?

Resposta

Une approche top-down qui mémorise les résultats des sous-problèmes déjà calculés.

35Pergunta

Quels concepts la programmation dynamique exploite-t-elle ?

Resposta

Des sous-problèmes chevauchants et une sous-structure optimale.

36Pergunta

Quels éléments définit la programmation dynamique ?

Resposta

Des états, des transitions et des cas de base.

37Pergunta

Quels sont les étapes clés d'une recette de programmation dynamique ?

Resposta

Définir l’état minimal, la transition, les cas de base, le mode et l’ordre de calcul, et éventuellement la reconstruction.

38Pergunta

Qu'est-ce qu'un arbre en théorie des graphes ?

Resposta

Un graphe connexe sans cycle.

39Pergunta

Combien d'arêtes possède un arbre avec n nœuds ?

Resposta

n−1 arêtes.

40Pergunta

Quelle est la différence entre profondeur et hauteur dans un arbre ?

Resposta

La profondeur est la distance racine-nœud, la hauteur est le plus long chemin nœud-feuille.

41Pergunta

Quels sont les parcours préordre, infixe, postordre et largeur de A(B(D,E),C(F,G)) ?

Resposta

ABDECFG, DBEACFG, DEBFGCA et ABCDEFG respectivement.

42Pergunta

Quelle propriété caractérise un arbre binaire de recherche ?

Resposta

Les clés du sous-arbre gauche sont inférieures à la clé du nœud, celles du droit sont supérieures.

43Pergunta

Quel est le coût des opérations dans un ABR équilibré et dégénéré ?

Resposta

O(log n) si équilibré, O(n) si dégénéré.

44Pergunta

Combien coûte la recherche, insertion et suppression dans un ABR en fonction de la hauteur ?

Resposta

Ces opérations coûtent O(h).

45Pergunta

Quelle structure favorise les requêtes par intervalle sur disque ?

Resposta

Le B+ arbre.

46Pergunta

Que contient un graphe G=(V,E) ?

Resposta

Des sommets et des arêtes ou arcs.

47Pergunta

Quelles sont les caractéristiques possibles d'un graphe ?

Resposta

Il peut être orienté ou non orienté, pondéré ou non pondéré.

48Pergunta

Quelle mémoire utilise une matrice d’adjacence ?

Resposta

Elle utilise O(V²) mémoire.

49Pergunta

Quelle est la complexité pour tester une arête avec une matrice d’adjacence ?

Resposta

Le test s'effectue en O(1).

50Pergunta

Quelle mémoire utilise une liste d’adjacence et pour quel type de graphes est-elle adaptée ?

Resposta

Elle utilise O(V+E) mémoire et convient aux graphes clairsemés.

51Pergunta

Quelle est la somme des degrés dans un graphe non orienté ?

Resposta

Elle vaut 2E.

52Pergunta

Quelle est la somme des degrés entrants et sortants dans un graphe orienté ?

Resposta

Chacune vaut E.

53Pergunta

Quelle structure de données utilise BFS et comment explore-t-il ?

Resposta

BFS utilise une file et explore par niveaux.

54Pergunta

Qu'est-ce que relâcher (u,v,w) dans un algorithme de plus court chemin ?

Resposta

Mettre à jour d[v] et le prédécesseur si d[u]+w<d[v].

55Pergunta

Quelle méthode d'algorithme convient aux arêtes de même coût ?

Resposta

L'algorithme BFS.

56Pergunta

Quel algorithme gère les poids négatifs et détecte les cycles négatifs ?

Resposta

L'algorithme de Bellman-Ford.

57Pergunta

Quelle est la complexité en temps de Dijkstra avec un tas ?

Resposta

O((V+E)log V).

58Pergunta

Quelle est la complexité en mémoire de Floyd-Warshall ?

Resposta

O(V²).

59Pergunta

Qu'est-ce qu'un arbre couvrant minimal ?

Resposta

Un arbre reliant tous les sommets avec V−1 arêtes et poids total minimal.

60Pergunta

Comment Prim choisit-il l'arête à ajouter à l'arbre ?

Resposta

Il ajoute l’arête sortante la moins chère.

61Pergunta

Quel est le coût amorti de Union-Find avec compression de chemin et rang ?

Resposta

O(α(n)).

62Pergunta

Quelles étapes caractérisent la méthode diviser-régner ?

Resposta

Elle divise le problème puis combine les solutions.

63Pergunta

Quelle caractéristique distingue la méthode gloutonne ?

Resposta

Elle choisit localement de manière irréversible avec une preuve nécessaire.

64Pergunta

Quelle particularité a la programmation dynamique ?

Resposta

Elle réutilise des sous-solutions.

65Pergunta

Qu'est-ce que le backtracking ?

Resposta

Une méthode qui construit un choix, explore récursivement puis annule en cas d'impasse.

66Pergunta

À quels types de problèmes s'appliquent les techniques deux pointeurs et fenêtre glissante ?

Resposta

Aux tableaux et intervalles.

67Pergunta

Quelle complexité a l'algorithme KMP ?

Resposta

O(n+m).

68Pergunta

Quelle complexité a l'algorithme Kadane ?

Resposta

O(n).

69Pergunta

Quelle complexité a Quickselect dans le pire cas ?

Resposta

O(n²).

Teste-se com o quiz

Teste seu conhecimento com 33 perguntas sobre Algorithmique et structures de données.

1. Quel énoncé décrit correctement un algorithme ?

2. Lors de la conception d’une preuve par invariants, que doit être un invariant de boucle ?

Faça o quiz →

Leia a ficha de revisão

Revise o curso completo na ficha de revisão para Algorithmique et structures de données.

Veja a ficha de revisão →

Similar courses

Crie seus próprios flashcards

Importe seu curso e a IA gera flashcards em 30 segundos.

Gerador de flashcards