请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

链表实现Set集合

为什么set集合拿链表实现add方法 调用的是链表addFirst方法 而不是addLast方法

正在回答

1回答

liuyubobobo 2018-09-14 10:46:22

使用addLast也可以,不会改变LinkedListSet的add操作是O(n)复杂度这个事实:)因为我们都需要通过contains方法来确认当前链表内没有待添加元素,而contains方法是O(n)的。


但是由于我们自己实现的LinkedList没有维护尾指针,所以,在链表头添加元素是O(1)的,而在链表尾添加元素需要先扫描整个链表到最后的位置,再添加。所以单纯从addFirst和addLast的角度,我们实现的链表,addFirst是O(1)的,addLast是O(n)的:)


加油!:)

2 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信