Il existe un certain nombre d'algorithmes et de structures de données qui exploitent l'idée que obtient sa valeur minimale à k = \ sqrt n . Les exemples courants incluent k = √
- algorithme pas à pas géant pour calculer le logarithme discret en ,
- comptage orthogonal 2D statique en temps et mémoire ,
- file d'attente prioritaire avec EXTRACT-MIN en et DECREASE-KEY en ,
- colorier un graphe à 3 couleurs avec couleurs en temps polynomial,
Juste pour en nommer quelques-uns.
Bien que ces algorithmes soient souvent sous-optimaux, ils sont faciles à comprendre par les élèves et bons à montrer rapidement que les limites naïves ne sont pas optimales. De plus, les structures de données à racine carrée sont parfois plus pratiques que leurs homologues à base d'arbre binaire en raison de la convivialité du cache (sans considérer les techniques sans cache). C'est pourquoi j'accorde une attention particulière à ce sujet tout en enseignant.
Je suis intéressé par des exemples plus distinctifs de ce type. Je recherche donc des algorithmes (de préférence élégants), des structures de données, des protocoles de communication, etc. dont l'analyse repose sur l'idée de racine carrée. Leurs asymptotiques n'ont pas besoin d'être optimales.