A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 宋天琪 黑马帝   /  2011-11-14 16:58  /  3251 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 宋天琪 于 2012-2-2 12:10 编辑

哈希表与有序表的区别是什么,求解!

评分

参与人数 1技术分 +1 收起 理由
陈涛 + 1

查看全部评分

2 个回复

倒序浏览
对于以数组方式存贮的记录,如果数组中各个记录的次序是按其关键字值的大小顺序排列的,则称为有序数组或有序表
散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。


最大区别就是 哈希表是无序的,在查找或者创建表时 都要根据散列函数进行,目前最常用的哈希算法有MD5 和 SHA-1
而顺序表查找或者创建都要先判断关键字在表中的位置(一般采用二分查找进行)

评分

参与人数 1技术分 +1 收起 理由
陈涛 + 1

查看全部评分

回复 使用道具 举报
郑文 黑马帝 2011-11-14 20:01:52
藤椅
哈希表是根据哈希函数计算其索引  算法已经有.net解决了  有序表是根据KEY的排序存储数据。
我认为哈希表能快速定位数据 适合无规律的数据。
有序表 适合按某种顺序(大到小,等等)排列的数据。
选者时根据情况用就行

评分

参与人数 1技术分 +1 收起 理由
陈涛 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马