哈希表(hash)与映射(map)都是通过关键字(key)直接访问数据元素的值(value)的数据结构.
哈希表的原理是通过一个哈希函数对关键字进行某种运算,得到对应的数据元素在比哦啊中的存储位置,然后访问其值,与普通的有序表查找相比,额外的哈希处理会造成数据访问的开销,但是哈希表的查找时间是固定的,不随哈希表中数据元素的增多而变化,当数据元素非常多的时候,哈希表的查找速度会比普通有序表快.
图
不仅可以存储数据元素(对象),还可以存储数据元素之间的复杂关系,图的存储常采用邻接矩阵和邻接表方式,对于有向图,有时也采用十字链表方式.
在地图软件中选择两个点,软件会给出连接着两个点之间的最佳路线,这就要用到图的连通性判断和最短路径搜索算法.当有多条路径可以连接两个点的时候,软件还可以根据不同道路的实施交通拥堵情况,选择最快捷的道路,其实也就是为每条道路设置不同的权重,然后进行带权图的最优路径搜索.