close
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)的特性建立節點

    輸入過程紀錄總輸入數,最後用一次中序拜訪印出樹名並計算百分比

如此而已′▽`)
arrow
arrow
    全站熱搜

    aikosenoo 發表在 痞客邦 留言(0) 人氣()