公式排序解决办法

公式排序
根据公式的运算顺序排序:例如;
  公式:A=D+C; B=10; C=B+5; D=B+C;排列如下:
  B=10; C=B+5; D=B+C; A=D+C
那位大哥能简单说下排序的算法。非常感谢!

------解决方案--------------------
这是拓扑排序,把等式左边的点全部列出来,然后扫描每个表达式右部,比如c=b+5,那么就把b到c连一条边,这个过程结束后,找入度为0的点的表达式,然后将这个点的所有边全删掉,继续重复上述过程。。
------解决方案--------------------
练习题不是有排课程的题目吗?这个不是一样的意思嘛,没有字母的可以排第一个,有包含某个字母的公式则必须排在该字母的公式后面。
------解决方案--------------------
给运算顺序赋值,可以和普通排序一样处理。
------解决方案--------------------
这个题和POJ 1094是一个意思。要构造有向图,我当时用邻接矩阵做的。
------解决方案--------------------
如果表达式中有多个值,大小不确定,比如C+A会排在B+C后面,那么就用冒泡发写一个字符串排序的存储过程,然后对表达式进行预处理就可以实现排序。我还在忙,搞不定的话给我留言。