使Leaf节点不同.用黑点表示.
新加计数器代码:

let id=ref 0;;
let next_id ()=id:=!id+1;Printf.sprintf "Leaf%d" !id;;
let rec gen_leaf_tag n=if n<>0 then
(Printf.printf "Leaf%d [shape=point];\n" n;gen_leaf_tag (n-1));;
修改的bst.ml:

let rec aux_dot_output t=match t with
|Leaf->()
|Node (x,l,r)->
Printf.printf "%d [label=\"{<x> %d|{<l>|<r>}} \"];\n" x x;
Printf.printf "%d:l->%s;\n%d:r->%s;\n"
x
(match l with
|Leaf->next_id ()
|Node (y,_,_)->string_of_int y^":x")
x
(match r with
|Leaf->next_id ()
|Node (y,_,_)->string_of_int y^":x");
aux_dot_output l;
aux_dot_output r;;
截图,点击看大图: