摘要:
二、用go语言,假设通过反复向一棵树中插人互不相同的关键字来构造一棵二叉搜索树。证明:在这棵树中查找关键字所检查过的结点数目等于先前插入这个关键字所检查的结点数目加 1。 文心一言: 为了证明这个结论,我们可以使用二叉搜索树的性质:在二叉搜索树中,每个节点包含一个关键字以及指向其左右子节点的指针。左 阅读全文
摘要:
一、用go语言,给出 TREE-INSERT 过程的一个递归版本。 文心一言,代码不能运行: 下面是用 Go 语言实现一个递归版本的 TREE-INSERT 过程的代码: package main import "fmt" type TreeNode struct { Val int Left *T 阅读全文
摘要:
九、用go语言,设 T 是一棵二叉搜索树,其关键字互不相同;设 x 是一个叶结点,y 为其父结点。证明: y.key 或者是 T 树中大于 x.key 的最小关键字,或者是 T 树中小于 x.key 的最大关键字。 文心一言: 要证明这个性质,我们可以采用二叉搜索树的性质:对于任何节点N,其左子树中 阅读全文
摘要:
2023-12-09:用go语言,给你两个整数数组 arr1 和 arr2, 返回使 arr1 严格递增所需要的最小「操作」数(可能为 0)。 每一步「操作」中,你可以分别从 arr1 和 arr2 中各选出一个索引, 分别为 i 和 j,0 <= i < arr1.length 和 0 <= j 阅读全文
摘要:
八、用go语言,证明:在一棵高度为 h 的二叉搜索树中,不论从哪个结点开始,k 次连续的 TREE-SUCCESSOR 调用所需时间为 O(k+h)。 文心一言: 要证明在一棵高度为 h 的二叉搜索树中,不论从哪个结点开始,k 次连续的 TREE-SUCCESSOR 调用所需时间为 O(k+h),我 阅读全文
摘要:
软考多媒体应用设计师出成绩了,终于通过了。 阅读全文
摘要:
七、用go语言,对于一棵有 n 个结点的二叉搜索树,有另一种方法来实现中序遍历,先调用 TREE-MINIMUM 找到这棵树中的最小元素,然后再调用 n-1 次的 TREE-SUCCESSOR。证明:该算法的运行时间为 O(n)。 文心一言: 灵捷3.5 。 为了证明该算法的运行时间为 O(n),我 阅读全文
2023-12-06:用go语言,给你一个由 n 个数对组成的数对数组 pairs, 其中 pairs[i] = [lefti, righti] 且 lefti < righti 。 现在,我们定义一
摘要:
2023-12-06:用go语言,给你一个由 n 个数对组成的数对数组 pairs, 其中 pairs[i] = [lefti, righti] 且 lefti < righti 。 现在,我们定义一种 跟随 关系,当且仅当 b < c 时, 数对 p2 = [c, d] 才可以跟在 p1 = [a 阅读全文
摘要:
六、用go语言,考虑一棵二叉搜索树 T ,其关键字互不相同。证明:如果 T 中一个结点 x 的右子树为空,且 x 有一个后继 y ,那么 y 一定是 x 的最底层祖先,并且其左孩子也是 x 的祖先。(注意到,每个结点都是它自己的祖先。) 文心一言,代码正常运行: 灵捷3.5 。 为了证明上述命题,我 阅读全文
摘要:
五、用go语言,证明:如果一棵二叉搜索树中的一个结点有两个孩子,那么它的后继没有左孩子,它的前驱没有右孩子。 灵捷3.5 。 文心一言: 为了证明这个性质,我们首先需要明确二叉搜索树(BST)的定义和特性。一个二叉搜索树是一个有序的树,其中每个节点的左子树上的所有值都小于节点的值,而右子树上的所有值 阅读全文