卜若的代码笔记-数据结构系列-第五章:链表-三四章中链表元素的add函数的性能严重错误分析及其修改
1.来看三四章中的add函数的实现
你是否感觉到问题呢?
如果只添加一个元素,通常情况下,你感觉不到,但是,如果我添加n个元素,你觉得时间复杂度是多少呢?
1+2+3+4+...+n!
所以时间复杂度是o(n!)
这对性能来讲是很糟糕的一件事情。
所以,就添加函数来讲,我们不希望这样做,我们只需要在尾巴上添加就好,而不用每一次都去寻找。
修改后的构造
修改后的add函数
你是否感觉到问题呢?
如果只添加一个元素,通常情况下,你感觉不到,但是,如果我添加n个元素,你觉得时间复杂度是多少呢?
1+2+3+4+...+n!
所以时间复杂度是o(n!)
这对性能来讲是很糟糕的一件事情。
所以,就添加函数来讲,我们不希望这样做,我们只需要在尾巴上添加就好,而不用每一次都去寻找。
修改后的构造
修改后的add函数