用单链表保存 m 个整数,结点的结构为:[data][link],且|data|≤n(n 为正整数)。现 要求设计一个时间复杂度尽可能高效的算法,对于链表中 data 的绝对值相等的结点,仅保留第一次出 现的结点而删除其余绝对值相等的结点。例如,若给定的单链表 head 如下: 则删除结点后的 head 为: 要求:  1)给出算法的基本设计思想。  2)使用 C 或 C++语言,给出单链表结点的数据类型定义。 3)根据设计思想,采用 C 或 C++语言描述算法,关键之处给出注释。  4)说明你所设计算法的时间复杂度和空间复杂度。-笔试面试资料

这是qklbishe.com第19153 篇笔试面试资料
提供答案分析,通过本文《用单链表保存 m 个整数,结点的结构为:[data][link],且|data|≤n(n 为正整数)。现 要求设计一个时间复杂度尽可能高效的算法,对于链表中 data 的绝对值相等的结点,仅保留第一次出 现的结点而删除其余绝对值相等的结点。例如,若给定的单链表 head 如下:
则删除结点后的 head 为:

要求:  1)给出算法的基本设计思想。  2)使用 C 或 C++语言,给出单链表结点的数据类型定义。 3)根据设计思想,采用 C 或 C++语言描述算法,关键之处给出注释。  4)说明你所设计算法的时间复杂度和空间复杂度。-笔试面试资料》可以理解其中的代码原理,这是一篇很好的求职学习资料
本站提供程序员计算机面试经验学习,笔试经验,包括字节跳动/头条,腾讯,阿里,美团,滴滴出行,网易,百度,京东,小米,华为,微软等互联网大厂真题学习背诵。

答案:

用单链表保存 m 个整数,结点的结构为:[data][link],且|data|≤n(n 为正整数)。现 要求设计一个时间复杂度尽可能高效的算法,对于链表中 data 的绝对值相等的结点,仅保留第一次出 现的结点而删除其余绝对值相等的结点。例如,若给定的单链表 head 如下:
用单链表保存 m 个整数,结点的结构为:[data][link],且|data|≤n(n 为正整数)。现 要求设计一个时间复杂度尽可能高效的算法,对于链表中 data 的绝对值相等的结点,仅保留第一次出 现的结点而删除其余绝对值相等的结点。例如,若给定的单链表 head 如下:          则删除结点后的 head 为:                要求:     1)给出算法的基本设计思想。     2)使用 C 或 C++语言,给出单链表结点的数据类型定义。    3)根据设计思想,采用 C 或 C++语言描述算法,关键之处给出注释。     4)说明你所设计算法的时间复杂度和空间复杂度。
则删除结点后的 head 为:
用单链表保存 m 个整数,结点的结构为:[data][link],且|data|≤n(n 为正整数)。现 要求设计一个时间复杂度尽可能高效的算法,对于链表中 data 的绝对值相等的结点,仅保留第一次出 现的结点而删除其余绝对值相等的结点。例如,若给定的单链表 head 如下:          则删除结点后的 head 为:                要求:     1)给出算法的基本设计思想。     2)使用 C 或 C++语言,给出单链表结点的数据类型定义。    3)根据设计思想,采用 C 或 C++语言描述算法,关键之处给出注释。     4)说明你所设计算法的时间复杂度和空间复杂度。
要求: 
1)给出算法的基本设计思想。 
2)使用 C 或 C++语言,给出单链表结点的数据类型定义。
3)根据设计思想,采用 C 或 C++语言描述算法,关键之处给出注释。 
4)说明你所设计算法的时间复杂度和空间复杂度。
用单链表保存 m 个整数,结点的结构为:[data][link],且|data|≤n(n 为正整数)。现 要求设计一个时间复杂度尽可能高效的算法,对于链表中 data 的绝对值相等的结点,仅保留第一次出 现的结点而删除其余绝对值相等的结点。例如,若给定的单链表 head 如下:          则删除结点后的 head 为:                要求:     1)给出算法的基本设计思想。     2)使用 C 或 C++语言,给出单链表结点的数据类型定义。    3)根据设计思想,采用 C 或 C++语言描述算法,关键之处给出注释。     4)说明你所设计算法的时间复杂度和空间复杂度。 区块链毕设学生763152612号
node* delete_elem(node* head) {     if(head==null||head->next==null)return head;     node *p=head,*q=p->next;     int *s=new int [n+1];     int i=0;     for(;i<n+1;i++)     {         s[i]=0;     }     while(q)     {        if(s[abs(q->data)]==1)         {             p->next=q->next;             delete q;             q=p->next;         }         else         {             s[abs(q->data)]=1;             p=p->next;             q=q->next;         }     }     return head; }

今天 14:59:40 回复(0)

文章部分来自互联网,侵权联系删除
www.qklbishe.com

区块链毕设网(www.qklbishe.com)全网最靠谱的原创区块链毕设代做网站
部分资料来自网络,侵权联系删除!
资源收费仅为搬运整理打赏费用,用户自愿支付 !
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台 » 用单链表保存 m 个整数,结点的结构为:[data][link],且|data|≤n(n 为正整数)。现 要求设计一个时间复杂度尽可能高效的算法,对于链表中 data 的绝对值相等的结点,仅保留第一次出 现的结点而删除其余绝对值相等的结点。例如,若给定的单链表 head 如下: 则删除结点后的 head 为: 要求:  1)给出算法的基本设计思想。  2)使用 C 或 C++语言,给出单链表结点的数据类型定义。 3)根据设计思想,采用 C 或 C++语言描述算法,关键之处给出注释。  4)说明你所设计算法的时间复杂度和空间复杂度。-笔试面试资料

提供最优质的资源集合

立即查看 了解详情