|
Sujet : Algorithmie, ca ressemble a koi ? |
| matafan |
Un algorithme, c'est une succession d'opérations qui permettrons systématiquement de résoudre un "problème" particulier. On parle généralement d'algorithmes en informatique, mais ça peut s'appliquer à n'importe quoi. En mathématiques par exemple on peut parler d'algorithmes, même si l'on utilise pas d'ordinateur (par exemple "l'agorithme d'Euclide" pour trouver le PGCD de deux entiers).
L'algorithmique, c'est la science des algorithmes. Rapporté à l'informatique, c'est l'étude des "méthodes" qui permettent de résoudre certaines classes de problèmes. L'algorithmique étudie la façon de résoudre un problème (par exemple trier un tableau, avec éventuellement des hypothèses concernant les données à trier), sans se soucier du langage utilisé. En gros l'algorithme c'est l'idée, que l'on peut ensuite implémenter dans un langage quelconque.
Il n'y a pas une façon de décrire un algorithme. Tu peux le faire en français de façon très informelle, tu peux faire du pseudo-code comme plus haut (avec des "tant que machin"...), tu peux aussi le faire dans un langage particulier. Mais tu peux tout aussi bien faire un dessin, des diagrammes de séquence... |
| gfive |
Ouais, c'est un peu restrictif, de dire que l'algorithmie se résume à écrire un programme en français...Ca se rapproche plus d'une science à part entière....je dirait..que c'est la théorisation de la programmation....Ca implique des maths, des stats (pour nottament calculer la complexité des algorithmes, et pour dire q'il sera - à priori - plus efficace de faire de telle ou telle façon pour résoudre un problème (a priori, parce que évidemment, la mise en pratique peut soulever des particularités) ... Comme en maths, aussi, il y a des "théorèmes"...je m'explique : on peut démontrer (c galère, mais ça se fait), que le meilleur alogo de tri a une complexité de...Medre, je sais plus! :D mais bon, il a une complexité donnée, et on sait qu'on trouvera pas mieux, etc, etc...On peut aussi faire intervenir des math pour démontrer qu'un problème est indécidable, ce qui évite de se faire chier à chercher un algo pour le résoudre, etc, etc.. |