专栏首页web前端教室js数据结构与算法--散列

js数据结构与算法--散列

不扯淡了,还是来学技术吧。

散列,是一种常用的数据存储技术,优势在于可以快速的插入或取出,使用它的数据结构,叫散列表。

它的优势哈,插入、删除、取用数据都很快,但对于查找却效率低下。

(书上原话,我不太懂,取用和查找不是一回事吗?不得找到了才能用么?)

散列表在JS里只能是基于数组来进行设计了。它的数据存储是和该元素对应的键,并保存在数组的特定位置。感觉和对象很类似。

在存储的时候,通过散列函数将键映射为一个数字,这个数的范围是0至散列表的长度。

说了半天,有点绕,我都有点晕。先上个图看看,

这个就是散列表,书中第88页,

这是一个简单的电话本,把名字d,u,r,r这四个字母的ASCII码加在一起,413(键)。就把散列值和名字Durr(值)对应起来了。

散列函数有时会重复,因为也许会有另外几个字母的ascii值相加也等于413,这就是把二个键映射成一个值了,这就叫碰撞

另外一个知识点就是,编写散列函数时对数组大小的考虑,一般来讲,数组长度应该是个质数。

/****/

质数:指整数在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。

--百度查的

javascript 算法初识

本文分享自微信公众号 - web前端教室(webfeel),作者:老尚

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2016-03-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 闲聊javascript设计模式 - 单例模式

    闲聊javascript设计模式 - 单例模式 最近在写电商网站的过程中,遇到了许多问题,也有很多遗憾的地方, 这几天一直在回忆开发的过程,现在想来有许多地方应...

    web前端教室
  • javascript填坑之排序

    image.png 排序嘛,很多同学一听这个就怕怕,尤其是数学不OK的同学。 现在的许多技术类教程吧,偏见来了啊,注意姿势,很多技术教程写的都太吊了,完全看不...

    web前端教室
  • 新人学前端,怎么确定目标的阶段性比较好?

    学前端怎么确定目标,这类文章网上有许多。但关于这个问题,我也有自己的想法呀,所以我今天也想写一篇这个方面的文章。 今天在零基础前端课上,有一个问题,我觉得非常好...

    web前端教室
  • 点击 下载文件保存

    创建一个a标签,将URL写进href属性。再给这个a标签加上download属性,然后触发点击,一般浏览器就可以开启下载了。

    小蔚
  • 机器学习中踩过的坑,如何让你变得更专业?

    数据科学家Archy de Berker 在本文中详述了他和周围同伴在机器学习探索中踩过的坑,这也都是大家经常性遇到的问题。他 希望通过这一篇文章,带大家了解机...

    代码医生工作室
  • 机器学习中踩过的坑,如何让你变得更专业?

    数据科学家Archy de Berker 在本文中详述了他和周围同伴在机器学习探索中踩过的坑,这也都是大家经常性遇到的问题。他 希望通过这一篇文章,带大家了解机...

    AI科技评论
  • Java设计模式-状态模式

    状态模式: 允许一个对象在其内部状态改变时改变其行为, 其对象看起来像是改变了其类. ? (图片来源: 设计模式:可复用面向对象软件的基础) 其目的是: ...

    奋斗蒙
  • “夸夸群”5分钟20块?!手把手教你定制一款专属夸夸机器人

    为了给女友惊喜,男友把她拉进一个百人群,结果整整夸了她三分钟。简直就是一个大型彩虹屁现场了。

    大数据文摘
  • 夸夸群5分钟20块?教你用Python定制一款专属夸夸机器人

    导读:最近你有没有被各种“夸夸群”刷屏?还有电商平台商家还推出了“夸人服务”,5分钟20块。什么?不想花钱?那你可以用Python定制一款专属夸夸机器人……

    华章科技
  • “夸夸群”5分钟20块?!手把手教你定制一款专属夸夸机器人

    为了给女友惊喜,男友把她拉进一个百人群,结果整整夸了她三分钟。简直就是一个大型彩虹屁现场了。

    数据森麟

扫码关注云+社区

领取腾讯云代金券