Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

DJIKSTRA EN MODE GRAPHIQUE


Information sur la source

Catégorie :Maths Classé sous : recherche opérationelle, réseau, math, graphique, simple Niveau : Débutant Date de création : 09/12/2008 Date de mise à jour : 09/12/2008 12:13:10 Vu / téléchargé: 2 085 / 343

Note :
Aucune note

Commentaire sur cette source (12)
Ajouter un commentaire et/ou une note

Description

Cliquez pour voir la capture en taille normale
Algorithme de Djikstra: Afin de rechercher dans un graphe
le plus court chemin à traverser d'un point A à un Point B, Djikstra à
eu une idée géniale, c'est de trouver l'algorithme qui va réaliser ça!!  

Ce code est une Simulation graphique du fonctionnement de
L'algorithme de Djikstra.

Il est destiné pour mieux comprendre le fonctionnement
de cet Algorithme Afin de prendre une Idée générale sur la Théorie des
Graphes.

Cet Simulation à été réaliser au cours d'un simple Défi!!

=========>   N'hésiter pas à donner vos Commentaires.

En Cas de problème avec cette Source Contacter Moi sur mon
MSN (E Mail): sami_inf@hotmail.fr

BY OFFLAKE


 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  •   Djisktra
    •   ICONES
    • DISKTRAT.~PASTélécharger ce fichier [Réservé aux membres club]2 232 octets
    • DISKTRAT.bakTélécharger ce fichier [Réservé aux membres club]2 142 octets
    • disktrat.dcuTélécharger ce fichier [Réservé aux membres club]2 077 octets
    • DISKTRAT.PASTélécharger ce fichier [Réservé aux membres club]Voir ce fichier2 144 octets
    • Djikstra.~dprTélécharger ce fichier [Réservé aux membres club]299 octets
    • Djikstra.cfgTélécharger ce fichier [Réservé aux membres club]Voir ce fichier434 octets
    • Djikstra.dofTélécharger ce fichier [Réservé aux membres club]Voir ce fichier2 907 octets
    • Djikstra.dprTélécharger ce fichier [Réservé aux membres club]Voir ce fichier299 octets
    • Djikstra.resTélécharger ce fichier [Réservé aux membres club]162 904 octets
    • ellipse.bmpTélécharger ce fichier [Réservé aux membres club]Voir ce fichier334 octets
    • go_kde.icoTélécharger ce fichier [Réservé aux membres club]Voir ce fichier161 862 octets
    • line.bmpTélécharger ce fichier [Réservé aux membres club]Voir ce fichier358 octets
    • Project1.~dprTélécharger ce fichier [Réservé aux membres club]188 octets
    • Project1.cfgTélécharger ce fichier [Réservé aux membres club]Voir ce fichier434 octets
    • Project1.dofTélécharger ce fichier [Réservé aux membres club]Voir ce fichier2 894 octets
    • Project1.resTélécharger ce fichier [Réservé aux membres club]162 880 octets
    • Unit1.~ddpTélécharger ce fichier [Réservé aux membres club]51 octets
    • Unit1.~dfmTélécharger ce fichier [Réservé aux membres club]414 235 octets
    • Unit1.~pasTélécharger ce fichier [Réservé aux membres club]10 107 octets
    • Unit1.bakTélécharger ce fichier [Réservé aux membres club]10 107 octets
    • Unit1.dcuTélécharger ce fichier [Réservé aux membres club]13 825 octets
    • Unit1.ddpTélécharger ce fichier [Réservé aux membres club]51 octets
    • Unit1.dfmTélécharger ce fichier [Réservé aux membres club]414 225 octets
    • Unit1.pasTélécharger ce fichier [Réservé aux membres club]Voir ce fichier10 089 octets
    • Unit2.~ddpTélécharger ce fichier [Réservé aux membres club]51 octets
    • Unit2.~dfmTélécharger ce fichier [Réservé aux membres club]192 435 octets
    • Unit2.~pasTélécharger ce fichier [Réservé aux membres club]1 390 octets
    • Unit2.bakTélécharger ce fichier [Réservé aux membres club]1 356 octets
    • Unit2.dcuTélécharger ce fichier [Réservé aux membres club]4 667 octets
    • Unit2.ddpTélécharger ce fichier [Réservé aux membres club]51 octets
    • Unit2.dfmTélécharger ce fichier [Réservé aux membres club]192 422 octets
    • Unit2.pasTélécharger ce fichier [Réservé aux membres club]Voir ce fichier1 390 octets

Télécharger le zip

Historique

09 décembre 2008 10:17:48 :
Déscription
09 décembre 2008 12:13:10 :
re description

Commentaires et avis

signaler à un administrateur
Commentaire de Nicolas___ le 09/12/2008 18:03:20

j'ai pas encore regardé vraiment le code Mais après 8 sources sur DelphiFr tu ne nome toujours pas tes composants et tu ne sais toujours pas faire un zip valide !

Ciao

signaler à un administrateur
Commentaire de John Dogget le 09/12/2008 21:48:53

Tu pourrais aussi commenter ton code parce que franchement c'est pas évident ...
Par contre, t'oublie pas de nous coller un à propos de 3m².

C'est comme d'hab avec tes sources en fait.

signaler à un administrateur
Commentaire de offlake le 10/12/2008 07:03:31

Pour NICOLAS____
Pour le nommage des composants Oui ta raison je nome pas tjrs et je sais que c'est une mauvaise habitude ok!!
Pour la prochaine Source j'essay d'être plus réaliste
BY OFFLAKE

signaler à un administrateur
Commentaire de offlake le 10/12/2008 07:06:28

Pour John Dogget
Pour les commentaires je pense que tu sais qu'est ce qu'un Canvas...etc
DOnc le code est plus Optimal que possible et je pense qu'il est plus comprehensible que les autres Codes
Oui Ta raison!!
Pour les prochaine Source je tient en compte les commentaires
Merci John Dogget
BY OFFLAKE

signaler à un administrateur
Commentaire de exar le 12/12/2008 18:24:53

Un code plus optimal parce qu'il n'y a pas de commentaires ???  Mais le compilateur n'en tient pas du tout compte...

signaler à un administrateur
Commentaire de offlake le 13/12/2008 07:25:33

Un code plus Optimale c'est un code qui réalise le maximum de chose avec le minimum de ligne source
Je c que le compilateur ne tien pas compte des commentaires Né au moin un code source plus optimale remplace les commentaires!!
BY OFFLAKE

signaler à un administrateur
Commentaire de exar le 13/12/2008 07:35:07

OK !  Je ne l'avais pas compris ainsi.  Mais je ne suis pas non plus convaincu que l'optimalité d'un programme tienne dans le nombre de lignes de ses sources...  De prime abord, je n'ai pas d'exemple à soumettre, mais je vais y réfléchir...
Bon week-end !

signaler à un administrateur
Commentaire de rt15 le 15/12/2008 14:51:58 administrateur CS

Un exemple de code plus long mais plus rapide. Copy_Memory recopie les octets un par un de la source vers la destination. C'est le code le plus simple. Copy_MemoryEx recopie par paquets de 4 octets autant que possible, sachant que c'est la taille avec laquelle les processeurs actuels sont les plus à l'aise.

Par curiosité, on peut aller voir la fonction Move (Appelée par CopyMemory) proposée par Delphi. Elle utilise le même algo que Copy_MemoryEx (4 octets d'abord, puis octets par octets pour finir). Par contre, rédigée en assembleur, elle est plus dense et probablement nettement plus rapide.

type PTByteArray = ^TByteArray;
type TCardinalArray = array[0..High(Word) div SizeOf(Cardinal)] of Cardinal;
type PTCardinalArray = ^TCardinalArray;

implementation

{$R *.dfm}

procedure Copy_Memory(const lpDest: PTByteArray; const lpSrc: PTByteArray; const nSize: Cardinal);
var
  nI: Integer;
begin
  for nI:= 0 to nSize - 1 do
    lpDest[nI]:= lpSrc[nI];
end;

procedure Copy_MemoryEx(const lpDest: PTByteArray; const lpSrc: PTByteArray; const nSize: Cardinal);
var
  lpDestCard: PTCardinalArray;
  lpSrcCard: PTCardinalArray;
  nI: Integer;
  nFirstCopyEnd: Integer;
begin
  lpDestCard:= PTCardinalArray(lpDest);
  lpSrcCard:= PTCardinalArray(lpSrc);

  for nI:= 0 to nSize div 4 - 1 do
    lpDestCard[nI]:= lpSrcCard[nI];

  nFirstCopyEnd:= (nSize div 4) * 4;

  for nI:= nFirstCopyEnd to nFirstCopyEnd + nSize mod 4 - 1 do
    lpDest[nI]:= lpSrc[nI];
end;


procedure TForm1.Button1Click(Sender: TObject);
var
  lpSrc: String;
  lpDest: array [0..MAX_PATH] of char;
  nSize: Integer;
begin
  lpSrc:= '123';
  Copy_MemoryEx(PTByteArray(@lpDest), PTByteArray(lpSrc), length(lpSrc) + 1);
  ShowMessage(lpDest);
end;

signaler à un administrateur
Commentaire de John Dogget le 15/12/2008 17:45:08

Pouark !!
Des pointeurs +_+

signaler à un administrateur
Commentaire de rt15 le 15/12/2008 18:03:38 administrateur CS

Boh ? Il y a même pas de "Pointer".

Pas forcément très inspiré mon exemple... En plus, le code plus long est plus lent pour copier de petites zones mémoire.

Autre exemple concret : les algos de tri. Un tri à bulle fait quelques dizaines de lignes... Un quicksort, plus rapide à l'exécution, est nettement plus long à codé... Encore plus si on le dérecursifie pour gagner encore plus.

signaler à un administrateur
Commentaire de John Dogget le 15/12/2008 18:19:01

Ben je nie pas leurs efficacité (aux pointeurs) ...
C'est juste que ça me donne des boutons ces trucs là.
Parce que bon, récuperer une fuite mémoire à tataouine sur un pointeur, faut dire que c'est quand même extremement casse bonbond :D

signaler à un administrateur
Commentaire de offlake le 16/12/2008 11:14:45

bon les pointeurs c pour un développeur avancé car sa pose trop de dégât pour un programmeur débutant c ta dire au niveau de l'allocation et de libération
donc mieux qu'on utilise l'allocation statique que l'allocation dynamique même que sa pose un problème de gaspillage mais bon Mieux que rien!!
BY OFFLAKE

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Editeur graphique simple [ par kikidonk ] Bonjourà tous. j'ai réalisé 1 ptit prog delphi qui génère des bitmaps au format 1 bit 122/32 pixelsJe souhaiterai editer ces bitmaps afin de faire des Simple soucis de syntaxe [ par John Dogget ] Salut à tous.J'ai dans une unité une variable qui peut être utilisé par n'importe quelle fonction/procedure. Au lieu de déclarer une variable de même envoyer message sur un pc du réseau local [ par PhilLU ] Salut,Je souhaite envoyer un message (popup ou message box,...) sur l'écran d'un pc du réseau dont je connait l'adresse IP.(et/ou l'adresse MAC)Merci App. Base de données sous réseau [ par YasserBenSalah ] Bonjour tout le monde,Je suis un nouveau utilisateur de Delphi 5. Je compte développer une application de gestion commerciale accéssible en réseau. Je une simple numerotation s'il vous plait [ par new2000 ] Salut tout le monde!En m'exerçant sur les fonctions Quickreport. Je voulais juste passer une impression numerotée. Par exemple, à chaque fois qu'une f trouver un serveur sur un réseau & fonctionnement socket [ par fidji ] Voila, j'eus fait un jeux en réseau sous delphi 5. quasi fini j'ai maintenant delphi 7!!!Bref voila mes questions. il serai pas mal de changer de comp Mettre une appli en réseau. [ par codial ] Bonjour,j'ai écrit une appli mono poste mais je voudrais pouvoir l'utiliser en réseau. C'est à dire partager ma base access vers 4 PC. cette base acce Moteur réseau [ par dxdiag ] Bonjour,    Je suis à la fac en 1ere année et j'ai un programme a réaliser avec mon groupe de 4 personnes. J'ai choisit de faire le moteur réseau, je Netbios, l'addresse MAC ne se dévoile pas correctment [ par Keneda ] Salut à tous, j'utilise l'api Netbios de netapi32.dll pour récupérer l'adresse MAC d'une carte réseau, on trouve ce code facilement sur google et il s Défragmenter sous réseau avec delphi 7 [ par Faycalbob ] comment défragmenter, scanner, nétoyer un disk à distance sous delphi 7,En général commente faire ces opérations sous réseau avec delphi pour réaliser


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,858 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.