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
import
math
# Classe utilis
é
e pour faire des statistiques
élé
mentaires
# Classe utilis
e
e pour faire des statistiques
ele
mentaires
# sur une s
é
quence d'op
é
rations.
# sur une s
e
quence d'op
e
rations.
class
Analyzer
:
class
Analyzer
:
# Constructeur de la classe analyse
# 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
):
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)
# Complexit
e
en temps/espace, pire cas : O(size)
# Complexit
é
en temps/espace, meilleur cas : O(1)
# Complexit
e
en temps/espace, meilleur cas : O(1)
# Complexit
é
amortie : O(1)
# Complexit
e
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 enregistr
e
s dans cette analyse.
# Complexit
é
en temps/espace, meilleur cas : O(1)
# Complexit
e
en temps/espace, meilleur cas : O(1)
# @returns la somme des coûts enregistr
é
s dans cette analyse.
# @returns la somme des coûts enregistr
e
s 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 op
e
ration.
# Complexit
é
en temps/espace, meilleur cas : O(1)
# Complexit
e
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'op
e
ration 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 op
e
ration.
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 op
e
rations enregistr
e
es dans l'analyse.
# Complexit
é
en temps/espace, meilleur cas : O(1)
# Complexit
e
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 op
e
rations enregistr
e
es 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 op
e
rations enregistr
e
es dans l'analyse.
# Complexit
é
en temps/espace, meilleur cas : O(1)
# Complexit
e
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 op
e
rations enregistr
e
es 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'
e
cart-type des coûts de toutes les op
e
rations enregistr
e
es dans l'analyse.
# Complexit
é
en temps/espace, meilleur cas : O(1)
# Complexit
e
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'
e
cart-type des coûts de toutes les op
e
rations enregistr
e
es 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)
# Complexit
e
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
'
)
...
...
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
# 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.
# 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'
ele
ment x au tableau
# Complexit
é
en temps/espace, pire cas : O(data.size)
# Complexit
e
en temps/espace, pire cas : O(data.size)
# Complexit
é
en temps/espace, meilleur cas : O(1)
# Complexit
e
en temps/espace, meilleur cas : O(1)
# Complexit
é
amortie : O(1)
# Complexit
e
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
ele
ment 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'
ele
ment situ
e
à 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'
ele
ments dans le tableau
def
get_size
(
self
):
def
get_size
(
self
):
return
len
(
data
)
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