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
  • 相关阅读:
    TX2 刷机教程
    ROS2 树莓派SBC镜像安装
    OP3 默认ID图
    OP3 镜像恢复
    ROS2 BringUp
    学习笔记3:Linux面试题
    学习笔记2:Linux简单指令
    学习笔记1:Git简单指令
    编程小白入门分享五:Vue的自定义组件
    编程小白入门分享四:Vue的安装及使用快速入门
  • 原文地址:https://www.cnblogs.com/yonglianglee/p/4541444.html
Copyright © 2011-2022 走看看