Time Complexity in singly link list

前端 未结 3 2030
栀梦
栀梦 2021-02-14 14:13

I am studying data-structure: singly link list.

The website says singly linked list has a insertion and deletion time complexity of O(1). Am I missing some

3条回答
  •  余生分开走
    2021-02-14 14:53

    I do this in C++, and I only have a root pointer. If I want to insert at the end, then I have to travel all the way to the back, which means O(n).

    That's two operations, you first search O(n) the list for given position, then insert O(1) element into the list.

    In a single linked list, the operation of insertion consists of:

    • alternating pointer of previous element

    • wrapping object into data structure and setting its pointer to next element

    Both are invariant to list size.

    On the other hand, take for example a heap structure. Insertion of each element requires O(log(n)) operations for it to retain its structure. Tree structures have similar mechanisms that will be run upon insertion and depend on current tree size.

提交回复
热议问题