|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Invité de passage
![]() Inscription : décembre 2011 Messages : 26 ![]() |
Bonsoir tout le monde, voila j'ai un soucis à propos des liste chainées.
Je travaille sur des listes triées, l'ajout d'un élément se fait toujours au bon endroit. Et j'ai un soucis à propos de la méthode d'ajout, j'ai du mal à l'implémenter (du point vu algorithmique je l'ai) donc si vous pouvez me donner quelques pistes (je remet aussi peut-être en cause la manière dont je vois les listes chainées en java, j'ai l'impression d'être en C par moment ou leurs implémentations est vachement plus simple!). Voici ma classe Liste (classe abstraite car je code plusieurs types listes : les listes triées, liste chainée acceptant les doublons et liste chainée qui n'accepte pas les doublons). Dans cette classe se trouve une classe static Node (qui represente un noeud de ma chaine): Code :
Code :
Merci bcp de votre aide |
||||
|
|
00
|
|
|
#2 | ||
|
Expert Confirmé Sénior
![]() ![]() |
Citation:
Citation:
__________________
⥀⥁ Чиз faq java, cours java, javadoc. Pensez à et ![]() Laisse entrer le jour après une nuit sombre. Si tu es toujours là, tu n'es pas faite pour mourir. |
||
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : décembre 2011 Messages : 26 ![]() |
Le problème c'est que je suis obligé de passer par des listes triées (c'est imposé par mon projet). Ajouter dans une liste non trié, facile mais par contre ajouter dans un element dans une liste triée, je vois comment le faire à peu près en algo mais en java (et surtout dans la manière dont je represente les listes triées).
Est-ce que par exemple je peux passer par les piles pour representer une liste chainée triée ? |
|
|
00
|
|
|
#4 |
|
Invité de passage
![]() Inscription : novembre 2012 Messages : 3 ![]() |
Je ne pense pas que passer par des piles soit la solution... tu vas te compliquer la vie en faisant ça.
Pour trier ta liste au moment de l'ajout peut être qu'en utilisant un algorithme dichotomique ça serait plus simple? |
|
|
00
|
|
|
#5 |
|
Expert Confirmé Sénior
![]() ![]() |
painfulBetrayal: on ne sais pas utiliser de manière performante des algo dichotomiques sur des listes chainées, parce que le principe de ces algo c'est de sauter à des endroit précis de la liste et de s'orienter progressibmenet, on est obligé, dans une liste chainée, de parcourir la moitié de la chaine juste pour la première étape de l'algo dichotomique. Ca occupe un temps o(n) alors qu'avec un tableau ca occupe un temps o(1). On peux améliorer avec les skip-list, mais je pense qu'on est au delà de la demande initiale
__________________
⥀⥁ Чиз faq java, cours java, javadoc. Pensez à et ![]() Laisse entrer le jour après une nuit sombre. Si tu es toujours là, tu n'es pas faite pour mourir. |
|
|
10
|
|
|
#6 |
|
Membre confirmé
![]() Étudiant Inscription : décembre 2009 Messages : 165 ![]() |
Bonjour,
basiquement je ferais quelquechose tel que:
Apres c'est un algo trivial, qui doit pouvoir être amélioré |
|
|
10
|
Copyright © 2000-2013 - www.developpez.com