当前位置:首页 > 日记 > 正文

javascript堆排序算法的详细解决方案

javascript堆排序算法的详细解决方案
堆排序分为两个过程:

1。堆桩。

堆本质上是一个完整的二叉树。它必须满足:树中非叶节点的任何键不大于或小于其左右两个孩子的关键字。

该堆分为:根堆和根堆堆、堆排序升序根、小堆堆序。

如果它是一个大的根堆,则通过调整函数将具有最大值的节点调整到堆根。

2、将堆保存在尾部,并将调整函数调用到剩余的序列中。调整完成后,最大鞋跟被保存在尾部- 1(- 1,- 2,…- I),然后剩余的序列被调整,并且过程被重复直到排序完成。

复制代码代码如下所示:

调整函数

功能headadjust(元素、POS,Len){

将保存当前节点的值。

var =元素};

位置到当前节点左子节点

var * = 2 + 1;

递归地,直到没有节点为止

当(子图){

如果当前节点有正确的子节点,以及大型场合的右子节点,则右子节点

与当前节点

如果(子+ 1 <元素} {子} <元素{子+ 1 }){

子=1;

}

当前节点和最大节点的比较小于交换、交换后当前节点位置的值。

在子节点中

如果(元素{ } } <元素{子}){

元素{ } } =元素{子};

儿童=;

子= 2 + 1;

}

别的{

打破;

}

元素{ } =交换;

}

}

施工桩

功能buildheap(元素){

节点从上一次启动带有子节点,比较节点及其子节点,

与节点交换的最大数目,经过交换,然后依次转发同一个节点进行交换处理,

直到构建了一个大的(升到堆顶,降到小顶部)

对于(var i =元素.长度 2;i = 0;i -){

headadjust(元素,我的元素。长度);

}

}

函数排序(元素){

施工桩

buildheap(元素);

从尾/序列调整开始

对于(var i = elements.length-1;我> 0;我--){

栈顶始终是最大的元素,因此,将是堆的顶部,尾部元素将交换。

存储在尾部的最大元素,不参与后面的调整。

var =元素{ };

元素{元素} { 0 };

元素{ 0 } =交换;

/调整最大调整到堆栈元素的顶部)

headadjust(元素、0、我);

}

}

var元素= { 3, 1, 5、7, 2, 4、9, 6, 10、8 };

console.log(在:+元素);

排序(元素);

console.log(':' +元素);
效率:

时间复杂度:最好的:O(Nlog2N),最差的:O(Nlog2N),平均O(Nlog2N)。

空间复杂度:o(1)。

稳定性:不稳定

相关文章

教你用ps把一个真实的三维立体图像

教你用ps把一个真实的三维立体图像

教你用,真实,立体图像,电脑软件,ps,本教程介绍给一位朋友,他使用PS向文本添加真实的三维立体反射。教程产生的效果非常好,难度也不是很大。建议像你这样的朋友可以在本教程中学习。 向文本添加反射不仅看起来更真实、更高,而且有助于逐步填充,…

如何添加页眉和页脚Word2003Word20

如何添加页眉和页脚Word2003Word20

教程,页眉,电脑软件,Word中的页眉和页脚功能可以在文档中添加各种注释,使我们的文档更具权威性。 步骤1、打开Word2003文档,选择菜单栏中的视图;;然后选择页眉和页脚;; 第二步,此时,虚拟边框将出现在页眉页脚,我们在虚拟边框中输入我们想要的内容…

岩石的PS技术:构图中元素的构成与应

岩石的PS技术:构图中元素的构成与应

元素,构图,岩石,技术,电脑软件,今天,我们将摇滚乐的方法和技巧,第十六子弹课,主要介绍图片的元素,以及如何应用这些元素,使图片内容更加合理和丰富。让我们一起来看看吧。 本教程将向您介绍图片制作中的元素以及如何应用这些元素使图片内容更加…

什么是手机QQ浏览器3gqq自动刷新的

什么是手机QQ浏览器3gqq自动刷新的

特权,浏览器,自动刷新,常见问题,电脑软件,手机QQ浏览器的自动刷新是什么;3gqq;特权 手机QQ浏览器的用户可以享受免费刷新功能,当他们用3GQQ聊天。设置自动刷新后,他们不需要经常刷新自己,这样您就可以更及时地与您的朋友进行交流。 温馨提示:设…

CDR软件如何制作条形码

CDR软件如何制作条形码

条形码,电脑软件,CDR,如何使用CDR作为条形码在工作中经常遇到条形码,萧百今天教你如何用CDR来制作条形码,有需要的朋友可以参考下。 条形码在他们的工作中经常遇到。今天,萧百教你如何使用CDR来制作条形码。 1,百度对条形码有很全面的解释,有很…

为什么手机QQ浏览器有时网速比较慢

为什么手机QQ浏览器有时网速比较慢

常见问题,浏览器,网速,比较慢,电脑软件,为什么手机QQ浏览器有时网速比较慢 由于地理区域、手机类型、移动网络等因素的限制,移动互联网接入的速度会受到不同程度的影响。如果您正在经历缓慢的Internet速度,建议您尝试清除电话缓存或更改环境…

经典失恋失恋个性签名

经典失恋失恋个性签名

个性签名,经典,电脑软件,以下是《超级失恋》经典人物签名的全部内容,由你自己编写。如果您喜欢小编辑器的建议,请继续关注它。 我说,我不是一个受伤的人,很长一段时间都不可能陷入萧条。 痛如思念,无尽蔓延。 眼睛的模糊掩盖了所谓的痛苦。 如果…

未来最成功的公司是科技公司还是设

未来最成功的公司是科技公司还是设

公司,设计公司,未来,电脑软件,多年来,技术界的普遍解决方案是建造更快的芯片。现在,这种设计已经取代了硅作为最终的答案。 穆尔的法律不再适用。 从2004和青蛙设计公司的收购,在过去的10年中,越来越多的技术公司都争相购买创意公司。例如,谷歌…

PS图象处理软件用魔术棒工具的使用

PS图象处理软件用魔术棒工具的使用

工具,图象,使用技巧,魔术,处理软件,下一个萧边是介绍使用PS图象处理软件用魔术棒工具的技能。本教程的介绍非常适合初学者。 魔术棒工具的作用和快速选择工具很相似。在这个经验中,我将分享使用魔术棒工具。下面的小编辑器介绍给你,看它! 方法…

教你用烟花画出美丽的芍药

教你用烟花画出美丽的芍药

芍药,画出,烟花,教你用,美丽,本教程是向大家介绍用烟花来画美丽的中国画牡丹花,画出来的牡丹花都很漂亮,而且方法也不是很难。他们可以转发,喜欢的朋友可以一起学习。 本教程介绍烟花的使用,画出美丽的画牡丹,画出牡丹花很漂亮,但方法并不难,只要…

Javascript白计算器

Javascript白计算器

计算器,电脑软件,Javascript,本文中的计算器代码非常简单,您可以很容易地将Web页面的特殊效果应用到您的项目中。 HTML 首先,我们在网页上输入一个输入框和几个计算器按钮。 C 像 % 我 七 八 九 + — 四 五 六 * 。 一 二 三…

PS教你用曲线来制作一幅电影的。

PS教你用曲线来制作一幅电影的。

曲线,一幅,教你用,电影,电脑软件,世界上有很多电影,所谓电影感(电影)的基调并没有绝对的答案,但欧美电影的主流,那种绿色的蓝色形象非常普遍,已经成为一种非常有意义的电影,许多颜色的眼睛,今天的照片教你如何产生电影视觉效果的感觉。 因为世界上…