Re: [問題] TREE

看板Programming作者 (五黑)時間18年前 (2007/12/20 00:55), 編輯推噓1(106)
留言7則, 2人參與, 最新討論串1/1
※ 引述《ntouckcm (知足常樂)》之銘言: : node* tree::find(node *p,element key) : { : if(p!=0) : { : if(p->left!=0&&p->right!=0) : find(p->left, key); : if(strcmp(p->data,key)==0) : { return p; } : if(p->left!=0&&p->right!=0) : find(p->right, key); : } : } : 用遞迴尋找.... : 我是訪照中序的找法 去比較字元是不是相同再回傳 : 但是會出現要不要除錯的訊息... : 有誰可以提點我一下嗎? : 找了好久>< 先找左邊,再比較中間,然後找右邊... 如果左邊是空樹,右邊是空樹,就不找左邊,不找右邊, 那,左邊不是空樹而右邊是空樹,與左邊是空樹而右邊不是空樹,又如何呢? 且比較中間若完全不符合,find函式必須傳回什麼? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.112.230.186

12/20 10:04, , 1F
可是這三種情形不會發生耶...
12/20 10:04, 1F

12/20 10:04, , 2F
如果insert node的話一定會左節點右節點
12/20 10:04, 2F

12/20 10:05, , 3F
都插入,而且其實是要比較leave node
12/20 10:05, 3F

12/20 10:06, , 4F
所以中間一定不會符合...
12/20 10:06, 4F

12/20 10:06, , 5F
你的意思是還是要判斷在程式中,不然會有
12/20 10:06, 5F

12/20 10:07, , 6F
錯誤嗎?
12/20 10:07, 6F

12/20 15:15, , 7F
上文是指find函式有這問題,不必考慮insert
12/20 15:15, 7F
文章代碼(AID): #17QKqD3a (Programming)
文章代碼(AID): #17QKqD3a (Programming)