看板 Grad-ProbAsk 關於我們 聯絡資訊
題目要我寫一個delete element跟insert element in a BST的演算法 於是我就東湊西湊 終於寫出來了 但是不知道對不對 希望各位高手們幫我勘誤一下XD 首先是delete element.... function delete(x,T) { x=T-->Data; d=Degree(T); siwtch(d) { case"0": x=null; break; case"1": x-->Data=T-->Data; free(x); break; case"2": finding minimum of x's right subtree replace x; break; } } function Degree(T) { if (T!=null)then { if (T-->Lchild=null&&T-->Rchild=null)then return 0; else if (T-->Lchild!=null&&T-->Rchild!=null)then return 2; else return 1; } return T; } -------------------------------------------------------------------- 接著是insert element function insert(x, T) { if (T!=null)then { switch(compare(x,T-->Data)) { case">": insert(x,T-->Rchild); break; case"<": insert(x,T-->Lchild); break; } } else x=T-->Data; } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 223.143.61.46