高薪算法+计算机职称考试数据结构和算法分析技术干货

算法图解五(散列表+广度优先搜索)

2019-10-27  本文已影响0人  Ron_罗恩

散列表

第一次见这三个字,还以为是什么高深的东西。吓得我赶紧仔细研读。

别名(散列映射,映射,字典,关联数组)

定义:

包含额外逻辑的数据结构,使用数列函数和数组创建的一种数据结构。数列函数作用是将输入映射到数字。

散列表是键和值的组成。

优点:

1)查找速度快 (大O算法 O(1))

2)防止重复

    在做映射之前,检查当前索引位置是否有值。如果有,就禁止插入。

3)缓存处理

    加快查询速度。

广度优先算法

作用:用最短步数,来找到你要的值。

算法剖析

如果我要从Tom,找到Sandy.

想象一下,第一层是Tom的朋友圈。Tom找了一圈都没有找到,叫Sandy的人。

Tom叫他的朋友,去找下他们朋友圈,有没有叫Sandy的人?

以此类推,最终找到了Sandy.

代码如下:

从标准库中调用了deque.(双向队列)。不了解的朋友,自行百度下,这里不展开说明。

PS:

如果你阅读之后,有所收获。请记得点赞哦。o(* ̄︶ ̄*)o。你的支持将是我写作的动力。

上一篇下一篇

猜你喜欢

热点阅读