Robert W. Floyd (né le et mort le à Stanford (Californie) est un théoricien des graphes et chercheur en informatique américain.
Né à New York, Floyd termina le lycée à l'âge de 14 ans. À l'Université de Chicago, il obtint une licence d'arts libéraux en 1953 (à seulement 17 ans) puis une seconde licence, de physique, en 1958.
Devenu informaticien au début des années 1960, il commença à publier de nombreux articles remarqués et devint maître de conférences à l'université Carnegie-Mellon à l'âge de 27 ans. Il obtint un poste de professeur à l'université Stanford six ans plus tard, sans posséder de doctorat.
Il a dirigé les thèses d'une petite dizaine d'étudiants dont Ronald Rivest et Robert Tarjan.
Floyd fut marié et divorcé deux fois, et eut quatre enfants. Pendant son temps libre, il pratiquait le backgammon et la randonnée.
Atteint de la maladie de Pick en 1993, il prit sa retraite par anticipation au début de l'année suivante et mourut quelques années plus tard.
Ses contributions comprennent notamment un algorithme pour déterminer efficacement tous les plus courts chemins dans un graphe, connu sous le nom d'algorithme de Floyd-Warshall, et des travaux sur l'analyse syntaxique. Dans un article isolé, il introduisit le concept important de diffusion d'erreur dans le et l'algorithme connu aujourd'hui sous le nom d'algorithme de Floyd-Steinberg.
Robert Floyd fut un pionnier de la vérification de programmes dans un article de 1967 intitulé Assigning Meanings to Programs. Ce fut une contribution importante à la future logique de Hoare.
Floyd a collaboré avec Donald Knuth, en particulier comme le principal relecteur de l'œuvre majeure de Knuth The Art of Computer Programming, dans laquelle il se trouve être la personne la plus citée.
Floyd reçut le prix Turing en 1978 pour « avoir eu une influence significative sur les méthodologies de création de logiciels sûrs et efficaces, et pour avoir contribué à l'émergence d'importants domaines de l'informatique scientifique : la théorie de l'analyse syntaxique, la sémantique des langages de programmation, la vérification de programmes, la synthèse de programmes et l'analyse d'algorithmes ».