Inscription / Connexion Nouveau Sujet
Niveau LicenceMaths 2e/3e a
Partager :

Structures des données

Posté par
toureissa
11-12-18 à 17:21

Bonjour,

Il y'a deux mois qu'on fait la structure des données en (Algo et programmation) et notre prof nous a pas donné de cours , mais  il explique seulement et je n'arrive pas à rien comprendre , car l'amphie est plein d'étudiants qu'on entend rien.

J'aimerais que quelqu'un gentil(le) puisse m'expliquer les piles/files /listes et me donner des exemples à faire.
C'est ça vraiment le grand soucis que j'ai.

Posté par
mathafou Moderateur
re : Structures des données 11-12-18 à 18:33

Bonjour,

au niveau supérieur il est indispensable de savoir se débrouiller par soi-même pour progresser et ne pas compter sur les seuls cours et TD.

as tu cherché sur Internet ? sur des livres ?

il y a plein de choses là dessus.
si tu ne comprends pas quelque chose de précis là dedans tu peux revenir ici avec des questions précises.

parce que sinon ta question est trop vague pour avoir une réponse en quelques lignes sur un forum !

Posté par
carpediem
re : Structures des données 11-12-18 à 19:00

salut

de toute façon il faut déjà :  la définition, rien que la définition, toute la définition ...

et déjà un bon pas est fait !!!

Posté par
verdurin
re : Structures des données 11-12-18 à 19:12

Bonsoir,
   -- dans une pile on accède au dernier élément entré ( en anglais lifo : last in first out )
   -- dans une file on accède au premier élément entré ( en anglais fifo : first in first out )
   -- dans une liste chaque élément est indexé par un entier, on accède à un élément par son numéro.

Posté par
toureissa
re : Structures des données 11-12-18 à 20:06

verdurin @ 11-12-2018 à 19:12

Bonsoir,
   -- dans une pile on accède au dernier élément entré ( en anglais lifo : last in first out )
   -- dans une file on accède au premier élément entré ( en anglais fifo : first in first out )
   -- dans une liste chaque élément est indexé par un entier, on accède à un élément par son numéro.


Merci . J'aimerais comprendre d'abord les piles.

Sur une fiche que j'ai télécharger, je ne comprend pas le sens de ces opérations.

Boléen pileVide(Pile<T>P): retourne vrai si la suite P est vide ; Faux sinon.

T sommet (Pile<T>P): retourne l'élément x de type T tels que P=P'x; P doit être non vide.

Posté par
carpediem
re : Structures des données 11-12-18 à 20:16

utiliser des mots d'un langage ne permet pas de comprendre si ce langage n'est pas connu ...

Posté par
verdurin
re : Structures des données 11-12-18 à 20:25

La fiche que tu téléchargeas me semble délirante.

Dans une pile on a accès au dernier élément entré.
Et, en principe, il sont tous du même type.

Posté par
toureissa
re : Structures des données 11-12-18 à 20:57

Pouvez-vous m'expliquez les opérations sur les piles ?

Posté par
verdurin
re : Structures des données 11-12-18 à 22:15

Il y a deux opérations sur les piles : empiler et dépiler.

Pour prendre un exemple classique, la notation polonaise inversée.

On a par exemple 2;3;4;x;+.

La pile est 2;3;4.
L'opérateur x dépile le dernier élément "4", la pile est alors 2;3.
Il dépile l'élément suivant "3".
Il calcule le produit des deux éléments dépilés 3x4=12.
Il empile le résultat 12.
La pile est alors 2;12.
On applique l'opérateur + et il n'y a plus qu'un nombre sur la pile "14".

On peut voir que les nombres sont traités en pile et les opérateurs en file.

Posté par
toureissa
re : Structures des données 12-12-18 à 07:38

Bonjour,

Merci. J'aimerais que vous m'aider à traiter cet exercice.

Une pile (en anglais stack) est une suite d'éléments de type T. La notion de pile est fondée sur le principe « dernier arrivé, premier sorti » (en anglais LIFO pour last in, first out). Une Pile est une liste particulière. Les opérations de base possibles sur une pile sont les suivantes :

• Booléen pileVide(Pile<T>P): Retourne vrai si la suite Pest vide ; faux sinon.

• T sommet(pile<T>P): Retourne l'élément x de type T qui est au sommet de la pile sans le supprimer ; P doit être non vide

• empiler (pile <T>, P, Tx): ajoute l'élément x au sommet de la pile.

•depiler (pile <T> P) : retourne et supprimer l'élément qui est au sommet de la pile; P doit être non vide

• pile <P> creerpile(): Retourne une suite vide

  1. Ecrire les algorithmes des opérations définies ci-dessus.

2. Ecrire une fonction qui permet d'afficher tous les éléments d'une Pile.

Posté par
mathafou Moderateur
re : Structures des données 12-12-18 à 12:53

un premier point : cet exercice fait visiblement partie d'un ensemble plus vaste dans lequel on définit toute cette syntaxe spécifique non pas spécifique aux piles mais spécifique au langage.
c'est là dedans qu'on comprendra ce que veut dire
T sommet(pileP)
etc

ensuite :

Citation :
Une Pile est une liste particulière

donc on utilisera les définitions et les opérations qu'on sait faire sur une liste
celles-ci sont définies dans le contexte global mentionné ci dessus en 1
comment est représenté une liste, quelles opération peut on faire dessus
que veut dire le fait que cette liste soit utilisée pour représenter une pile. (restriction de l'accès non pas à tous les éléments de la liste mais au seul dernier élément, quel est le dernier élément d'une liste ? la taille d'une liste ?)

tout ça dans le langage défini dans le contexte global indiqué au dessus point 1
maintenant si ce contexte global t'est inconnu et que ce langage est du chinois pour toi, il est impossible de faire l'exo dans ces conditions !!
faire et comprendre d'abord tout ce dont on a besoin du point 1 :
- la syntaxe générale
- la définition et opérations d'une liste

à toi de nous dire ce qu'il en est.



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1674 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !