Fonctions MAP ??

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
kwandjeen
Messages : 204
Inscription : dim. 16/juil./2006 21:44

Fonctions MAP ??

Message par kwandjeen »

J'essai de voir ce que cela peut apporter et les utilisations qui en découle. Si vous avez des infos / idées sur l'utilisation nous sommes preneur ^^.

Suite à un de mes projets j'ai essayé de voir si on pouvait gagner du temps dans les recherches d'une liste assisté par map.

Code : Tout sélectionner

Structure donnee
  nom.s
  taille.l
  posx.l
  posy.l
EndStructure

Global NewList planete.donnee()
NewMap id_planete.l()

For i=0 To 4
  AddElement(planete())
  Read.s planete()\nom
  planete()\taille = Random(4)+1
  planete()\posx = Random(100)
  planete()\posy = Random(100)
  AddMapElement(id_planete(),planete()\nom)
  id_planete() = @planete()
Next i

DataSection
  Data.s "valra","eden","kala","giga","tera"
EndDataSection

scan$ = "tera"
;recherche avec la liste
time = ElapsedMilliseconds()
For t=0 To 100000000
  ForEach planete()
    If planete()\nom = scan$
      taille1 = planete()\taille
      Break 1
    EndIf
  Next
Next t
time1 = ElapsedMilliseconds()-time

time = ElapsedMilliseconds()
For u=0 To 100000000
  ChangeCurrentElement(planete(),id_planete(scan$))
  taille2 = planete()\taille
Next u
time2 = ElapsedMilliseconds()-time

MessageRequester("test",Str(taille1)+"--"+Str(time1)+#CRLF$+Str(taille2)+"--"+Str(time2))
C'est un truc idiot mais je cherche ^^ des utilisations.
kwandjeen
Messages : 204
Inscription : dim. 16/juil./2006 21:44

Re: Fonctions MAP ??

Message par kwandjeen »

Tiens les maps prennent aussi les structures ça devient interessant

Code : Tout sélectionner

Structure donnee
  nom.s
  taille.l
  posx.l
  posy.l
EndStructure

Global NewList planete.donnee()
NewMap id_planete.donnee()

For i=0 To 4
  AddElement(planete())
  Read.s planete()\nom
  planete()\taille = Random(4)+1
  planete()\posx = Random(100)
  planete()\posy = Random(100)
  AddMapElement(id_planete(),planete()\nom)
  id_planete()\taille = @planete()
Next i

DataSection
  Data.s "valra","eden","kala","giga","tera"
EndDataSection

scan$ = "tera"
;recherche avec la liste
time = ElapsedMilliseconds()
For t=0 To 10000000
  ForEach planete()
    If planete()\nom = scan$
      taille1 = planete()\taille
      Break 1
    EndIf
  Next
Next t
time1 = ElapsedMilliseconds()-time

time = ElapsedMilliseconds()
For u=0 To 10000000
  ChangeCurrentElement(planete(),id_planete(scan$)\taille)
  taille2 = planete()\taille
Next u
time2 = ElapsedMilliseconds()-time

MessageRequester("test",Str(taille1)+"--"+Str(time1)+#CRLF$+Str(taille2)+"--"+Str(time2))
Anonyme

Re: Fonctions MAP ??

Message par Anonyme »

Les MAP's sont très utiles pour la gestion d'une énorme base de données.
Imagine que tu as 500.000' entrées , et que tu dois faire des recherches régulières dedans , avec un tableau , il te faudrait parcourir tout les éléments pour trouvé ce que tu cherches.
ici , avec les map , plus besoin de parcourir les éléments , tu ajoutes une "clé" & cette clé est transformée en position dans le tableau.
kwandjeen
Messages : 204
Inscription : dim. 16/juil./2006 21:44

Re: Fonctions MAP ??

Message par kwandjeen »

Merci Cpl (toujours au courant (CPL)^^ Bon elle est nulle tout comme moi mais entre ancien mili on se comprend )

Effectivement dans mon projet je gère un système avec des planètes et je m'aperçois que la gestion par map au lieu de liste peut être avantageuse.

PS : depuis la version 4.3 il y a des changements vraiment intéressants, Purebasic n'est pas représenté à sa juste valeur c'est bien dommage.
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Re: Fonctions MAP ??

Message par Ollivier »

Kwandjeen a écrit :Si vous avez des infos / idées sur l'utilisation nous sommes preneur ^^.
Vous prenez les anti-virus?
kwandjeen
Messages : 204
Inscription : dim. 16/juil./2006 21:44

Re: Fonctions MAP ??

Message par kwandjeen »

Ollivier a écrit :
Kwandjeen a écrit :Si vous avez des infos / idées sur l'utilisation nous sommes preneur ^^.
Vous prenez les anti-virus?
Désolé Ollivier j'ai pas saisi :( . J'étais blonde dans une vie antérieure :mrgreen:

Edit: sinon oui depuis que ma femme c'est fait pirater son ordi c'est un de mes objectifs de faire un antimalware et un scruteur de process avec kill, vérif registre, interaction process pour détecter les réamorçage. Mais un peu plus tard je me qualifie de Novice et programmer est un hobby je dois jongler avec mon boulot, mes filles et ma femme ^^.
Fred
Site Admin
Messages : 2809
Inscription : mer. 21/janv./2004 11:03

Re: Fonctions MAP ??

Message par Fred »

Un exemple simple: la coloration syntaxique de l'IDE a en mémoire tous les noms de commandes pour savoir si c'est une fonction ou pas. Il suffit de créer une map avec tous les noms de commandes (qui sont forcement uniques) et tu peux savoir tres rapidement si ton mot est une commande ou pas. C'est beaucoup plus rapide que de parcourir une liste contenant ces mots (meme triée) car l'implementation est faite pour ce genre d'utilisation.
kwandjeen
Messages : 204
Inscription : dim. 16/juil./2006 21:44

Re: Fonctions MAP ??

Message par kwandjeen »

Merci pour vos réponses et merci le grand manitou :D

Bon je dois revoir ma gestion de système pour mon projet mais je vais gagner en vitesse de recherche.
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Re: Fonctions MAP ??

Message par comtois »

kwandjeen a écrit :Edit: sinon oui depuis que ma femme c'est fait pirater son ordi c'est un de mes objectifs de faire un antimalware et un scruteur de process avec kill, vérif registre, interaction process pour détecter les réamorçage. Mais un peu plus tard je me qualifie de Novice et programmer est un hobby je dois jongler avec mon boulot, mes filles et ma femme ^^.
Un autrichien a écrit un article sur ce sujet ( en anglais ) , il utilise PureBasic pour écrire son outil , le source est disponible :
http://cert.at/downloads/papers/mass_ma ... is_en.html
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
kwandjeen
Messages : 204
Inscription : dim. 16/juil./2006 21:44

Re: Fonctions MAP ??

Message par kwandjeen »

lol génial Comtois ça va bien m'aider. Je vais m'imprimer ça pour bucher au boulot :lol:
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Fonctions MAP ??

Message par Backup »

Hardy avait bossé un peu le sujet a lire ici :

http://www.purebasic.fr/french/viewtopic.php?f=3&t=2311
Répondre