zoukankan      html  css  js  c++  java
  • Runtime Complexity of .NET Generic Collection

    Runtime Complexity of .NET Generic Collection

     

    I had to implement some data structures for my computational geometry class. Deciding whether to implement the data structures myself or using the build-in classes turned out to be a hard decision, as the runtime complexity information is located at the method itself, if present at all. So I went ahead to consolidate all the information in one table, then looked at the source code in Reflector and verified them. Below is my result.

      Internal Implement- 
    ation
    Add/insert Add beyond capacity Queue/Push Dequeue/
    Pop/Peek
    Remove/ 
    RemoveAt
    Item[i]/Find(i) GetEnumerator MoveNext
    List Array O(1) to add, O(n) to insert O(n) - - O(n) O(1) O(1) O(1)
    LinkedList Doubly linked list O(1), before/after given node O(1) O(1) O(1) O(1), before/after given node O(n) O(1) O(1)
    Stack Array O(1) O(n) O(1) O(1) - - O(1) O(1)
    Queue Array O(1) O(n) O(1) O(1) - - O(1) O(1)
    Dictionary Hashtable with links to another array index for collision O(1), O(n) if collision O(n) - - O(1), O(n) if collision O(1), O(n) if collision O(1) O(1)
    HashSet Hashtable with links to another array index for collision O(1), O(n) if collision O(n) - - O(1), O(n) if collision O(1), O(n) if collision O(1) O(1)
    SortedDictionary Red-black tree O(log n) O(log n) - - O(log n) O(log n) O(log n) O(1)
    SortedList Array O(n) O(n) - - O(n) O(1) O(1) O(1)
    SortedSet Red-black tree O(log n) O(log n) - - O(log n) O(log n) O(log n) O(1)

    Note:

    Dictionary Add, remove and item[i] has expected O(1) running time
    HashSet Add, remove and item[i] has expected O(1) running time

     
    http://c-sharp-snippets.blogspot.com/2010/03/runtime-complexity-of-net-generic.html
  • 相关阅读:
    爬虫综合大作业
    爬取全部的校园新闻
    理解爬虫原理
    中文词频统计与词云生成
    复合数据类型,英文词频统计
    字符串操作、文件操作,英文词频统计预处理
    了解大数据的特点、来源与数据呈现方式
    大数据应用期末总评
    分布式文件系统HDFS 练习
    安装Hadoop
  • 原文地址:https://www.cnblogs.com/yonglianglee/p/4541444.html
Copyright © 2011-2022 走看看