求教如何把a list of number 转变成 binary search tree
scheme吧
全部回复
仅看楼主
level 1
deepsL🍗 楼主
如题,例如, 如何将(list 6 3 8 2 1)变成binary search tree。 有吧友会写这个代码吗, 想了好半天都写不出来, 我只会把单独一个数插进binary search tree。
2015年03月24日 05点03分 1
level 12
见『算法导论』中二叉查找树一章中的 Insert 方法
2015年03月24日 07点03分 2
level 12
不好意思,看差了。一般不就是一个一个的塞进去?
2015年03月24日 07点03分 3
level 12
如果已知前序遍历、中序遍历和后序遍历中的两种的话,是可以还原一棵树的。而二叉查找树的中序遍历就是已序数组。我觉得可以从这个入手,但是你题目描述没说给的这个序列是个什么玩意……
2015年03月24日 07点03分 4
level 12
没说是什么的话你是不能假设这是前序或后序遍历的结果的,因为这个序列可能不是一棵合法的二叉搜索树的遍历结果。
2015年03月24日 07点03分 5
题目就只说, 随便input一个list of number, 可以是乱序的, 然后利用binary search tree把这个乱序的list, 变成降序的list。就比如把(list 5 3 6 2)最后要变成(list 6 5 3 2)。 这道题第一步就应该是把乱序的list 变成一个binary search tree。 在用binary search tree变成一个降序 的list
2015年03月24日 20点03分
level 12
那你就把每个数都插入到BST里就构造出来了啊,然后中序遍历的结果就是降序的了
2015年03月25日 01点03分 6
level 1
其实是一样的,新建一颗二叉查找树,不断把列表里的值插入进树里就可以了
2016年07月28日 09点07分 8
1