感觉单链表是实现BCL ICollection 的最佳方式,所有操作都能以最小的时间复杂度完成

2020年2月10日更新 当我胡说八道,List是最好的


public interface ICollection<T> : IEnumerable<T>, IEnumerable
{
    int Count { get; }//通过跟踪数量可以实现O(1)
    bool IsReadOnly { get; }//O(1)
 
    void Add(T item);//记录尾元素实现O(1)
    void Clear();//清除首尾元素O(1)
    bool Contains(T item);//O(N)
    void CopyTo(T[] array, int arrayIndex);//O(N)
    bool Remove(T item);//这个本来最小就只能O(N)
  IEnumerator<T> GetEnumerator();
//这个没啥可说的
}

双链表增大了空间复杂度,我觉得不好

posted @ 2019-02-12 15:13  yinyue200  阅读(156)  评论(0编辑  收藏  举报
知识共享许可协议
本博客原创内容默认采用知识共享署名 4.0 国际许可协议进行许可。