ch09_ex33 从大到小输出给定二叉排…
来源:互联网 发布:微信推送表情包 知乎 编辑:程序博客网 时间:2024/06/07 05:00
9.33③ 编写递归算法,从大到小输出给定二叉排序树
中所有关键字不小于x的数据元素。要求你的算法的时
间复杂度为O(log2n+m),其中n为排序树中所含结点数,
m为输出的关键字个数。
实现下列函数:
void OrderOut(BiTree t, KeyType x,void(*visit)(TElemType));
二叉树的类型BiTree定义如下:
typedef struct {
} ElemType;
typedef struct BiTNode {
}BiTNode, *BiTree;
答案以及解析:
版本一:
void OrderOut(BiTree t, KeyType x,void(*visit)(TElemType))
{
}
版本二:
void OrderOut(BiTree t, KeyType x,void(*visit)(TElemType))
{
}
外来答案:本人感受,简单的函数何必再另外建一个新函数;此外用flag做控制多了一个接口,问题更多
void out(BiTree t,KeyType x,int&flag,void(*visit)(TElemType));
void OrderOut(BiTree t, KeyType x,void(*visit)(TElemType))
{
}
void out(BiTree t,KeyType x,int&flag,void(*visit)(TElemType))
{
}
总结:时间复杂度问题,本人真心不知道怎么计算,版本一是符合要求的O(log2n+m),版本二的则为O(log2n+n)
0 0
- ch09_ex33 从大到小输出给定二叉排…
- ch09_ex33 从大到小输出给定…
- ch09_ex31 判定给定二叉树是…
- 对于一颗给定的二叉树,输出所有从根节点到叶节点的路径
- 输出二叉树中中序遍历中给定结点的下一个结点
- poj 2299 Ultra-QuickSort 归并排…
- 军,团, 营, 连, 排…
- android textview文字换行排…
- POJ1577 二叉树的创建及先序遍历(给定一些二叉树中的值,大于根的排在右边,小于根的排在左边)
- 从层序中序重建二叉树输出先序后序
- HDU 1285 确定比赛名次(拓扑排…
- 给定先序和后续,构造出一颗二叉树并输出中序序列
- 从大到小输出二叉搜索树中键值不小于K的关键字
- 给定一个二叉树,从左到右,找出第 k 个叶子节点 [# 65]
- 给定一个二叉树,从左到右,找出第 k 个叶子节点
- 给定一个字符串S,求所有长度小于等于3的子串出现的次数,输出结果按出现次数从大到小
- 从某个给定的字符串中选取需要的字符并组成字符串输出
- 03 给定链表头结点, 依次输出从尾节点到头结点的数据
- P318_118 合并两个链表,并按照学号升序排列。用类冒泡排序法对链表进行排序
- 数据结构C语言版 ch09_ex26&n…
- ch09_ex25 int Search(S…
- StateServer提供程序的配置
- ch09_ex31 判定给定二叉树是…
- ch09_ex33 从大到小输出给定二叉排…
- ch10_ex23 以L.r[k+1]作为监…
- ch10_ex26 冒泡排序 用i…
- ch10_ex32 荷兰国旗问题
- HDU1061-Rightmost Digit(快速幂取模)
- ifttt转发
- ch10_ex34 从p=1起,逐个插入建堆
- ch10_ex35 满足完全三叉树的…
- ch10_ex42 序列的"中值记录"…