Flashcard: Algorithmique et structures de données — 69 carte

Tutte le carte

1Domanda

Qu'est-ce qu'un algorithme ?

Risposta

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

2Domanda

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

Risposta

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

3Domanda

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

Risposta

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

4Domanda

Que combine la correction totale d'un algorithme ?

Risposta

La correction partielle et la terminaison.

5Domanda

Qu'assure la correction partielle dans la correction totale ?

Risposta

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

6Domanda

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

Risposta

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

7Domanda

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

Risposta

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

8Domanda

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

Risposta

Une borne supérieure.

9Domanda

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

Risposta

Une borne inférieure.

10Domanda

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

Risposta

Une croissance précise à constante près.

11Domanda

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

Risposta

O(n).

12Domanda

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

Risposta

O(log n).

13Domanda

Que garantit la complexité amortie ?

Risposta

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

14Domanda

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

Risposta

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

15Domanda

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

Risposta

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

16Domanda

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

Risposta

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

17Domanda

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

Risposta

À cause des décalages nécessaires.

18Domanda

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

Risposta

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

19Domanda

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

Risposta

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

20Domanda

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

Risposta

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

21Domanda

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

Risposta

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

22Domanda

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

Risposta

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

23Domanda

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

Risposta

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

24Domanda

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

Risposta

Par chaînage ou adressage ouvert.

25Domanda

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

Risposta

Elles ont le même indice de hachage.

26Domanda

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

Risposta

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

27Domanda

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

Risposta

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

28Domanda

Quelle condition est nécessaire pour la recherche binaire ?

Risposta

Un tableau trié avec accès direct.

29Domanda

Qu'est-ce qu'un tri stable ?

Risposta

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

30Domanda

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

Risposta

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

31Domanda

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

Risposta

Un cas de base et une progression vers ce cas.

32Domanda

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

Risposta

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

33Domanda

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

Risposta

Elle est en O(profondeur).

34Domanda

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

Risposta

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

35Domanda

Quels concepts la programmation dynamique exploite-t-elle ?

Risposta

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

36Domanda

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

Risposta

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

37Domanda

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

Risposta

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

38Domanda

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

Risposta

Un graphe connexe sans cycle.

39Domanda

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

Risposta

n−1 arêtes.

40Domanda

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

Risposta

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

41Domanda

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

Risposta

ABDECFG, DBEACFG, DEBFGCA et ABCDEFG respectivement.

42Domanda

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

Risposta

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

43Domanda

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

Risposta

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

44Domanda

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

Risposta

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

45Domanda

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

Risposta

Le B+ arbre.

46Domanda

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

Risposta

Des sommets et des arêtes ou arcs.

47Domanda

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

Risposta

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

48Domanda

Quelle mémoire utilise une matrice d’adjacence ?

Risposta

Elle utilise O(V²) mémoire.

49Domanda

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

Risposta

Le test s'effectue en O(1).

50Domanda

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

Risposta

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

51Domanda

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

Risposta

Elle vaut 2E.

52Domanda

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

Risposta

Chacune vaut E.

53Domanda

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

Risposta

BFS utilise une file et explore par niveaux.

54Domanda

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

Risposta

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

55Domanda

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

Risposta

L'algorithme BFS.

56Domanda

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

Risposta

L'algorithme de Bellman-Ford.

57Domanda

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

Risposta

O((V+E)log V).

58Domanda

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

Risposta

O(V²).

59Domanda

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

Risposta

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

60Domanda

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

Risposta

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

61Domanda

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

Risposta

O(α(n)).

62Domanda

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

Risposta

Elle divise le problème puis combine les solutions.

63Domanda

Quelle caractéristique distingue la méthode gloutonne ?

Risposta

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

64Domanda

Quelle particularité a la programmation dynamique ?

Risposta

Elle réutilise des sous-solutions.

65Domanda

Qu'est-ce que le backtracking ?

Risposta

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

66Domanda

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

Risposta

Aux tableaux et intervalles.

67Domanda

Quelle complexité a l'algorithme KMP ?

Risposta

O(n+m).

68Domanda

Quelle complexité a l'algorithme Kadane ?

Risposta

O(n).

69Domanda

Quelle complexité a Quickselect dans le pire cas ?

Risposta

O(n²).

Metti alla prova te stesso con il quiz

Metti alla prova le tue conoscenze con 33 domande su 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 ?

Fai il quiz →

Leggi la scheda di revisione

Ripassa il corso completo nella scheda di revisione per Algorithmique et structures de données.

Vedi la scheda di revisione →

Similar courses

Crea le tue flashcard

Importa il tuo corso e l'AI genera flashcard in 30 secondi.

Generatore di flashcard