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

备案名 网站名推几个学习网站

备案名 网站名,推几个学习网站,水网站模板,内江企业网站建设公司文章目录 1. 插入排序1.1 插入排序的思想1.2 插入排序的实现 2. 普通二分查找2.1 普通二分查找的思想2.2 普通二分查找的实现 3. 升级二分查找3.1 升级二分查找思想3.2 升级二分查找实现 1. 插入排序 1.1 插入排序的思想 插入排序很类似于已有一副有序的扑克牌,不断…

文章目录

  • 1. 插入排序
    • 1.1 插入排序的思想
    • 1.2 插入排序的实现
  • 2. 普通二分查找
    • 2.1 普通二分查找的思想
    • 2.2 普通二分查找的实现
  • 3. 升级二分查找
    • 3.1 升级二分查找思想
    • 3.2 升级二分查找实现

1. 插入排序

1.1 插入排序的思想

在这里插入图片描述
插入排序很类似于已有一副有序的扑克牌,不断地通过值比较,将新的扑克牌插入到有序的扑克牌中(通过将新的扑克牌和有序的扑克牌进行比较)。
插入排序在代码实现上可能和冒泡有点像,但从算法的时间复杂度上分析,插入排序会优于冒泡排序。插入排序在遇到如 [ 1 , 2 , 3 , 4 , 5 , 6 ] [1, 2, 3, 4, 5, 6] [1,2,3,4,5,6]这种数据排列时,时间复杂度是常数项
选择排序和冒泡排序的时间复杂度都是 O ( n 2 ) O(n^2) O(n2),这两种排序算法都是与数据排列无关的。在遇到上述那种数据排列时,还是会执行 n 2 n^2 n2

1.2 插入排序的实现

def swap(arr, i, j):temp = arr[i]arr[i] = arr[j]arr[j] = tempif __name__ == '__main__':arr = [6, 3, 1, 4, 2, 5]print("原数组:", arr)for i in range(1, len(arr)):for j in range(i, 0, -1):if arr[j] >= arr[j - 1]:continueelse:swap(arr, j, j - 1)print("排序后的数组:", arr)

2. 普通二分查找

在一个有序数组中,找某个数是否存在

2.1 普通二分查找的思想

在一个有序数组中,通过不断将数组二分来寻找最小值。
在这里插入图片描述

2.2 普通二分查找的实现

if __name__ == '__main__':arr = [6, 3, 1, 4, 2, 5]print("原数组:", arr)arr = sorted(arr)print("排序后的数组:", arr)fN = 4low = 0high = len(arr) - 1print("想要找的数为:", fN)while True:mid = int((low + high) / 2)if mid == low or mid == high:print("数不存在")breakif arr[mid] == fN:flag = Trueprint("数存在,位于数组的第", mid, "位")break;elif arr[mid] > fN:high = mid - 1elif arr[mid] < fN:low = mid + 1

3. 升级二分查找

在一个有序数组中,找>=某个数最左侧的位置

3.1 升级二分查找思想

和普通二分很类似,就是一点点的差异
在这里插入图片描述

3.2 升级二分查找实现

if __name__ == '__main__':arr = [6, 3, 1, 4, 2, 5]print("原数组:", arr)arr = sorted(arr)print("排序后的数组:", arr)fN = 4low = 0high = len(arr) - 1print("想要找的数为:", fN)while True:if low > high:print("想要找的数最左侧位于数组的第", low, "位")mid = int((low + high) / 2)if mid == low or mid == high:print("数不存在")breakif arr[mid] >= fN:high = mid - 1elif arr[mid] < fN:low = mid + 1
http://www.yayakq.cn/news/480006/

相关文章:

  • 互动网站案例什么网站可以做高数
  • ps网站导航制作中铁建设集团有限公司贵州分公司
  • 求一个自己做的网站链接mooc网站开发ppt
  • 合肥网站seo推广什么网站做蜘蛛池
  • 广州营销型网站建设费用模板网字体库免费
  • 本周新闻热点事件关键词优化包年推广
  • aspnet网站开发实例教程西安建设科技专修学院官方网站
  • 网站建设网站备案所需资料建设工程教育网建设工程类的考试辅导网站
  • 织梦音乐网站wordpress商城插件主题
  • 建设电子商务网站步骤山东建设银行招聘网站
  • c .net怎么做网站网站开发word
  • 做淘客网站要多大的服务器h5网站开发工具有哪些
  • 如何绑定网站域名移动通网站建设
  • 推荐一个做健身餐的网站网站建设与开发学习
  • 佛山新网站建设服务自己怎么1做网站
  • seo网站推广方案策划书复旦学霸张立勇做的有关寺庙网站
  • wordpress仿站软件wordpress怎么做app
  • 怎么能让我的网站被百度收录如何建立电子商务网站
  • 嘉兴制作网站机构入户广州网站
  • 晋城建设局官方网站遵义58同城网
  • 同一个服务器可以做多个网站wordpress 国内主题 营销主题
  • 网站开发中背景图片怎么弄全屏网站会员权限
  • 盐城市住房城乡建设网站爱站网app
  • 网站结构图怎么画wordpress表格布局插件
  • wordpress全站ssl京东网站开发需求
  • 是网站推广的案例wordpress调用自定义分类标题
  • 有账号密码网站怎么建设营销型网站商城
  • 网站优化总结wordpress 时光轴代码
  • 朝阳区住房和城乡建设部网站做的好的招投标网站
  • 我是怎么做网站架构的宁波网站优化如何