iterateur - index.pdf March 22, 2010 1 ITI 1521....

Info iconThis preview shows pages 1–3. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: index.pdf March 22, 2010 1 ITI 1521. Introduction ` a linformatique II * Marcel Turcotte Ecole ding enierie et de technologie de linformation Version du 22 mars 2010 R esum e It erateur 1 (Partie 1) * . Ces notes de cours ont et e concues afin d etre visualiser sur un ecran dordinateur. 1. Excellente introduction ` a lanalyse asymptotique (complexit e du calcul, big-O), encapsulation, programmation orient ee objet, interfaces et plus. Motivation Pour une impl ementation (simplement) cha n ee de linterface List d efinie comme suit, public interface List<E> { public abstract boolean add( E obj ); public abstract E get( int index ); public abstract boolean remove( E obj ); public abstract int size(); } Nous nommerons cette impl ementation LinkedList . Vous devez concevoir une m ethode pour traverser la liste, par exemple afin dafficher toutes les valeurs. Limpl ementation et son temps dex ecution diff` erent selon que la m ethode se trouve ` a lint erieur ou ` a lext erieur de la classe. Les difficult es seraient les m emes si la liste etait doublement cha n ee. Exemple List<String> colors; colors = new LinkedList<String>(); colors.add( "bleu" ); colors.add( "blanc" ); colors.add( "rouge" ); colors.add( "jaune" ); colors.add( "vert" ); colors.add( "orange" ); (A) traverser la liste de lint erieur De lint erieur, nous avons acc` es aux d etails de limpl ementation, acc` es aux noeuds. Node p = head; while ( p != null ) { System.out.println( p.value ); p = p.next; } (B) traverser la liste de lext erieur De lext erieur, nous devons utiliser E get( int pos ) . for ( int i=0; i < colors.size(); i++ ) { System.out.println( colors.get( i ) ); } Comparez la vitesse des deux impl ementations (int erieur et ext erieur). Limpl ementation de lint erieur est plus rapide ou plus lente ? Les diff erences sont mineures ou majeures ? Temps dex ecution Voici les temps dex ecution pour des listes contenant 20 , 000 , 40 , 000 et 80 , 000 noeuds, moyenne de 5 ex ecutions (temps en millisecondes). # noeuds A B 20,000 2 20,644 40,000 5 94,751 80,000 12 407,059 Pour 80 , 000 , noeuds il faut environ 6.5 minutes pour traverser la liste ` a laide de get( pos ) , alors quil suffit 12 ms pour lautre approche. Comment expliquer cette diff erence ? index.pdf March 22, 2010 2 for ( int i=0; i< names.size(); i++ ) { System.out.println( names.get( i ) ); } Appel Nombre de noeuds visit es get( 0 ) 1 get( 1 ) 2 get( 2 ) 3 get( 3 ) 4 . . . . . ....
View Full Document

Page1 / 7

iterateur - index.pdf March 22, 2010 1 ITI 1521....

This preview shows document pages 1 - 3. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online