Exercices corrigés - matrices - Python et Langage C - TD6

20 Sep 2017 20 Sep 2017 48251 vues ESSADDOUKI Mostafa 11 min de lecture

Exercices avancés sur les tableaux et matrices

Cette section présente des exercices plus avancés sur la manipulation des tableaux et matrices, avec des applications en algorithmique et en mathématiques.

Exercice 1

Partitionnement autour d'une valeur K

Niveau : Intermédiaire

On donne une valeur K et un tableau T de N valeurs entières (N < 50) tel que la valeur K ne figure pas dans le tableau T (T[i] != K pour i=1..N).

Ecrire une fonction deplacer(T, K) qui permet de déplacer les éléments du tableau T de manière à regrouper en tête de celui-ci toutes les valeurs inférieures à K et en queue les valeurs supérieures à K (sans utiliser un autre tableau).

Exercice 2

Tri décroissant des colonnes d'une matrice

Niveau : Intermédiaire

Soit une matrice A(n, m) de valeurs entières (n < 50, m < 100).

Ecrire une fonction trier(A) qui permet de faire un tri décroissant sur toutes les colonnes de la matrice A.

Exemple de tri de colonnes
Exercice 3

Construction d'un tableau de différences entre lignes

Niveau : Intermédiaire

Soit une matrice A de n lignes et m colonnes (n < 100, m < 50). Et soit le tableau T défini par rapport à la matrice A comme suit : L'ième élément de T représente le nombre d'éléments de la ligne i de A qui n'existe pas dans la ligne i+1 (la ligne suivante si elle existe).

Ecrire une fonction build(A) qui construit et affiche le tableau T.

Exercice 4

Matrices stochastiques et vecteurs stables

Niveau : Avancé

En mathématiques, une matrice stochastique (aussi appelée matrice de Markov) est une matrice carrée dont chaque élément est un réel compris entre 0 et 1 et dont la somme des éléments de chaque ligne vaut 1. Cela correspond, en probabilité, à la matrice de transition d'une chaîne de Markov finie.

Une matrice est dite bistochastique (ou doublement stochastique) si la somme des éléments de chaque ligne et de chaque colonne vaut 1.

Exemple de matrice bistochastique

Si G est une matrice stochastique, alors on appelle vecteur stable pour G un vecteur h tel que :

Formule h * G = h
Condition sur h
h_i ≥ 0

Écrire les fonctions suivantes :

  1. eststochastique(P) : vérifie si la matrice P est stochastique ou non
  2. estbistochastique(P) : vérifie si la matrice P est bistochastique ou non
  3. vecteurstable(G, h) : vérifie si h est un vecteur stable de G ou non
Points clés à retenir
  • Le partitionnement d'un tableau peut se faire en O(n) avec deux indices.
  • Le tri par colonnes d'une matrice s'effectue en appliquant un tri classique à chaque colonne.
  • La recherche d'éléments communs entre lignes nécessite une fonction de recherche.
  • Une matrice stochastique a des lignes qui somment à 1, une matrice bistochastique a aussi des colonnes qui somment à 1.
  • Un vecteur stable d'une matrice stochastique vérifie h·G = h et somme(h)=1.
Sortie
// La sortie apparaîtra ici…
Prêt · Ctrl+Entrée pour exécuter

Discussion (0)

Soyez le premier à laisser un commentaire !

Laisser un commentaire

Votre commentaire sera visible après modération.