This repository has been archived on 2019-08-09. You can view files and clone it, but cannot push or open issues or pull requests.
s1-tp/S2/TP4/analyse_tris.py
Jean-Loup Beaussart 28c3a3a92f Correction indice
2015-03-10 11:03:40 +01:00

118 lines
1.8 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/usr/bin/python3
# -*- coding: utf-8 -*-
"""
TP AP1
Licence SESI 1ère année
Univ. Lille 1
analyse_tris.py
TP4 - Evaluation empirique des tris
http://www.fil.univ-lille1.fr/~L1S2API/CoursTP/tp4_tri.html
"""
__author__ = 'PREUD\'HOMME Geoffrey & BEAUSSART Jean-loup'
__date_creation__ = 'Tue, 10 Mar 2015 10:26:41 +0100'
from random import randint, shuffle
def partie(nom):
print('\n', nom, '=' * len(nom), sep='\n')
def section(nom):
print('\n', nom, '-' * len(nom), sep='\n')
def question(numero):
print('\n***', 'Question', numero, '***')
partie("Prérequis")
partie("Travail à réaliser")
section("Préliminaires")
question(1)
def liste_croissante(n):
"""
int -> list(int), construit la liste des entiers compris entre 0 et n-1, rangés dans l'ordre croissant
CU: n est un entier positif
"""
assert(type(n)==int and n>=0)
return [i for i in range(n)]
question(2)
def liste_decroissante(n):
"""
int -> list(int), construit la liste des entiers compris entre 0 et n-1, rangés dans l'ordre décroissant
CU: n est un entier positif
"""
assert(type(n)==int and n>=0)
return [i for i in range(n-1, -1, -1)]
question(3)
def liste_alea(n, a, b):
"""
int, int, int → list
Renvoie une liste dentiers, qui construit une liste de longueur n les entiers choisis au hasard
compris entre a et b.
"""
res = []
for i in range(n):
res.append(randint(a, b))
return res
section("Compter les comparaisons")
question(0)
question(0)
partie("Analyse du tri par sélection")
question(0)
question(0)
partie("Analyse du tri par insertion")
question(0)
section("Dans le meilleur des cas")
question(0)
question(0)
section("Dans le pire des cas")
question(0)
question(0)
section("En moyenne")
question(0)
question(0)
question(0)
question(0)
question(0)
section("Avec Gnuplot")
question(0)