Commit a265bdd2 authored by david's avatar david
Browse files

Commentaires python suppression accents

parent 9b64515d
import math import math
# Classe utilisée pour faire des statistiques élémentaires # Classe utilisee pour faire des statistiques elementaires
# sur une séquence d'opérations. # sur une sequence d'operations.
class Analyzer: class Analyzer:
# Constructeur de la classe analyse # Constructeur de la classe analyse
# Complexité en temps/espace, pire et meilleur cas : O(1) # Complexite en temps/espace, pire et meilleur cas : O(1)
def __init__(self): def __init__(self):
self.cost = []; self.cost = [];
self.cumulative_cost = []; self.cumulative_cost = [];
self.cumulative_square = 0.; self.cumulative_square = 0.;
# Ajoute un coût, une valeur à l'analyse. # Ajoute un coût, une valeur à l'analyse.
# Complexité en temps/espace, pire cas : O(size) # Complexite en temps/espace, pire cas : O(size)
# Complexité en temps/espace, meilleur cas : O(1) # Complexite en temps/espace, meilleur cas : O(1)
# Complexité amortie : O(1) # Complexite amortie : O(1)
# @param x est la valeur que l'on souhaite ajouter à l'analyse. # @param x est la valeur que l'on souhaite ajouter à l'analyse.
def append(self, x): def append(self, x):
self.cost.append(x) self.cost.append(x)
...@@ -21,43 +21,43 @@ class Analyzer: ...@@ -21,43 +21,43 @@ class Analyzer:
self.cumulative_cost.append( self.cumulative_cost[len(self.cumulative_cost)-1]+x if len(self.cumulative_cost)>0 else x) self.cumulative_cost.append( self.cumulative_cost[len(self.cumulative_cost)-1]+x if len(self.cumulative_cost)>0 else x)
self.cumulative_square = self.cumulative_square+x*x self.cumulative_square = self.cumulative_square+x*x
# Renvoie la somme des coûts enregistrés dans cette analyse. # Renvoie la somme des coûts enregistres dans cette analyse.
# Complexité en temps/espace, meilleur cas : O(1) # Complexite en temps/espace, meilleur cas : O(1)
# @returns la somme des coûts enregistrés dans cette analyse. # @returns la somme des coûts enregistres dans cette analyse.
def get_total_cost(self): def get_total_cost(self):
return self.cumulative_cost[len(self.cumulative_cost)-1] return self.cumulative_cost[len(self.cumulative_cost)-1]
# Renvoie le coût amorti d'une opération. # Renvoie le coût amorti d'une operation.
# Complexité en temps/espace, meilleur cas : O(1) # Complexite en temps/espace, meilleur cas : O(1)
# @param pos est l'indice de l'opération pour laquelle on veut connaître le coût amorti. # @param pos est l'indice de l'operation pour laquelle on veut connaître le coût amorti.
# @returns le coût amorti d'une opération. # @returns le coût amorti d'une operation.
def get_amortized_cost(self, pos): def get_amortized_cost(self, pos):
return self.cumulative_cost[pos]/pos if pos>0 else self.cumulative_cost[pos] return self.cumulative_cost[pos]/pos if pos>0 else self.cumulative_cost[pos]
# Renvoie la moyenne des coûts de toutes les opérations enregistrées dans l'analyse. # Renvoie la moyenne des coûts de toutes les operations enregistrees dans l'analyse.
# Complexité en temps/espace, meilleur cas : O(1) # Complexite en temps/espace, meilleur cas : O(1)
# @returns la moyenne des coûts de toutes les opérations enregistrées dans l'analyse. # @returns la moyenne des coûts de toutes les operations enregistrees dans l'analyse.
def get_average_cost(self): def get_average_cost(self):
if len(self.cumulative_cost) == 0: if len(self.cumulative_cost) == 0:
raise Exception('List is empty') raise Exception('List is empty')
return self.cumulative_cost[len(self.cumulative_cost)-1]/len(self.cumulative_cost); return self.cumulative_cost[len(self.cumulative_cost)-1]/len(self.cumulative_cost);
# Renvoie la variance des coûts de toutes les opérations enregistrées dans l'analyse. # Renvoie la variance des coûts de toutes les operations enregistrees dans l'analyse.
# Complexité en temps/espace, meilleur cas : O(1) # Complexite en temps/espace, meilleur cas : O(1)
# @returns la variance des coûts de toutes les opérations enregistrées dans l'analyse. # @returns la variance des coûts de toutes les operations enregistrees dans l'analyse.
def get_variance(self): def get_variance(self):
mean = self.get_average_cost() mean = self.get_average_cost()
mean_square = mean*mean mean_square = mean*mean
return self.cumulative_square - mean_square return self.cumulative_square - mean_square
# Renvoie l'écart-type des coûts de toutes les opérations enregistrées dans l'analyse. # Renvoie l'ecart-type des coûts de toutes les operations enregistrees dans l'analyse.
# Complexité en temps/espace, meilleur cas : O(1) # Complexite en temps/espace, meilleur cas : O(1)
# @returns l'écart-type des coûts de toutes les opérations enregistrées dans l'analyse. # @returns l'ecart-type des coûts de toutes les operations enregistrees dans l'analyse.
def get_standard_deviation(self): def get_standard_deviation(self):
return math.sqrt(self.get_variance()) return math.sqrt(self.get_variance())
# Sauvegarde la liste des coûts et des coûts amortis dans un fichier. # Sauvegarde la liste des coûts et des coûts amortis dans un fichier.
# Complexité en temps, meilleur/pire cas : O(size) # Complexite en temps, meilleur/pire cas : O(size)
# @param path est le chemin du fichier dans lequel la sauvegarde est faite. # @param path est le chemin du fichier dans lequel la sauvegarde est faite.
def save_values(self, path): def save_values(self, path):
f = open(path, 'w') f = open(path, 'w')
......
# Cette classe est un simple proxy vers le type "list" de python # Cette classe est un simple proxy vers le type "list" de python
# Le langage ne permettant pas de manipuler l'espace mémoire d'une "list", # Le langage ne permettant pas de manipuler l'espace memoire d'une "list",
# on se contente ici d'observer son comportement. # on se contente ici d'observer son comportement.
class ArrayListProxy: class ArrayListProxy:
# Constructeur de la classe ArraylistProxy # Constructeur de la classe ArraylistProxy
def __init__(self): def __init__(self):
self.data = [] self.data = []
# Ajoute l'élément x au tableau # Ajoute l'element x au tableau
# Complexité en temps/espace, pire cas : O(data.size) # Complexite en temps/espace, pire cas : O(data.size)
# Complexité en temps/espace, meilleur cas : O(1) # Complexite en temps/espace, meilleur cas : O(1)
# Complexité amortie : O(1) # Complexite amortie : O(1)
def append(self, x): def append(self, x):
self.data.append(x) self.data.append(x)
# Supprime le dernier élément du tableau # Supprime le dernier element du tableau
def pop_back(self): def pop_back(self):
self.data.pop() self.data.pop()
# Renvoie l'élément situé à la position 'pos' dans le tableau # Renvoie l'element situe à la position 'pos' dans le tableau
def get(self, pos): def get(self, pos):
return self.data[pos] return self.data[pos]
# Renvoie le nombre d'éléments dans le tableau # Renvoie le nombre d'elements dans le tableau
def get_size(self): def get_size(self):
return len(data) return len(data)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment