小杨采用如下双链表结构保存他喜欢的歌曲列表:
struct dl_node {
string song;
dl_node* next;
dl_node* prev;
};
小杨想在头指针为 head 的双链表中查找他喜欢的某⾸歌曲,采用如下查询函数,该操作的时间复杂度为( )。
dl_node* temp = head;
while (temp != nullptr) {
if (temp->song == my_song)
return temp;
temp = temp->next;
}
return nullptr;
}
O(1)
O(n)
O(log n)
O(n2)