- 博客(4)
- 收藏
- 关注
原创 输入一个整数数组,判断该数组是不是某二叉查找树(折半查找树)的后序遍历的结果。如果是返回true,否则返回false。
本题要根据后续遍历的特点,先输出左子树,后输出右子树,最后输出根节点,而二叉排列树的左子树比根节点小,右子树比根节点大。因此一个序列若代表一个有左右子树的排列二叉树,该序列应呈现从左到右比根节点小,接着比根节点大的样子。根据这一思路,我们可以用递归来判断整个树的子树是否为二叉排列树。【样例输入】输入5 7 6 9 11 10 8。【样例输出】true。
2024-05-21 21:04:56
231
1
原创 请根据输入的数据创建一棵二叉排序树。然后执行相应操作。1 删除某一值为x的结点2 求指定结点y在二叉排序树中的层数【输入形式】结点数据,以0代表结束输入。待删除的x,待求层数的y
这道题与树有关,许多地方用到了递归。难点在于节点删除,要考虑该节点是否有左子树,如果有的话左子树是否有右子树。如果没有左子树的话是否有右子树和该节点是否为根节点。
2024-05-21 19:52:21
106
1
原创 试写一个判别给定二叉树是否为二叉排序树的算法。以前序遍历序列和中序遍历序列给出该二叉树的结点,并创建该二叉树。然后再进行判断。请注意,树中结点关键字可能相同。
试写一个判别给定二叉树是否为二叉排序树的算法。以前序遍历序列和中序遍历序列给出该二叉树的结点,并创建该二叉树。请注意,树中结点关键字可能相同。难点:创建树时下标确定,中序递归遍历顺序。思想:递归的特点,中序遍历访问顺序。
2024-05-20 21:35:26
345
2
原创 给定一个按值有序(升序)的N元整数数组A,采用折半查找法查找关键值k的位置,并给出查找的过程
第二行:查找的过程,每一次折半的中间(mid)位置的值,以逗号分隔。例如,1 2 3 4 5的中间位置为3,1 2 3 4的中间位置为2。第二行:A[0], A[1], ... , A[N-1]第一行:k的位置(索引),若不存在则输出‘no’
2024-05-19 14:36:44
489
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人