Binary Search Tree的第一題實做
//給好孩子的註解
//如果你還沒有學過樹(Tree)、樹的拜訪(traversal)、二元樹(Binary Search Tree)
//那麼你可以先去學完這些東西,再來看這題
//這是前輩良心的建議,加油′▽`)
卡題提要
耍笨的一個地方是(struct node*)malloc(sizeof(struct node))
我寫成了(struct node*)malloc(sizeof(struct node*))
然後就開了兩個小時的花(咦)
事實上是指標的大小都是一樣的,所以開sizeof(struct node*)只會開4bytes
於是輸入太多就爆掉了。
切回正題
利用strcmp()函數,我們可以判斷是否有已經存在的樹名
********************************************************************
* strcmp(字串1, 字串2); *
* 如果字串1的字典順序<字串2 ==> 回傳值<0 *
* 如果字串1==字串2(也就是字典順序相同) ==> 回傳值=0 *
* 如果字串1的字典順序<字串2 ==> 回傳值>0 *
*********************************************************************
從根開始找,<0向左走,>0向右走
如果找到已經存在的相同樹名(==0),那麼該點個數就++
如果找不到,便依Binary Search Tree(BST)的特性建立節點
輸入過程紀錄總輸入數,最後用一次中序拜訪印出樹名並計算百分比
如此而已′▽`)
- Feb 10 Sun 2008 19:12
[BST] ACM Q10226
close
全站熱搜
留言列表
發表留言