做网站做哪个好网页升级中

news/2025/10/5 19:56:31/文章来源:
做网站做哪个好,网页升级中,西安百度推广运营公司,cms管理前言今天让我们来继续聊一聊js算法#xff0c;通过接下来的讲解#xff0c;我们可以了解到搜索算法的基本实现以及各种实现方法的性能#xff0c;进而发现for循环#xff0c;forEach#xff0c;While的性能差异#xff0c;我们还会了解到如何通过web worker做算法分片通过接下来的讲解我们可以了解到搜索算法的基本实现以及各种实现方法的性能进而发现for循环forEachWhile的性能差异我们还会了解到如何通过web worker做算法分片极大的提高算法的性能。同时我还会简单介绍一下经典的二分算法哈希表查找算法但这些不是本章的重点之后我会推出相应的文章详细介绍这些高级算法感兴趣的朋友可以关注我的专栏或一起探讨。对于算法性能我们还是会采用上一章《前端算法系列》如何让前端代码速度提高60倍中的getFnRunTime函数大家感兴趣的可以查看学习这里我就不做过多说明。在上一章《前端算法系列》如何让前端代码速度提高60倍我们模拟了19000条数据这章中为了让效果更明显我将伪造170万条数据来测试不过相信我对js来说这不算啥。。。1.for循环搜索基本思路通过for循环遍历数组找出要搜索的值在数组中的索引并将其推进新数组代码实现如下const getFnRunTime require(./getRuntime);/*** 普通算法-for循环版* param {*} arr * 耗时7-9ms*/function searchBy(arr, value) {let result [];for(let i 0, len arr.length; i len; i) {if(arr[i] value) {result.push(i);}}return result}getFnRunTime(searchBy, 6)测试n次稳定后的结果如图2.forEach循环基本思和和for循环类似/*** 普通算法-forEach循环版* param {*} arr * 耗时21-24ms*/function searchByForEach(arr, value) {let result [];arr.forEach((item,i) {if(item value) {result.push(i);}})return result }耗时21-24毫秒可见性能不如for循环先暂且这么说哈本质也是如此。3.while循环代码如下/*** 普通算法-while循环版* param {*} arr * 耗时11ms*/function searchByWhile(arr, value) {let i arr.length,result [];while(i) {if(arr[i] value) {result.push(i);}i--;}return result }可见while和for循环性能差不多都很优秀但也不是说forEach性能就不好就不使用了。foreach相对于for循环代码减少了但是foreach依赖IEnumerable。在运行时效率低于for循环。但是在处理不确定循环次数的循环或者循环次数需要计算的情况下使用foreach比较方便。而且foreach的代码经过编译系统的代码优化后和for循环的循环类似。4.二分法搜索二分法搜索更多的应用场景在数组中值唯一并且有序的数组中这里就不比较它和for/while/forEach的性能了。基本思路从序列的中间位置开始比较如果当前位置值等于要搜索的值则查找成功若要搜索的值小于当前位置值则在数列的前半段中查找若要搜索的值大于当前位置值则在数列的后半段中继续查找直到找到为止代码如下/*** 二分算法* param {*} arr * param {*} value */function binarySearch(arr, value) {let min 0;let max arr.length - 1;while (min max) {const mid Math.floor((min max) / 2);if (arr[mid] value) {return mid;} else if (arr[mid] value) {max mid - 1;} else {min mid 1;}}return Not Found;}在数据量很大的场景下二分法效率很高但不稳定这也是其在大数据查询下的一点小小的劣势。5.哈希表查找哈希表查找又叫散列表查找通过查找关键字不需要比较就可以获得需要记录的存储位置它是通过在记录的存储位置和它的关键字之间建立一个确定的对应关系f使得每个关键字key对应一个存储位置fkey哈希表查找的使用场景 哈希表最适合的求解问题是查找与给定值相等的记录 哈希查找不适合同样的关键字对应多条记录的情况 * 不适合范围查找比如查找年龄18~22岁的同学在这我先给出一个最简版的hashTable方便大家更容易的理解哈希散列/*** 散列表* 以下方法会出现数据覆盖的问题*/ function HashTable() {var table [];// 散列函数var loseloseHashCode function(key) {var hash 0;for(var i0; ikey.length; i) {hash key.charCodeAt(i);}return hash % 37};// putthis.put function(key, value) {var position loseloseHashCode(key);table[position] value;}// getthis.get function(key) {return table[loseloseHashCode(key)]}// removethis.remove function(key) {table[loseloseHashCode(key)] undefined;} }该方法可能会出现数据冲突的问题不过也有解决方案由于这里涉及的知识点比较多后期我会专门推出一篇文章来介绍开放定址法二次探测法随机探测法使用web worker优化通过以上的方法我们已经知道各种算法的性能和应用场景了我们在使用算法时还可以通过web worker来优化让程序并行处理比如将一个大块数组拆分成多块让web worker线程帮我们去处理计算结果最后将结果合并通过worker的事件机制传给浏览器效果十分显著。总结对于复杂数组查询for/while性能高于forEach等数组方法二分查找法的O(logn)是一种十分高效的算法。不过它的缺陷也很明显必须有序我们很难保证我们的数组都是有序的。当然可以在构建数组的时候进行排序可是又落到了第二个瓶颈上它必须是数组。数组读取效率是O(1)可是它的插入和删除某个元素的效率却是O(n)。因而导致构建有序数组的时候会降低效率。哈希表查找的基本用法及使用场景。条件允许的话我们可以用web worker来优化算法让其在后台并行执行。好啦这篇文章虽然比较简单但十分重要希望大家对搜索算法有更加直观的认识也希望大家有更好的方法一起探讨交流。接下来会推出更多优秀的算法敬请期待哦最后欢迎加入前端技术群一起探讨前端的魅力更多推荐如何快速掌握es6新特性及核心语法前端开发中79条不可忽视的知识点汇总15条前端必备的性能优化方法你知道哪些如何用css3实现惊艳面试官的背景动画高级附源码用webpack4.0撸单页/多页脚手架(jquery,react,vue,typescript)《javascript高级程序设计》核心知识总结vue高级进阶系列——用typescript玩转vue和vuex

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/928666.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025钢球厂家最新企业品牌推荐排行榜,轴承钢球,不锈钢球,碳钢球,精密钢球,440C不锈钢球推荐这十家公司!

在钢球行业,随着市场需求的不断增长,各类钢球服务商如雨后春笋般涌现,但行业内也存在着诸多问题。产品质量参差不齐是突出问题之一,部分服务商为追求利润,在原材料选择和生产工艺上偷工减料,导致钢球精度不足、耐…

做门户网站预算wordpress ftp账户

目 录 一、背景介绍 (一)网络技术的时代 (二)以太网技术脱颖而出 二、以太网的工作原理 (一)、载波侦听多路访问(CSMA/CD) 1、数据发送流程 2、发送过程解析 3、…

2025 年工业提升门厂家最新企业品牌推荐排行榜,汇峰节能科技彰显行业影响力!

在工业快速发展的当下,工业提升门作为工业建筑中不可或缺的重要组成部分,其性能与质量直接影响着企业的生产效率、安全保障及运营成本。然而,当前市场上工业提升门品牌众多,产品质量参差不齐,部分产品存在材质不过…

网站怎么屏蔽ip访问电子商务网站建设方案案例

【Pandas】驯化-01一文介绍 Pandas中的Dataframe和Series 区别 本次修炼方法请往下查看 🌈 欢迎莅临我的个人主页 👈这里是我工作、学习、实践 IT领域、真诚分享 踩坑集合,智慧小天地! 🎇 相关内容文档获取 微信公众…

什么是偏微分方程?

什么是偏微分方程?变量的偏导数不止一个。

做个网站要花多少钱陕西建新建设有限公司网站

http://blog.csdn.net/snow_5288/article/details/52561882 问题描述: /*有一群猴子,去摘了一堆桃子*/ /*商量之后决定每天吃剩余桃子的一半*/ /*当每天大家吃完桃子之后,有个贪心的小猴都会偷偷再吃一个桃子*/ /*按照这样的方式猴子们每天都…

2025 权威推荐!电梯源头品牌 TOP5 排行榜:实力厂家精选,品质之选不容错过

引言随着电梯需求日益多元化,从家用别墅到公共场馆,市场对产品安全、节能、适配性的要求不断提升。但当前部分电梯厂家存在技术滞后、定制能力不足、售后覆盖不全等问题,给用户选购带来困扰。为此,结合厂家生产实力…

钉钉红包性能优化之路 - 实践

钉钉红包性能优化之路 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco"…

SQLite详细解读 - 实践

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

IIS反向代理tomcat

由于我的网站是IIS搭建的,而某些项目必须使用Tomcat进行部署,所以就有了这次实践。主要解决以下问题问题1:IIS和tomcat的2各网站使用的端口不同,但是希望使用二级域名来访问,而不是通过端口号来访问问题2:不希望…

2025混合机厂家最新企业品牌推荐排行榜,高效盘条式混合机,无重力混合机,犁刀式混合机,锥形混合机,卧式螺带混合机推荐这十家公司!

在粉体设备行业中,混合机作为关键设备,其性能与质量直接影响着众多下游产业的生产效率与产品品质。当前,市场上混合机品牌数量众多,产品种类繁杂,质量参差不齐,给企业的选购带来了诸多困扰。一些品牌的混合机存在…

2025离心泵厂家最新企业品牌推荐排行榜! 卧式离心泵,化工离心泵,多级离心泵,卧式多级离心泵,不锈钢离心泵推荐这十家公司!

在工业领域中,离心泵作为流体输送的关键设备,广泛应用于化工、石油、电力、冶金等诸多行业。然而,随着市场的不断发展,离心泵制造商如雨后春笋般涌现,产品质量与技术水平参差不齐。如何在众多制造商中挑选出技术先…

Axure-元件流程图 - 指南

Axure-元件&流程图 - 指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco"…

2025真空炉厂家最新企业品牌推荐排行榜,高温烧结真空炉,真空退火炉,智能铍铜真空炉推荐这十家公司!

在工业生产领域,真空炉作为关键的热处理设备,其性能与质量直接影响着众多行业的生产效率与产品品质。随着工业 4.0 的深入推进以及半导体、5G 通信、航空航天等高端产业的快速发展,市场对真空炉的需求日益增长,同时…

【论文阅读】Dolphin: Document Image Parsing via Heterogeneous Anchor Prompting - 实践

【论文阅读】Dolphin: Document Image Parsing via Heterogeneous Anchor Prompting - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !import…

2025 --【J+S 二十连测】-- 第二套 总结

总结 T1 T2 T3 很快就写出来了,没什么大问题。 T4 T5 没有写出来,下来有个非常巧妙的思路。 题解 T1 我们只需要横纵坐标最小的,最大的那些点。然后把它们全部照在一起,那就可以了。 代码 #include<bits/stdc++…

2025 蒸发器厂家最新企业品牌推荐排行榜,江苏纵横携手知名品牌,彰显蒸发器公司行业影响力

在当前的工业生产领域,蒸发器作为重要的设备,广泛应用于食品发酵、化工、医药、环保等多个行业。然而,市场上蒸发器厂商数量众多,产品质量参差不齐,技术水平也存在较大差异,给企业在选购时带来了诸多困扰。部分厂…

如何将 WSL 的 Ubuntu-24.04 迁移到其他电脑 - 详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

题解:Luogu P11976 [KTSC 2021] 通信网络 / communication

一些约定 下文中的 \(x\) 的祖先,都指位于 \(\bm{fa_x}\) 到根节点路径上的点(也就是不包括 \(x\))。 对于无向图 DFS 生成树中的一条返祖边,我们称深度较浅的那端为上端点,深度较深的那端为下端点。 题意 对于一…

弦振动方程

弦振动方程 参考:https://chat.deepseek.com/a/chat/s/36c8bd34-0600-4a94-be96-8363d028df9d