Skip to content
Snippets Groups Projects
Commit a265bdd2 authored by david's avatar david
Browse files

Commentaires python suppression accents

parent 9b64515d
No related branches found
No related tags found
No related merge requests found
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)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment