当前位置: 首页 > news >正文

第七章 查找——课后习题解练【数据结构(c语言版 第2版)】

1.选择题

(1)(2)(3)

答案:CDC

(4)

(5)

(6)

(7)(8)(9)(10)(11)

答案:CCCCB

(12)

答案:C

(13)

答案:A

(14)

(15)

2.应用题

(1)

附:计算ASL失败时,NULL不算比较次数

(2)

(3)

(5)

(6)

(7)

3.算法设计题

(1)

int BinarySearchRecursive(int arr[], int low, int high, int k) {if (low > high) {return -1; // 查找失败}int mid = (low + high) / 2;if (k == arr[mid]) {return mid; // 查找成功} else if (k < arr[mid]) {return BinarySearchRecursive(arr, low, mid - 1, k); // 左半区} else {return BinarySearchRecursive(arr, mid + 1, high, k); // 右半区}
}

(2)

bool isBST(TreeNode* root, int& lastValue) {// 递归终止条件:空树视为BSTif (!root) {return true;}// 1. 递归检查左子树// 如果左子树不是BST,则整个树不是BSTif (!isBST(root->left, lastValue)) {return false;}// 2. 检查当前节点// 二叉搜索树要求当前节点值 > 前一个节点值// 注意:如果允许重复值,应将 <= 改为 <if (root->val <= lastValue) {return false;}// 更新lastValue为当前节点值// 用于后续右子树的比较lastValue = root->val;// 3. 递归检查右子树return isBST(root->right, lastValue);
}

http://www.dtcms.com/a/516180.html

相关文章:

  • 江西建设安全网站公司注册查询核名
  • 常用docker命令速查表
  • 响应式酒店网站模板做公司网站要多久
  • 1号店网站网页特效企业网站建设方案价位
  • spring是如何解决循环依赖的(二级缓存不行吗)?
  • 【Python高级编程】基于正则表达式的爬虫
  • 网站链接改名怎做301口碑好的网站建设商家
  • 软文代写费用昆明关键词优化
  • JAVA算法练习题day47
  • 服装外包加工网网站排名优化公司
  • linux系统中进程通信之信号
  • 求数字1-10的阶乘
  • 如何使用最简单的get请求融合众多AI API,包括ChatGPT、Grok等
  • 链表的概念和单向链表的实现
  • 2013年下半年试题二:论企业应用系统的分层架构风格
  • U 盘写写保护解决方法
  • 简约手机网站源码兴宁电子商务网站建设
  • 教程网站搭建wordpress二次元风格
  • 02-Vue 插值
  • 【NebulaGraph】Nebula Importer使用
  • 不同形态组织镊在口腔临床的适配性选择
  • 深入理解进程、线程与协程
  • 用IIS自带FTP功能搭一个FTP!
  • 一种简单的Yolov8 onnx模型类别标签获取的方法
  • 用哪个网站做首页好做网站哪里最便宜
  • ROS1+Vscode
  • Ubuntu22.04 中搭建基于 Qemu 的内核(驱动)开发环境
  • JMETER+ANT接口自动化测试环境搭建实战讲解
  • 告别“大力金刚指”:晶尊微触摸芯片让电梯按键一触即灵
  • HTML教程