黑马程序员技术交流社区

标题: 哈希表与有序表的区别 [打印本页]

作者: 宋天琪    时间: 2011-11-14 16:58
标题: 哈希表与有序表的区别
本帖最后由 宋天琪 于 2012-2-2 12:10 编辑

哈希表与有序表的区别是什么,求解!
作者: 吴春晟    时间: 2011-11-14 17:44
对于以数组方式存贮的记录,如果数组中各个记录的次序是按其关键字值的大小顺序排列的,则称为有序数组或有序表
散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。


最大区别就是 哈希表是无序的,在查找或者创建表时 都要根据散列函数进行,目前最常用的哈希算法有MD5 和 SHA-1
而顺序表查找或者创建都要先判断关键字在表中的位置(一般采用二分查找进行)
作者: 郑文    时间: 2011-11-14 20:01
哈希表是根据哈希函数计算其索引  算法已经有.net解决了  有序表是根据KEY的排序存储数据。
我认为哈希表能快速定位数据 适合无规律的数据。
有序表 适合按某种顺序(大到小,等等)排列的数据。
选者时根据情况用就行





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2