`
wyzxzws
  • 浏览: 391771 次
  • 性别: Icon_minigender_1
  • 来自: dazhou
社区版块
存档分类
最新评论

查找表---提高性能

 
阅读更多

有些时候优化条件语句的最佳方案是避免使用if-else和switch。当的大量离散值需要测试时,if-else和switch都比使用查找表慢很多。js中可以用数组和普通对象来构造查找表,通过查找表访问数据比用if-else和swicth快很多,特别是在条件语句数量很大的时候。

 
switch(value) {
 case 0: return result0;
 case 1: return result1;
 case 2: return result2;
 case 3: return result3;
 case 4: return result4;
 case 5: return result5;
 case 6: return result6;
 case 7: return result7;
 case 8: return result8;
 case 9: return result9;
 default: return result0;
}

// 将返回值存入数组
var results = [result0,result0,result1,result2,result3,result4,result5,result6,
 result7,result8,result9,result10];
return results[value];
 

注:当你使用查找表时,必须完全抛弃条件判断语句。这个过程变成数组项查询或者对象成员查询。查找表一个主要优点是:不用书写任何判断语句,即便候选值数量增加时,也几乎不会产生额外的性能开销。

当单个键和单个值之间存在逻辑映射时,查找表的优势就能体现出来。switch语句更适合于每个键都需要对应一个独特的动作或一系列动作的场合。

分享到:
评论

相关推荐

    能二分查找的链表---跳表 的C++实现

    跳表是一种既支持快速查找,又支持动态插入删除的数据结构,它通过在链表的基础上增加链来提高查找的性能。本程序用C++实现了跳表的查找,插入跟删除操作。

    数据结构课程设计--动态查找表 二叉排序树

    在数据结构的学习中,动态查找表是一个至关重要的概念,它允许我们在数据集合中高效地进行插入、删除...通过学习和实践,我们可以掌握动态查找表的原理,以及如何在实际项目中有效地运用这些知识,提高数据处理的效率。

    基于python的查找算法-顺序查找Sequential Search

    虽然顺序查找的效率不理想,但可以通过一些策略来提高其性能: - **早停策略**:在找到目标值后立即停止查找,避免不必要的比较。 - **多线程**:如果数据量很大,可以将数据分成多个部分,在多个线程中并行进行查找...

    matlab开发-用于优化查找表的演示文件

    在MATLAB开发中,优化查找表(Optimized Look-Up Table,简称LUT)是一种常见的技术,用于提高计算效率和减少运行时间。查找表是预先计算好一组数据的存储结构,当需要快速获得特定输入对应的结果时,可以直接查询该...

    用VHDL实现查找表方式的FIR滤波器

    而利用查找表(LUT)的方法可以有效地减少乘法器的数量,从而降低硬件复杂度并提高计算效率。具体来说,LUT是一种预先计算好的存储结构,它可以存储滤波器系数与输入数据相乘后的结果。当输入数据发生变化时,只需要从...

    哈希函数ppt包括静态查找,动态查找表,哈希表

    - **有序表的查找**:有序表(如排序后的数组)可以使用二分查找提高效率。 - **索引顺序表的查找**:索引表结合了顺序查找和索引查找,通过索引快速定位到大致区域,然后在该区域内进行顺序查找。 2. **动态查找...

    哈希表-使用C++实现的哈希表-HashTable.zip

    哈希表是一种高效的数据结构,它通过特定的算法——哈希函数,将任意大小的键(key)映射到一个固定大小的数组中,从而实现快速查找、插入和删除操作。在C++中,虽然标准库没有直接提供哈希表的实现,但我们可以...

    静态查找表

    性能分析方面,如果采用顺序查找,平均查找长度为(Lb + Lw) = (n/s + s) / 2 + 1,其中Lb为确定块的平均查找长度,Lw为块内查找次数;如果采用折半查找,平均查找长度为Lb + Lw = log2(n/s + 1) + s/2。 #### 四、...

    数据结构实验报告-查找-B-树基本操作的实现-实验内容与要求

    B-树是一种自平衡的树数据结构,常用于数据库和文件系统中,具有高效的查找性能。 #### B-树定义与结构 B-树是一种多路搜索树,具有以下特性: - 每个节点可拥有多个子节点; - 所有的叶子节点都位于同一层; - ...

    记忆多项式查找表的实现 matlab

    记忆多项式查找表是一种高效的计算方法,特别是在处理重复计算或递归问题时,可以显著提高程序性能。在MATLAB环境中实现这种技术,可以帮助我们快速解决一些复杂度较高的数学计算问题。下面将详细介绍记忆多项式查找...

    数据结构实验报告-查找-B-树基本操作的实现 实验报告(含完整代码及测试)

    实验的主要目的是让学生深入理解B-树的插入、删除和查找算法,以及层次遍历的实现方式,巩固数据结构的知识,并提高实际编程能力。 在实现过程中,应考虑算法的效率和正确性,确保B-树的性质在整个操作过程中得到...

    第五章:查找-2021-31

    这种方法充分利用了B-树的平衡性质,降低了磁盘I/O次数,提高了查找效率。 总的来说,查找是数据结构与算法中的关键部分,而AVL树和B-树作为两种重要的查找数据结构,提供了高效的数据查找解决方案,尤其在处理大量...

    广工数据结构之动态查找表

    - **数据库索引**:数据库管理系统使用动态查找表提高数据查询速度。 - **软件缓存**:例如浏览器的历史记录、操作系统中的文件系统。 - **搜索引擎**:如谷歌的PageRank算法,涉及大规模数据的动态查找。 - **...

    数据结-构查找算法二分查找二叉顺序数哈希查找

    本章主要探讨了三种常见的查找算法:线性表的查找、树表的查找和哈希表的查找,以及它们的性能分析。 1. **二分查找**: 二分查找,也称为折半查找,适用于有序的线性表,如数组。算法的基本思路是将查找区间不断...

    数据结构学习---查找

    【数据结构学习---查找】 在计算机科学中,查找是一种基本的操作,用于在数据集合中寻找特定元素。...通过理解这些查找算法的原理、性能和适用场景,我们可以更好地优化数据处理过程,提高软件的效率。

    第五章:查找-2021-21

    查找的目的是在数据集合中寻找特定元素,高效地实现查找操作对于提高程序性能至关重要。本章将深入探讨查找的相关知识,主要涵盖以下几个方面: 1. **查找的基本概念**: 查找是指在数据结构(如数组、链表、树等...

    7-查找与排序-1.zip_查找

    3. 哈希查找:通过哈希函数将数据映射到一个固定大小的哈希表中,查找速度非常快,理想情况下可达到O(1)的时间复杂度。但哈希冲突可能导致性能下降。 4. 随机查找:在某些数据结构如数组中,可以使用索引直接访问...

    T-SQL性能调优秘笈 基于SQL Server 2012窗口函数_PDF电子书

    - **索引优化**:合理的索引可以显著提高查询效率,特别是在窗口函数涉及的表结构中。可以通过分析查询计划来确定是否需要添加、修改或删除索引。 - **查询优化**:通过调整WHERE子句、JOIN条件等方式来减少不必要的...

Global site tag (gtag.js) - Google Analytics