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

自助建站网站系统互联网项目推广平台有哪些

自助建站网站系统,互联网项目推广平台有哪些,表白视频制作软件app,怎样提高网站知名度文章目录 一、二分查找的基本概念二、二分查找过程三、python实现二分查找的两种方式🍇递归代码实现二分查找算法🥕非递归的方式实现二分查找算法 三、拓展:二叉树反推 一、二分查找的基本概念 二分查找又称折半查找,它是一种效率…

文章目录

  • 一、二分查找的基本概念
  • 二、二分查找过程
  • 三、python实现二分查找的两种方式
    • 🍇递归代码实现二分查找算法
    • 🥕非递归的方式实现二分查找算法
  • 三、拓展:二叉树反推

一、二分查找的基本概念

二分查找又称折半查找,它是一种效率较高的查找方法

  • 原理:首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。重复以上过程,直到找到满足条件的记录,使查找成功,或直到子表不存在为止,此时查找不成功。

二、二分查找过程

查找数字: 1

在这里插入图片描述

  • 第一步: 找到中值(取整数)
  • 第二步: 要查找的数和中值比较
  • 第三步: 若小于中值则在中值前面找,若大于中值则在中值后面找,等于中值时直接返回

三、python实现二分查找的两种方式

🍇递归代码实现二分查找算法

   def binary_search(alist, item):if len(alist) == 0:return Falseelse:midpoint = len(alist)//2if alist[midpoint]==item:return Trueelse:if item<alist[midpoint]:return binary_search(alist[:midpoint],item)else:return binary_search(alist[midpoint+1:],item)testlist = [0, 1, 2, 8, 13, 17, 19, 32, 42,]print(binary_search(testlist, 3))print(binary_search(testlist, 13))

🥕非递归的方式实现二分查找算法

def binary_search(alist, item):first = 0last = len(alist)-1while first<=last:midpoint = (first + last)/2if alist[midpoint] == item:return Trueelif item < alist[midpoint]:last = midpoint-1else:first = midpoint+1return False
testlist = [0, 1, 2, 8, 13, 17, 19, 32, 42,]
print(binary_search(testlist, 3))
print(binary_search(testlist, 13))

三、拓展:二叉树反推

我们如何根据提供的三种深度排序中的两种排序,反推出来二叉树的图呢?

反推原理:先根中定边,往复树两边
举例说明,如:
先序:0 1 3 7 8 4 9 2 5 6
中序:7 3 8 1 9 4 0 5 2 6

1、先序找根,中序定两边
先序的特点是第一个元素是根,中序的特点是根两侧分别是左右子树,所以我们反推分界初始图:
在这里插入图片描述

2、两边重复步骤1
根据中序的内容,我们确定了两个子树包含的内容,那么结合先序的特点,两个范围内首先出现的数字就是第一层的节点内容
在这里插入图片描述
所以左侧子树的根节点是1,右侧子树的根节点是2

在这里插入图片描述
3、两边重复步骤1和2

找到左侧子树的根节点是1,
那么结合中序的左侧子树内容:7 3 8 1 9 4,可以确定:左侧子树包括

  • 左部分:738
  • 右部分:94

结合先序的左侧子树内容:1 3 7 8 4 9,可以确定:左侧子树的1元素的两个子节点是3和9

找到右侧子树的根节点是2

  • 结合中序的右侧子树内容:5 2 6
  • 结合先序的右侧子树内容:2 5 6

可以确定:2节点的左侧元素是5,右侧元素是6
在这里插入图片描述

4、重复步骤3
对于3结点来说:

  • 结合中序的内容:7 3 8
  • 结合先序的内容:3 7 8
    可以确定:3节点的左侧元素是7,右侧元素是8

对于9结点来说:

  • 结合中序的内容:9 4
  • 结合先序的内容:4 9

可以确定:9节点的左侧元素是4

所以最终的二叉树图是:

在这里插入图片描述

http://www.yayakq.cn/news/671825/

相关文章:

  • 东方头条网站源码营销策划方案案例
  • 营销型网站设计文章广州专业网站设计
  • 网站建设公司河南郑州简述电子商务网站的建设流程图
  • 关于网站建设毕业答辩怎么说什么是网站前台
  • 能免费做网站吗网站开发如何兼容不同ie
  • 免费素材网站设计网页模板素材下载
  • 江宁招网站建设58河南省建筑一体化平台官网
  • 网站建设公司上海海沧区建设局网站 破路申请
  • siteserver cms网站访问量sem是什么
  • 长安网站设计推广网络营销外包公司
  • 网站可信认证DW做的网站怎么弄兼容性
  • 线上企业订单管理系统网站网站设计制作报价图片
  • 重庆网站推广外包企业最新热点新闻事件
  • 网站开发项目的设计与实现wordpress采集网页文章
  • 南京网站制作平台网络推广培训资料
  • 网站 搜索怎么实现佛山app开发公司
  • 网站建设费挂什么科目企业进行网站建设的方式
  • 做暧昧的小视频网站2网站建设石家庄
  • 商城网站作品3合1网站建设电话
  • 怎样将视频放在网站里做咖啡网站建设的需求分析
  • wordpress网站使用成都网页制作
  • 网站app建设需要资源快速的网站开发工具
  • 公司网站开发软件公司宣传册设计与制作模板
  • 网站开发与硬件合同WordPress建网盘
  • 做网站花钱么微官网招聘系统
  • 公司做网站比较好的网站建设情况的自查报告
  • 如何用ps做网站导航条西安网站建设哪家
  • 排版设计网站python 做电商网站
  • 域名绑定空间后 一般多久能打开网站重庆能创科技有限公司
  • 一般做企业网站需要什么宜宾建设局网站