none
HashTable的存取速度是线性无关的吗 RRS feed

  • 问题

  • HashTable的存取速度是线性无关的吗?就是说不管里面有多少数据,他的存取速度都是一样的。
    虽然我的数据不多,还是问一下,因为如果有关的,我就不如用数组了。
    (不好意思,我说怎么没人回复,一看把关字打成了磁字)
    2009年10月23日 7:59

答案

  • 你先了解HashTable是干什么用的 每个集合类型都有自己特点
    你说这个类型是属于字典  读取需要key素引方式来读取
    arraylist是基本类型集合合适1.X的net  2.0的 被list泛型取代了 性能上改善一些
    数组基本上合适小型数据类型 易管理操作
    速度方面感觉不到差距 不要看一个方面决定速度问题  主要看你设计总体结构是否良好设计决定程序速度
    • 已标记为答案 male110 2009年10月24日 0:40
    2009年10月23日 10:19
  • 你好!
         理论上来说,HashTable能提供常数时间复杂度,也就是不会随着数据的增多插入和查找的时间!
    周雪峰
    • 已标记为答案 male110 2009年10月24日 0:40
    2009年10月23日 12:02
    版主
  • 看是什么存取方法了。按hash查找的话是log2(n)。自己找本数据结果的书看看吧

    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful.
    Visual C++ MVP
    • 已标记为答案 male110 2009年10月24日 0:40
    2009年10月23日 20:20
    版主

全部回复

  • 数据变多,速度会受影响。但 HashTable 或 Dictionary<TKey,TValue> 比数据提供了更多的方法,你的数据不多,这种差异你是感觉不到的。
    知识改变命运,奋斗成就人生!
    2009年10月23日 9:41
    版主
  • 我是想是用HashTable呢,还是自己定一个数组呢。
    是HashTable的速度快呢,还是ArrayList的速度快呢?还是string[]快呢?
    2009年10月23日 9:53
  • 你先了解HashTable是干什么用的 每个集合类型都有自己特点
    你说这个类型是属于字典  读取需要key素引方式来读取
    arraylist是基本类型集合合适1.X的net  2.0的 被list泛型取代了 性能上改善一些
    数组基本上合适小型数据类型 易管理操作
    速度方面感觉不到差距 不要看一个方面决定速度问题  主要看你设计总体结构是否良好设计决定程序速度
    • 已标记为答案 male110 2009年10月24日 0:40
    2009年10月23日 10:19
  • 你好!
         理论上来说,HashTable能提供常数时间复杂度,也就是不会随着数据的增多插入和查找的时间!
    周雪峰
    • 已标记为答案 male110 2009年10月24日 0:40
    2009年10月23日 12:02
    版主
  • 看是什么存取方法了。按hash查找的话是log2(n)。自己找本数据结果的书看看吧

    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful.
    Visual C++ MVP
    • 已标记为答案 male110 2009年10月24日 0:40
    2009年10月23日 20:20
    版主