• 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
  • 相关阅读:
    lambda表达式
    Java的MongoDB驱动及读写策略
    MongDB主从复制、复制集
    PL/SQL练习
    MySQL数据库MyISAM和InnoDB存储引擎的比较(转)
    Java的垃圾回收概述
    springMVC源码浅析
    ActiveMQ使用总结
    常用的缓存产品比较
    Nginx+tomcat负载均衡并动静态分离
  • 原文地址:https://www.cnblogs.com/yonglianglee/p/4541444.html
Copyright © 2020-2023  润新知