我想找到T,二叉樹的鞍點,如果有的話。鞍點在其所有祖先中具有最小值,但其所有後代中具有最大值。如果葉子的價值低於其祖先的價值,那麼葉子可以是一個鞍點。使用遞歸在二叉樹中找到鞍點
例樹:
F:15
E:16 H:17
B:14 G:16 I:8
A:8 C:7
D:5
B是一個這樣的鞍點,因爲14小於16和15,而且也大於8,7,和5 A,C,d,和我是其他鞍點。
我試着想辦法遞歸地檢查每個子樹,並證明父節點是其所有後代中最大的。但是,由於C(16)在它的所有後代中是最大的,但是大於F(15),所以它不是鞍點,所以這種方法是不正確的。
什麼是最好的解決方法。
A,B,C,I是鞍點。 – BBbbBB 2015-02-10 19:26:06
是的,A,B,C,I,D。抱歉。 – BBbbBB 2015-02-10 19:58:34