Donné est un poignard. Vous souhaitez étiqueter chaque nœud en fonction du nombre de nœuds accessibles depuis celui-ci. est une borne supérieure triviale; Ω ( V + E ) est une borne inférieure (je pense). Existe-t-il un meilleur algorithme? Y a-t-il des raisons de croire que la borne inférieure peut être améliorée (lié: que sait-on exactement des bornes inférieures pour la fermeture transitive)?
Motivation: j'ai dû le faire plusieurs fois tout en représentant les formules fol comme des dags.
Edit: Veuillez noter que simplement faire compte les chemins , pas les nœuds accessibles . (J'ai ajouté cela car apparemment, beaucoup de gens pensaient que cette solution simple fonctionnerait par les votes que j'ai vus sur une réponse maintenant supprimée.) En fait, ce problème apparaît précisément lorsque vous voulez faire quelque chose d'intéressant avec des parties `` partagées '', des nœuds accessibles par plus d'un chemin. De plus, je dis dag, car s'ils sont résolus, la résolution des digraphes est facile.