字典跟二维数组区别有哪些?
哈希表,是根据数据的hash值进行查找的。特点是查询速度很快,计算一下hash值,然后就可以找到存储位置了,再在存储位置里找要查询的值。虽然查找速度快,但是有一个缺点,哈希表不能进行范围查找,只能等值查询。比如你可以找表里等于100的数据,但是你不能查询表里大于100的数据。
字典,一般就是指排序索引。特点是速度适中,虽然没有哈希表那么快,但是只要用好了分段、二分等算法,查询起来也不是很慢。而且,这个可以进行范围查询,因为是有序的,索引很容易就找出来大于100的所有数据。
二维数组,本身不是一种用于查询的结构,而是用来存储数据的结构,是前两者的服务目标。可以这么使用,用数组,或二维数组,或者文件来存储数据。如果要对这些数据进行快速查询,则对这些数据建立哈希表或者字典。