Je souhaite tracer le temps en fonction de la taille de l'entrée, pour le problème de sous-séquence commune la plus longue dans les approches de programmation récursive et dynamique. Jusqu'à présent, j'ai développé des programmes pour évaluer les fonctions lcs dans les deux sens, un générateur de chaîne aléatoire simple (avec l'aide de here) et un program pour tracer le graphique. Maintenant, je dois connecter tout cela de la manière suivante.Temps de tracé en fonction de la taille de l'entrée pour la plus longue sous-séquence commune Problème
Maintenant, je dois connecter tout cela. Autrement dit, les deux programmes de calcul de lcs devraient fonctionner environ 10 fois avec la sortie du générateur de chaîne aléatoire simple donné comme arguments de ligne de commande à ces programmes.
Le temps nécessaire pour l'exécution de ces programmes sont calculés et ce ainsi que la longueur des cordes utilisées sont stockées dans un fichier comme
l=15, r=0.003, c=0.001
Ceci est analysé par le programme python pour remplir les listes suivantes
sequence_lengths = []
recursive_times = []
dynamic_times = []
puis le graphique est tracé. J'ai les questions suivantes concernant ci-dessus.
1) Comment transmettre la sortie d'un programme C à un autre programme C en tant qu'argument de ligne de commande?
2) Y a-t-il une fonction pour évaluer le temps nécessaire pour exécuter la fonction en microsecondes? Actuellement, la seule option que j'ai est la fonction de temps dans unix. Être un utilitaire de ligne de commande rend plus difficile à gérer.
Toute aide serait grandement appréciée.