在n个结点的顺序表中,算法的时间复杂度是 0(1)的操作是【】
A. 访问第i个结点K(i< n)和求第i个结点的直接前驱(2 < i < n)
B. 在第i个结点后插入一个新结点K(i < n)
C. 删除第i个结点K( i < n)
D. 将n个结点从小到大排序
查看答案
给出下面算法的功能描述:struct Node;typedef struct Node *PNode;struct Node{datatype info;PNode link;};typedef struct Node *linklist;int test(linklist &list, datatype value){linklist tmp=list;int m=0;while(tmp!=null){if (tmp->info==value) m++;tmp=tmp->link;}return m;}
设计双向链表中插入结点的算法,并分析算法的时间复杂度。
设计双向链表中删除结点的算法,并分析算法的时间复杂度。
设计算法将两个循环单链表融合成一个循环单链表,并分析算法的时间复杂度。