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

网站建设存在的具体问题常德网红

网站建设存在的具体问题,常德网红,可信网站代码,sem可以为网站建设做什么【一周刷爆LeetCode,算法大神左神(左程云)耗时100天打造算法与数据结构基础到高级全家桶教程,直击BTAJ等一线大厂必问算法面试题真题详解(马士兵)】https://www.bilibili.com/video/BV13g41157hK?p4&v…

【一周刷爆LeetCode,算法大神左神(左程云)耗时100天打造算法与数据结构基础到高级全家桶教程,直击BTAJ等一线大厂必问算法面试题真题详解(马士兵)】https://www.bilibili.com/video/BV13g41157hK?p=4&vd_source=04ee94ad3f2168d7d5252c857a2bf358

目录

2、认识O(NlogN)的排序

2.3 快排QuickSort

2.3.1 快排1.0

2.3.2 快排2.0

2.3.3 快排3.0

2.4 堆排序

2.4.1 heap-insert过程


笔记:

2、认识O(NlogN)的排序

2.3 快排QuickSort

情况1:给定一个数组arr和一个属num让小于等于num的元素都位于它左侧,大于num的数都在数组右侧。要求额外空间复杂度O(1),时间复杂度O(N)。

解法:arr[i]<=num,arr[i]和L区的下一个交换。L区右扩;arr[i]>num,i++;

情况2:给定一个数组arr和一个属num让小于num的元素都位于它左侧,等于num的数在数组中间,大于num的数都在数组右侧。要求额外空间复杂度O(1)、时间复杂度O(N)。

解法:

arr[i]<num,arr[i]和L区的下一个交换。L区右扩;

arr[i]==num,i++;

arr[i]>num,arr[i]和R区的上一个交换。R区左扩;

2.3.1 快排1.0

取最右侧的数,把它左侧的数分为小于它的左区域和小于它的右区域,然后再把它和右区域的第一个数交换。再分别对左区域和右区域执行相同的操作。

【Q1:分治和递归的区别?

A1:二者是不同维度的概念。递归是程序的实现方式,是程序调用自身;分支是一种算法,核心思想是将父问题拆分为多个无重叠的子问题。逐个解决每类子问题后,合并子问题的解,得到父问题的解。分治可以用递归实现。】

2.3.2 快排2.0

取最右侧的数,将左侧的所有元素按“小于区域”“等于区域”“大于区域”排列,然后再把它和“大于区域”的第一个数做交换。

优于“快排1.0”是因为它固定下来了“等于区域”,移动其他元素时不用再移动这部分。

快排1.0和2.0的时间复杂度都是O(N^2)。性能最好的情况,是左右两侧等规模地不断进行二分,时间复杂度为O(NlogN)。

2.3.3 快排3.0

随机选一个数作为划分参照物,把它和最右侧的元素交换。由于数是随机选的,所以处于每个位置上的概率都相同,为1/N。因此把所有可能的master公式求概率相加后再求数学上的长期期望,得到O(NlogN)。

综合来看,快排3.0由于是随机选数所以时间复杂度最接近O(NlogN)。

2.4 堆排序

把数组转化为完全二叉树的话,一个节点的左孩子是arr[2i+1],右孩子是arr[2i+2],父节点是arr[(i-1)/2]。

堆是完全二叉树,分为大根堆和小根堆。大根堆是在这个完全二叉树中,每一棵子树的根节点都大于树上的所有节点。小根堆反之亦然。

2.4.1 heap-insert过程

若不断有新的数加入,如何维持大根堆:“heap-insert”过程。如果子节点大于父节点,直接交换该节点arr[i]和父节点arr[(i-1)/2],不断和父节点比较,如果父节点比当前节点大或已经抵达了根节点,停止交换。小根堆也相似,不断让比父节点小的值和父节点交换。

如果用户要获取并移除大根堆中的最大值,该怎么维持大根堆:用最新加入的值替换掉最大值(根节点),heapSize-1,先比较再交换,直至变成大根堆。

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

相关文章:

  • 网站代理工具h5入口
  • wordpress 站内通知在墙外的优质网站
  • 北碚集团网站建设手机网站 动态 页面 好 静态页面好
  • 网站留言板怎么做phpsql网站建站企业
  • 企业展示型网站程序建筑设计公司注册
  • 自助个人免费网站打开网站是空白页面
  • 怎么做网站规划书利为汇wordpress教程
  • 浙江海滨建设集团有限公司网站wordpress模板修改内容
  • 34.CentOS-Stream-8-packstack安装OpenStack-Victoria
  • 阿里云 CentOS 磁盘扩容记录:resize2fs 版本过低导致无法扩容的解决方案
  • 网站建设资质要求如何做网站卖画
  • 互联网服务网站建设目的wordpress 清楚jq
  • 松岗做网站价格wordpress 常见问题
  • 从浪涌防护到系统可控,天硕工业级SSD重构工业存储安全体系
  • C++ 知识体系
  • 网上做任务网站装饰工程施工
  • xml网站模板媒体营销平台
  • 将 m 个相同的苹果放入 n 个相同的盘子中
  • 新手学做网站学要做哪些网站 配色
  • 酒店网站建设方案兰州最好的网站建设公司
  • 装潢公司网站设计与制作设计汽车网站
  • 做交易网站网站办公室文化建设
  • 青岛英文网站建设网站带搜索功能怎么做
  • Flink CDC实时数据同步与小时级统计方案(Flink 1.13.5 + MySQL 8.0)
  • 使页面具有动态效果的网站建设技术关键词搜索推广排行榜
  • dw asp access 网站开发优点网站手机页面如何做
  • discuz网站建设教学视频做视频网站免费观看爱
  • 电子商务网站开发技术路线网上做网站兼职
  • 百度搜索网站数字选用平台介绍
  • 制作简历seo搜索引擎优化招聘