Une seule file d'attente a une complexité temporelle [1] de O (1) à la recherche car elle peut simplement faire apparaître le processus suivant à l'exécution. L'insertion a également O (1) car elle place le nouvel élément à la fin de la file d'attente. Ce genre d'ordonnanceur à tour de rôle a été utilisé, par ex. au début du noyau Linux. L'inconvénient était que toutes les tâches étaient exécutées à chaque fois dans le même ordre. Pour résoudre ce problème, une simple amélioration consiste à continuer à faire apparaître la tête de la file d'attente avec O (1) et à rechercher un emplacement approprié dans la file d'attente par insertion en priorité et/ou temps, avec O (n). Certains planificateurs gardent plusieurs files d'attente (ou même une file d'attente prioritaire), qui ont des temps de fonctionnement variables en fonction de l'implémentation et des besoins. D'autre part, l'arbre rouge-noir a une complexité temporelle de O (log n) pour obtenir le processus suivant et lors de l'insertion. L'idée principale d'un arbre rouge-noir est qu'il se maintient équilibré à chaque opération, restant ainsi efficace sans autres opérations d'optimisation. Une file d'attente prioritaire peut également être implémentée en utilisant un arbre rouge-noir en interne.
Un bon point de départ sur les planificateurs (Linux) est le CFS article sur le site d'IBM, qui a aussi un bon ensemble de références.