折半查找画ASL判定树

简介: 例子:给定11个数据元素的有序表{2,3,10,15,20,25,28,29,30,35,40}; 所有的题目都可以按照0~N的方式来处理,如下,如果不考话题直接这样做即可,如果需要画图,把下面的值当作数组的序号就好。用数组的值替换数组的序号第一层:0~11。11/2 = 5;第二层:0~4。4/2 = 2;6~10。(6+10)/2 = 8;第三层:0~1。1/2 = 0;3~4。(3+4)/2 = 3;6~7。(6+...


例子:给定11个数据元素的有序表{2,3,10,15,20,25,28,29,30,35,40};
所有的题目都可以按照0~N的方式来处理,如下,如果不考话题直接这样做即可,如果需要画图,把下面的值当作数组的序号就好。用数组的值替换数组的序号

第一层:0~11。11/2 = 5;

第二层:0~4。4/2 = 2;

              6~10。(6+10)/2 = 8;

第三层:0~1。1/2 = 0;

               3~4。(3+4)/2 = 3;

               6~7。(6+7)/2 = 6;

               9~10。(9+10)/2 = 9;

第四层:每个区域都只剩下一个了,根据大小放在左右。小的在左,大的在右。

1.png

 ASL(成功):(11+22+43+44)/ 11 = 33 / 11 = 3;
ASL(不成功):(43+84)/ 12 = 44 / 12 = 3.67;
分母分别看圆圈的个数和长方形的个数。

相关文章
|
JavaScript Java 关系型数据库
基于 SpringBoot+vue的地方美食系统(Java 毕业设计)上
基于 SpringBoot+vue的地方美食系统(Java 毕业设计)
|
9月前
|
存储 安全 数据安全/隐私保护
STM32 Customer BootLoader 刷新项目 (一) STM32CubeMX UART串口通信工程搭建
本文介绍了基于STM32的Customer BootLoader刷新项目的第一部分:使用STM32CubeMX搭建UART串口通信工程。项目采用正点原子探索者v2开发板,通过USB串口与上位机通信,实现固件刷新功能。主要内容包括: 1. 硬件原理图介绍:详细描述了开发板的串口连接方式及电路图。 2. STM32CubeMX工程搭建:从创建新工程、配置系统时钟、USART串口设置到生成代码,一步步详细说明。 3. 代码编写:展示了如何使用HAL库实现串口接收和发送数据,并提供了main.c的完整代码。 4. 工程下载和调试:编译并下载工程到开发板,通过串口调试助手验证通信功能。
STM32 Customer BootLoader 刷新项目 (一) STM32CubeMX UART串口通信工程搭建
|
存储 机器学习/深度学习 编解码
免费的视频增强模型Video2X
免费的视频增强模型Video2X
1181 2
|
安全 Java 数据安全/隐私保护
APP加固技术及其应用
在移动应用开发过程中,APP加固技术起到了非常重要的作用。APP加固是将apk文件进行混淆加密,以防止别人反编译获取我们的源码和资源文件。目前市场上主流的APP加固公司有三家,分别是梆梆加固、360加固和ipagurd加固。本文将介绍APP加固的概念、加固方案和比较,并探讨APP加固在实际开发中的应用。
|
存储 算法 C语言
链表带头和不带头的区别及其应用
链表带头和不带头的区别及其应用
429 0
|
存储 Linux 应用服务中间件
VMware安装无GUI版本的Linux(CentOS7)——安装Nginx示例demo
VMware安装无GUI版本的Linux(CentOS7)——安装Nginx示例demo
402 1
|
JavaScript
深入理解汇编中的ZF、OF、SF标志位和条件跳转
深入理解汇编中的ZF、OF、SF标志位和条件跳转
1432 0