Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
S
SDA
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Julien David
SDA
Commits
a265bdd2
Commit
a265bdd2
authored
5 years ago
by
david
Browse files
Options
Downloads
Patches
Plain Diff
Commentaires python suppression accents
parent
9b64515d
No related branches found
Branches containing commit
No related tags found
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
TP1/Python/analyzer.py
+23
-23
23 additions, 23 deletions
TP1/Python/analyzer.py
TP1/Python/arraylist.py
+8
-8
8 additions, 8 deletions
TP1/Python/arraylist.py
with
31 additions
and
31 deletions
TP1/Python/analyzer.py
+
23
−
23
View file @
a265bdd2
import
math
# Classe utilis
é
e pour faire des statistiques
élé
mentaires
# sur une s
é
quence d'op
é
rations.
# Classe utilis
e
e pour faire des statistiques
ele
mentaires
# sur une s
e
quence d'op
e
rations.
class
Analyzer
:
# Constructeur de la classe analyse
# Complexit
é
en temps/espace, pire et meilleur cas : O(1)
# Complexit
e
en temps/espace, pire et meilleur cas : O(1)
def
__init__
(
self
):
self
.
cost
=
[];
self
.
cumulative_cost
=
[];
self
.
cumulative_square
=
0.
;
# Ajoute un coût, une valeur à l'analyse.
# Complexit
é
en temps/espace, pire cas : O(size)
# Complexit
é
en temps/espace, meilleur cas : O(1)
# Complexit
é
amortie : O(1)
# Complexit
e
en temps/espace, pire cas : O(size)
# Complexit
e
en temps/espace, meilleur cas : O(1)
# Complexit
e
amortie : O(1)
# @param x est la valeur que l'on souhaite ajouter à l'analyse.
def
append
(
self
,
x
):
self
.
cost
.
append
(
x
)
...
...
@@ -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_square
=
self
.
cumulative_square
+
x
*
x
# Renvoie la somme des coûts enregistr
é
s dans cette analyse.
# Complexit
é
en temps/espace, meilleur cas : O(1)
# @returns la somme des coûts enregistr
é
s dans cette analyse.
# Renvoie la somme des coûts enregistr
e
s dans cette analyse.
# Complexit
e
en temps/espace, meilleur cas : O(1)
# @returns la somme des coûts enregistr
e
s dans cette analyse.
def
get_total_cost
(
self
):
return
self
.
cumulative_cost
[
len
(
self
.
cumulative_cost
)
-
1
]
# Renvoie le coût amorti d'une op
é
ration.
# Complexit
é
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.
# @returns le coût amorti d'une op
é
ration.
# Renvoie le coût amorti d'une op
e
ration.
# Complexit
e
en temps/espace, meilleur cas : O(1)
# @param pos est l'indice de l'op
e
ration pour laquelle on veut connaître le coût amorti.
# @returns le coût amorti d'une op
e
ration.
def
get_amortized_cost
(
self
,
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.
# Complexit
é
en temps/espace, meilleur cas : O(1)
# @returns la moyenne des coûts de toutes les op
é
rations enregistr
é
es dans l'analyse.
# Renvoie la moyenne des coûts de toutes les op
e
rations enregistr
e
es dans l'analyse.
# Complexit
e
en temps/espace, meilleur cas : O(1)
# @returns la moyenne des coûts de toutes les op
e
rations enregistr
e
es dans l'analyse.
def
get_average_cost
(
self
):
if
len
(
self
.
cumulative_cost
)
==
0
:
raise
Exception
(
'
List is empty
'
)
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.
# Complexit
é
en temps/espace, meilleur cas : O(1)
# @returns la variance des coûts de toutes les op
é
rations enregistr
é
es dans l'analyse.
# Renvoie la variance des coûts de toutes les op
e
rations enregistr
e
es dans l'analyse.
# Complexit
e
en temps/espace, meilleur cas : O(1)
# @returns la variance des coûts de toutes les op
e
rations enregistr
e
es dans l'analyse.
def
get_variance
(
self
):
mean
=
self
.
get_average_cost
()
mean_square
=
mean
*
mean
return
self
.
cumulative_square
-
mean_square
# Renvoie l'
é
cart-type des coûts de toutes les op
é
rations enregistr
é
es dans l'analyse.
# Complexit
é
en temps/espace, meilleur cas : O(1)
# @returns l'
é
cart-type des coûts de toutes les op
é
rations enregistr
é
es dans l'analyse.
# Renvoie l'
e
cart-type des coûts de toutes les op
e
rations enregistr
e
es dans l'analyse.
# Complexit
e
en temps/espace, meilleur cas : O(1)
# @returns l'
e
cart-type des coûts de toutes les op
e
rations enregistr
e
es dans l'analyse.
def
get_standard_deviation
(
self
):
return
math
.
sqrt
(
self
.
get_variance
())
# Sauvegarde la liste des coûts et des coûts amortis dans un fichier.
# Complexit
é
en temps, meilleur/pire cas : O(size)
# Complexit
e
en temps, meilleur/pire cas : O(size)
# @param path est le chemin du fichier dans lequel la sauvegarde est faite.
def
save_values
(
self
,
path
):
f
=
open
(
path
,
'
w
'
)
...
...
This diff is collapsed.
Click to expand it.
TP1/Python/arraylist.py
+
8
−
8
View file @
a265bdd2
# 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 m
e
moire d'une "list",
# on se contente ici d'observer son comportement.
class
ArrayListProxy
:
# Constructeur de la classe ArraylistProxy
def
__init__
(
self
):
self
.
data
=
[]
# Ajoute l'
élé
ment x au tableau
# Complexit
é
en temps/espace, pire cas : O(data.size)
# Complexit
é
en temps/espace, meilleur cas : O(1)
# Complexit
é
amortie : O(1)
# Ajoute l'
ele
ment x au tableau
# Complexit
e
en temps/espace, pire cas : O(data.size)
# Complexit
e
en temps/espace, meilleur cas : O(1)
# Complexit
e
amortie : O(1)
def
append
(
self
,
x
):
self
.
data
.
append
(
x
)
# Supprime le dernier
élé
ment du tableau
# Supprime le dernier
ele
ment du tableau
def
pop_back
(
self
):
self
.
data
.
pop
()
# Renvoie l'
élé
ment situ
é
à la position 'pos' dans le tableau
# Renvoie l'
ele
ment situ
e
à la position 'pos' dans le tableau
def
get
(
self
,
pos
):
return
self
.
data
[
pos
]
# Renvoie le nombre d'
élé
ments dans le tableau
# Renvoie le nombre d'
ele
ments dans le tableau
def
get_size
(
self
):
return
len
(
data
)
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment