Non mais vraiment, c'est bien de laisser les gens trouver par eux-mêmes !
Classement des spammeurs
Et toi, tu as inventé le BFS/DFS ou bien tu l'as appris comme ça ?
Sinon, j'avais demandé moi-même, et ne suis donc pas privé du plaisir de trouver.
Et je n'avais rien trouvé sur les arbres binaires min. (bien que je n'aie pas cherché extrêmement longtemps)
J'aurais pu inventer l'algorithme, mais la paresse me tenait.
Bah je les ai retrouvés tout seul, comme pas mal de monde. Tu peux par exemple aller sur www.france-ioi.org si tu veux t'entraîner à l'algo.
@che: En 161ème position avec 5 posts, ça reste raisonnable ! (au passage, spammeur* (-s) et spammerai* (-s))
ttthebest: Merci, mais je connaissais. Par contre, que tu aies inventé le BFS/DFS, avec les subtiles différences entre
les deux, je dois avouer que ça m'étonne. D'ailleurs, tu as aussi inventé les RB-Trees, que tu utilises à chaque appel
de std::map en c++ ? Et les B-Trees, que tu utilises à chaque appel à un index de base de données ?
Non merci, je préfère éviter de réinventer la roue carrée, et plutôt perdre du temps à chercher des trucs nouveaux.
Oh, pour le bfs/dfs, je suis d'accord avec ttthebest, c'est relativement intuitif. C'est loin d'être comparable avec les RB-Trees ;)
Perdre du temps à chercher des trucs nouveaux... genre résoudre la conjecture P-NP ? Est-ce que tu penses vraiment avoir ce niveau ? Et les arbres binaires, oui, ça se trouve tout seul aussi en réfléchissant... Pas la peine d'utiliser un pseudojargon !
Ekleog, tu aurais fait des stages fr-ioi tu aurais été en mesure de le faire aussi. [/élitisme]
"Perdre du temps à chercher des trucs nouveaux... genre résoudre la conjecture P-NP ? Est-ce que tu penses vraiment avoir ce niveau ?"
Déjà, c'est P [=|!=] NP qu'il faudrait démontrer. (depuis quand est-ce qu'on résout une conjecture ?)
Et je préfère perdre du temps à tenter de la résoudre, que perdre du temps à réinventer la roue.
Parce qu'au moins, j'ai une chance infime d'arriver à quelque chose de nouveau, ce qui n'est pas le cas avec la
réinvention de la roue carrée. (Quoi, je me répète ?)
Mais des choses nouvelles, ce peut également être une recherche sur un problème que je me suis posé. Si la réponse est déjà disponible, je m'en cherche un autre, et voilà, c'est tout.
Par exemple, je réfléchis depuis un moment à un internet alternatif à l'intérieur même d'internet.
C'est proche de ToR, mais ToR en est une vision réductrice : il agit plutôt (en général) comme une passerelle vers
l'internet classique, et conserve l'aspect gênant d'une architecture client-serveur.
J'ai aussi l'envie d'écrire un compilateur.
Certes, c'est du NIH (quoi que le langage que j' "invente" essaie de conserver les avantages de mon langage préféré -
le c++ - en en évitant les défauts, principalement la rétro-compatibilité horriblement bloquante pour l'avancée du
langage - et j'ai une idée pour la conserver tout en permettant au langage d'évoluer), mais au moins j'apprends des
choses. Et ce n'est pas comme si je repartais de 0, puisque j'utilise quand même LLVM comme back-end.
Donc je préfère perdre du temps à développer des trucs inutiles qui me font apprendre, que perdre du temps à réinventer la roue carrée.
"Et les arbres binaires, oui, ça se trouve tout seul aussi en réfléchissant... Pas la peine d'utiliser un pseudojargon !"
Ce qui prouve que tu ne connais pas ce dont tu parles.
Parce que les RB-Trees sont certes des arbres binaires améliorés, mais les B-Trees ne sont pas du tout binaires -
désolé !
alex3er: (BFS/DFS) Mais l'implémentation intelligente avec stack/queue et comptage des distances l'est beaucoup moins ; même si ça reste possible à imaginer seul.
roket: Moi, j'ai d'autres choses à faire pendant les vacs, je ne suis pas autant geek que vous ! Et j'avoue avoir été repoussé par le site de france-ioi ; sûrement à tort, mais ayant tellement d'autres choses à faire, je n'ai pas vraiment poussé mes recherches de ce côté-là.
Exactement, je ne connais pas ton jargon, et je te reproche de l'utiliser. C'est toi qui es élitiste. Qu'est-ce qui te permet de dire que tu ferais des avancées sur cette conjecture ? (et oui, une conjecture ça se démontre vrai, faux, ou indécidable ce que tu n'as pas l'air de connaître malgré ton air hautain). Ne penses-tu pas qu'au contraire c'est en refaisant soi-même un cheminement basique qu'on peut améliorer son niveau ?
Tu prétends que je ne sais pas de quoi je parle, et tu dis ensuite écrire un compilateur avec LLVM comme backend.
Serais-tu aigri de n'avoir pas été sélectionné à ce stage dont tu parles ?
Et, finalement, tu utilises std::stack ?
De plus la manière dont tu écris Tor (connais-tu la signification de l'acronyme ?) en révèle aussi long sur tes
prétendues connaissances.
"Exactement, je ne connais pas ton jargon, et je te reproche de l'utiliser. C'est toi qui es élitiste."
J'utilise l'unique terme permettant de désigner. D'ailleurs ... http://lmgtfy.com/?q=B-Tree
"Qu'est-ce qui te permet de dire que tu ferais des avancées sur cette conjecture ?"
Rien. Et je n'ai jamais dit que je ferai avancer le travail sur cette conjecture, donc tant mieux !
"(et oui, une conjecture ça se démontre vrai, faux, ou indécidable ce que tu n'as pas l'air de connaître"
Une flèche dans le vide. D'ailleurs, si tu relis le message que tu avais écrit, tu avais écrit " résoudre la
conjecture". D'où ma réaction.
C'est bien beau, d'ailleurs, de me donner raison !
" malgré ton air hautain)."
Par contre, je fais de mon mieux pour ne pas avoir l'air hautain. Par contre, ça m'ennuie quand on m'accuse d'être un
assisté. D'où ma réaction.
"Ne penses-tu pas qu'au contraire c'est en refaisant soi-même un cheminement basique qu'on peut améliorer son niveau ?"
Si. Mais le cheminement basique ne sert strictement à rien dans le cas d'un algorithme qui, à en croire vos dires, est
si connu. D'ailleurs, as-tu déjà démontré que le BFS que tu utilises fréquemment est valide d'un point de vue
strictement mathématique ? Non ? Pourtant, "c'est en refaisant soi-même un cheminement basique qu'on peut améliorer son
niveau", et donc apprendre à démontrer des algorithmes, non ?
"Tu prétends que je ne sais pas de quoi je parle"
Quand est-ce que je prétends que tu ne sais pas de quoi tu parles ? Ma seule phrase l'exprimant me semble être celle
réagissant sur les binary trees vs. B-Trees ; ce qui effectivement montrait que tu ne savais pas ce dont tu parlais.
", et tu dis ensuite écrire un compilateur avec LLVM comme backend."
Quel est le souci d'utiliser LLVM comme backend ? Je sais de quoi je parle - même si je n'ai pas encore mis en ligne le
compilateur. Je t'invites à suivre ce lien .
Premier résultat, point 1 de la page sur laquelle tu arrives.
Si tu veux en savoir plus, j'utilise également boost.spirit.qi comme parser.
Qui est-ce qui prétend que je ne sais pas de quoi je parle, finalement ?
"Serais-tu aigri de n'avoir pas été sélectionné à ce stage dont tu parles ?"
Ce n'est pas moi qui en parle, mais roket. Et, n'ayant jamais tenté d'y participer, je vois difficilement comment je
pourrais être aigri de ne pas y avoir été "sélectionné".
Par ailleurs, si tu observes cette page , tu verras que les stages sont en
région parisienne, où je n'habite pas, et qu'ils sont soit pendant les vacances de la Toussaint, pendant lesquelles je
suis chez mes grands-parents, soit en juillet-août, pendant que je suis en vacances en bord de mer.
"Et, finalement, tu utilises std::stack ?"
Évidemment, pourquoi ne l'utiliserais-je pas ?
Je te rappelle que c'est toi qui veux repartir de zéro !
"De plus la manière dont tu écris Tor (connais-tu la signification de l'acronyme ?) en révèle aussi long sur tes
prétendues connaissances."
The Onion Router.
Et j'admets que c'est un tic que de l'écrire comme ça ; et que je n'avais jamais réalisé que c'était la mauvaise
écriture. Après tout, quel est le problème aux majuscules ?
Par ailleurs, étant donné que, comme tu le dis si bien, c'est un acronyme, en théorie on devrait l'écrire en bon
français TOR. Mais, le site du projet (que je viens de vérifier) ayant la même capitalisation que la tienne, je suppose
que l'abus de langage est rentré dans l'habitude.
Je m'excuse d'avoir découpé le message en petites portions, mais, les arguments étant indépendants, j'ai jugé que ce serait plus compréhensible de citer à chaque fois la partie du message à laquelle je réponds. (Non, ce n'est pas une critique cachée expliquant que j'ai mis un moment à comprendre de quel stage tu parlais.)
Moi spammeur ?
Mais non pas du tout :-°
Tous mes posts sont constructifs et argumentés ...
Mais bon, puisque je suis considéré comme spammeur, je spammerai ...
std::stack, mémoirivore.
Mémoriphage*.
roket: Plus que int stack[100000]; ? (vu sur ton ordi à la game ai conf) :P
Et je ne vois pas en quoi c'est mémoriphage.
D'ailleurs, il n'y avait pas une phrase comme "use the rigth tool for the right job" ?
Attention, le FDIS de C++11 (n3290) §B ¶2 conseille que la taille maximum minimum d'un objet soit de 262144.
La taille maximum minimum ?
Je suppose que tu veux dire que la taille minimum d'un objet de doit pas dépasser 2¹⁸ octets ?
(Tiens, roket, ton programme étant donc déconseillé !)
Ce n'était pas pour une stack mais pour stocker un arbre binaire :p
int arbreMax[1
Et je ne sais plus pourquoi c'est Mémoriphage on me l'a tellement répété que je n'en connais plus la raison... Mais je crois que c'était pour les tableaux de stacks où vector était bien plus performant (avec l'accession direct en plus!).
Étant donné que std::stack te permet de choisir le conteneur sous-jacent ... =p
En effet... Et puis là je fais purement et simplement le perroquet mais je suis sûr que ttthebest saura donner des
arguments valabes...
*Se décharge de la responsabilité d'une affirmation*
D'après 23.6.1§2 (dernier working draft du c++11) :
The container adaptors each take a Container template parameter, and each constructor takes a Container
reference argument. This container is copied into the Container member of each adaptor. [...]
D'où (traduction libre) :
Les adaptateurs de conteneurs prennent chacun un paramètre template Container, et chaque constructeur prend en argument une référence vers un Container. Ce conteneur est copié dans le membre Container de chaque adaptateur. [...]
Or, 23.6.1§1 :
The headers and define the container adaptors queue, priority_queue, and stack. These
container adaptors meet the requirements for sequence containers.
D'où :
Les headers et définissent les adaptateurs de conteneurs queue, priority_queue et stack. Ces adaptateurs de conteneurs sont des conteneurs séquentiels.
En conclusion, stack (entre autres) est bien un adaptateur, qui peut prendre n'importe quel conteneur comme conteneur sous-jacent.
Si on part un peu plus loin, 23.6.5§1 :
Any sequence container supporting operations back(), push_back() and pop_back() can be used to in-
stantiate stack. [...]
D'où :
N'importe quel conteneur séquentiel qui supporte les opérations back(), push_back() et pop_back() peut être utilisé pour instancier stack. [...]
Donc tu peux même créer ton propre conteneur sous-jacent qui englobera la stack dans un int[XXX] ; si ça te fait si
plaisir !
Et, avec l'inlining, tu n'auras même pas une nanoseconde de pénalité.
(epsilon, tu déteins sur moi, je me mets à citer la norme !)
(EDIT : D'ailleurs, ttthebest a raison : mieux vaut stopper là, sinon le point godwin n'est pas loin - et la flame war non plus !)
(EDIT 2 : Je viens de remarquer que tu as oublié le deuxième L de valable, roket. ;) )