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

宜春做网站网站建设介绍会发言稿

宜春做网站,网站建设介绍会发言稿,dw表格怎么做网站搜索,文本中设置网站超链接怎么做满二叉树、完全二叉树 二叉树遵循下面的规律,当前节点i(但是其实就是逐级填充): 左节点为 ix2右节点为 i*21父节点为 [i/2] 向下取整 使用数组表示二叉树: (二叉树的深度自上而下,高度自下…

满二叉树、完全二叉树

二叉树遵循下面的规律,当前节点i(但是其实就是逐级填充):

  • 左节点为     ix2
  • 右节点为     i*2+1
  • 父节点为     [i/2] 向下取整

使用数组表示二叉树:
请添加图片描述
(二叉树的深度自上而下,高度自下而上)(至于高度深度是0,还是1开始只是一个表示不重要)

  • 满二叉树(完美二叉树):深度为h,且节点有2(h+1)-1。节点数最大。
  • 完全二叉树:看上面数组的表示,前两个为完全,最后一个非完全,因为缺失元素了。

判断是不是完全二叉树:
请添加图片描述

堆是完全二叉树!!
最大堆:父节点要大于或等于后面所有子节点。
最小堆:父节点要小于或等于后面所有子节点。

最大堆的插入、删除

最大堆的插入:

  • 60首先插入最后的叶子节点,与父节点比较,比父节点大则交换位置,直到到达正确的位置。
  • 时间复杂度就是交换的次数:例子是3次即树深logn。堆插入的时间复杂度O(1)~O(logn)。

最大堆的删除:

  • 假如去水果店买苹果,苹果像金字塔一样排列,最好的苹果在金字塔的尖上。那我们最大堆的最大元素在根节点,只能移除根节点即50。移除根元素后不能随意的让30往上顶,这样就不满足完全二叉树。
  • 正确做法:将最后的叶子节点挪到根节点,然后子节点相互比较,最大值与父节点比较并交换,直到满足最大堆的条件。堆删除时间复杂度O(logn)。
  • 若删除中间元素,首先要遍历找到要删除的元素(n),跟末尾元素交换并删除,后再调整log(n)。由于二叉堆无顺,查找要消耗O(n),一般不推荐使用二叉堆进行查找。

请添加图片描述

堆创建、堆排序

由上堆删除可知:删除所有元素,并将元素放到删除后的空闲位置,就会发现数组已排序。
堆排序的时间复杂度是O(nlogn)、O(n)
请添加图片描述

优先级队列

数字本身就有优先级:

  • 数字大的优先级更高,那就使用最大堆进行分析
  • 数字小的优先级更高,那就使用最小堆进行分析(删除和插入)

这将是最好的数据结构,否则需要的可能是O(n),而现在是O(logn)。

归并排序

合并:两个及以上有序列表合并成一个有序列表的过程。

2-way merge sort

1.例子:有两个有序列表A,B,合成列表C
请添加图片描述

merge(A,B,m,n){i=1;j=1;k=1;while(i<=n && j<=m){if(A[i]<=B[j]){C[k]=A[i];k++;i++;}else{C[k]=B[j];k++;j++;}}for(;j<=m;j++){C[k]=B[j];k++;}
}

时间复杂度O(m+n)

2.M路合并:多个列表合并。采取的就是两两合并(2-way merge sort),可以任意两个如下:
请添加图片描述
请添加图片描述

merge sort

分而治之思想,先拆分后合并
请添加图片描述

优缺点

优点:

  • 适合大列表

  • 适合链表(可以在不创建新链表的情况下进行排序)
    请添加图片描述

  • 外部排序(每次带入一部分元素块进入主内存,主内存就不需要那么大空间)
    请添加图片描述

  • 稳定(同样的数字保持原来的顺序)

缺点:

  • 数组进行排序,需要额外的空间
  • 不适合小问题(元素很少,不需要拆分,那么会在递归上浪费时间。借用插入排序来得到结果)
  • 递归(会使用内存的堆栈,需要的堆栈空间=树高logn,再加上第一点的额外空间O(n+logn)渐进O(n))

快速排序

举例

遵循分而治之。
分区位置:某一元素左边的元素都比他小,右边都比他大,那么他就处于排序位置。
分区算法:找到分区位置,i是直到找到比核心更大的,j是直到找到比核心更小的,交换位置。过程如下:
请添加图片描述

//分区算法
partition(l,h){pivot=A[l];i=l;j=h;while(i<j){do{i++;}while(A[i]<=pivot);do{j--;}while(A[i]>pivot);swap(A[i],A[j]);}swap(A[l],A[j]);return j;
}//快速排序
QuickSort(l,h){if(l<h){j=partition(l,h);QuickSort(l,j-1);QuickSort(j+1,h);}
}

分析时间复杂度

best case-----O(nlogn) 分区后j一直取中间(这种情况很难遇见)
worst case—O(n2)
请添加图片描述

为了避免最坏情况可以一直选择中间作为核心元素,或随机选择核心元素
快速排序用了递归,占用堆栈空间logn 到 n(树高)

矩阵乘法

1.使用简单方法,三个循环,O(n3)
2.采用分而治之,最小单位就是小于等于2x2的矩阵,直接就用公式不用循环,公式的话是4行,可以说时间常数就是O(4)。
3.不满足的矩阵可以补0成为4x4,8x8等等的矩阵,然后采取分而治之。
请添加图片描述

mm(A,B,n){if(n<=2){c=4 formulas;}esle{//拆分再合并mid=n/2;mm(A11,B11,mid)+mm(A12,B21,mid);mm(A11,B12,mid)+mm(A12,B22,mid);mm(A21,B11,mid)+mm(A22,B21,mid);mm(A21,B12,mid)+mm(A22,B22,mid);}
}

分治算法的矩阵乘法也是O(n3),采用了递归还会额外占用堆栈
请添加图片描述


文章转载自:

http://38Nbd6TM.Lskrg.cn
http://28hRRB4Z.Lskrg.cn
http://EzguvRAv.Lskrg.cn
http://5bNGZMf1.Lskrg.cn
http://CfNOW5ql.Lskrg.cn
http://utReiTD2.Lskrg.cn
http://iVJhVUwA.Lskrg.cn
http://a0ZUywLt.Lskrg.cn
http://FO3jjypZ.Lskrg.cn
http://sThjaXKw.Lskrg.cn
http://bAhuJWxl.Lskrg.cn
http://cn96Jmsr.Lskrg.cn
http://hoeK3IHW.Lskrg.cn
http://1FhxEy4z.Lskrg.cn
http://Bd8ZvYHT.Lskrg.cn
http://YfRmHLys.Lskrg.cn
http://C1YhpTId.Lskrg.cn
http://IPmaWQY0.Lskrg.cn
http://NhMX3JuF.Lskrg.cn
http://E15Nd8gv.Lskrg.cn
http://X3N1dNG9.Lskrg.cn
http://5kBoHn5O.Lskrg.cn
http://1sf9Jdk1.Lskrg.cn
http://kldDASxu.Lskrg.cn
http://Gsp3A7Hc.Lskrg.cn
http://R7vo1XVj.Lskrg.cn
http://NizMTP6n.Lskrg.cn
http://pxvV9ERs.Lskrg.cn
http://l27WKGsC.Lskrg.cn
http://6FezwNBJ.Lskrg.cn
http://www.dtcms.com/wzjs/641398.html

相关文章:

  • 中国城乡建设厅网站首页河北拟建项目网
  • 网站开发设计报告微博图片怎么做外链到网站
  • 建设厅注册中心网站考试报名费缴费电商平台搭建八个步骤
  • 网站标题的设置方法免费 网站 如何做
  • 怎么选择企业建站公司深圳设计大学
  • 保定网站设计优势怎么做网站海报
  • 通河县机场建设网站百度指数爬虫
  • 怎么用百度云做网站空间搭建网页游戏服务器
  • 商城网站带宽控制百度一下你就知道官网网址
  • 聊城哪里可以学网站建设呢ui设计师是青春饭吗
  • 如何给网站做关键字企业信用管理系统
  • 做微秀的网站中国购物平台排名
  • 如何看一个网站的好坏免费安全建网站
  • 庆元县住房和城乡建设局网站wordpress自助广告
  • 网站规划与开发实训室建设方案传媒建站推荐
  • 长春网站公司wordpress小工具里页面
  • flash网站源码带后台一键优化图片
  • 广西网络电视上海优化网站方法
  • 郑州做网站的外包公司有哪些如何规范网站使用
  • 百度关键词搜索指数查询山西网站搜索排名优化公司
  • 网站内容资源建设小程序源码在哪个平台购买
  • 网站开发不懂英语中国免费广告发布网
  • 先进的网站设计公司卢沟桥网站建设
  • 专业免费网站建设哪里便宜大理州建设局官方网站
  • 湖南建立网站营销策划wordpress自定义菜单设置
  • 网站建设盈利模式如何建立网上销售平台
  • 美食分享网站怎么做天津建设工程信息网评标专家 终审
  • 长春网站建设费用十大舆情网站
  • 樊城网站建设扬中论坛最新
  • 中小企业网站建设行情硬件开发工程师职责