2010-07-26 6 views
0

Je suis essayer de résoudre un prob dans l'un des concours de programmation.Le problème réel est de trier une liste donnée de nombres.J'utilise un algorithme avec la complexité (nlog n) et c'est la niveau maximum d'optimisation que je peux faire avec l'algorithme.Maintenant du forum j'ai compris que j'ai besoin d'une E/S plus rapide pour laquelle je devrais créer une nouvelle classe de lecteur. Les E/S sont de et vers les E/S standard.Création d'une classe de lecteur personnalisée en Java

Je veux savoir comment créer une classe de lecteur (insted d'autres classes de lecteur standard)?

Merci à l'avance!

+1

Qu'avez-vous essayé? Vous créez une classe Reader en sous-classant java.io.Reader. Qu'est-ce que tu ne comprends pas? –

Répondre

1

Cette question ressemble vraiment à un genre de question «aboyant le mauvais arbre». Je trouve peu probable que vous puissiez sous-classer Reader et le faire fonctionner plus vite, étant donné que vous ne savez pas comment le faire. S'il y avait un moyen évident, ne serait-il pas déjà en java?

Si la vitesse d'E/S est le problème, c'est peut-être la méthode que vous utilisez. Il existe plusieurs types de lecteurs et plusieurs algorithmes pour les utiliser. Par exemple, lisez-vous le fichier entier à la fois puis l'analyser, ou lisez-vous une ligne à la fois? Certaines de ces options peuvent même ne pas être possibles en fonction du type de fichier, de la taille du fichier et d'autres conditions.

Si vous essayez de résoudre un problème pour un concours de programmation, il vous suffira de résoudre le problème. Vous ne devriez pas avoir à créer votre propre classe Reader, sauf si cela fait partie du problème décrit. D'ailleurs, vous mentionnez que vous obtenez votre direction d'un forum. Comment savez-vous qu'ils savent même de quoi ils parlent? Donc, j'ai l'impression que vous faites quelque chose de mal ici qui est en dehors de la portée de la question que vous avez posée.