循环链表的主要优点是
展开全部
问题一:循环链表的主要优点是 循环链表的特点是无须增加存储量,仅对表的链接方式稍作改变,即可使得表处理更加方便灵活。①循环链表中没有NULL指针。涉及遍历操作时,其终止条件就不再是像非循环链表那样判别p或p->next是否为空,而是判别它们是否等于某一指定指针,如头指针或尾指针等。 ②在单链表中,从一已知结点出发,只能访问到该结点及其后续结点,无法找到该结点之前的其它结点。而在单循环链表中,从任一结点出发都可访问到表中所有结点,这一优点使某些运算在单循环链表上易于实现。
问题二:循环单链表的判空条件与其好处 head->next == head
优点是从任一个结点出发都能访问到其他所有结点
问题三:a=(1+n)^120 b=565*119 (565*a-b)*a-(565*a-b)=17628 习题1 一、选择题 1计算机算法必须具备输入、输出、()等5个特性。 A可行性、可移植性和可扩展性B可行性、确定性和有穷性 C确定性、有穷性和稳定性D易读性、安全性和稳定性 2在数据结构中,从逻辑上可以把数据结构分为() A动态结构和静态结构B紧凑结构和非紧凑结构 C内容结构和外部结构D线性结构和非线性结构 3下面程序段的时间复杂性的量级为() For(i=1;i,,,,,} (2)B=(K,R),其中 K={a,b,c,d,e,f,g,h} R={r} r={,,,,,,} (3)B=(K,R),其中 K={1,2,3,4,5,6} R={r} r={(1,2),(2,3),(2,4),(3,4),(3,5),(3,6),(4,5),(4,6)} 三、计算题 设n为整数,求下列各程序段的时间复杂度 (1)i=1;k=2; While(ij)j=j+1; Elsei=i+1; (3)x=91;y=100 While(y>0) If(x>100){ x=x-10; y=y-1; }elsex=x+1; 习题2 一、选择题 1线性表是() A一个有限序列,可以为空B一个有限序列,不能为空 C一个无限序列,可以为空D一个无限序列,不能为空 2在一个长度为n的顺序表中,向第iI个元素(1≤i≤n+1)位置插入一个新元素时,需要从后向前依次后移()个元素。 An-iBn-i+1Cn-i-1Di 3在一个顺序表的表尾插入一个元素的时间复度的量级为()。 AO(n)BO(1)CO(n2)DO(logn) 4表长为n的顺序存储的线性表,当在任意位置上插入或删除一个元素的概率相等时,插入一个元素所需移动元素的平均个数为(),删除一个元素需要移动元素的平均个数为() A(n-1)/2BnC(n+1)/2Dn/2 5设单链表中指针p指向结点a,若要删除p之后的结点(若存在),则需修改指针的操作为()。 Ap->next=p->next->nextBp=p->next Cp=p->next->nextDnext=p 6单链表的存储密度为()。 A大于1B等于5C小于1D不能确定 7在一个单链表中,若要在p所指向的结点之后插入一个新结点,则需要相继修改()个指针域的值。 A1B2C3D4 8在一个单链表中,若要在p所指向的结点之前插入一个新结点,则此算法的时间复杂度的量级为()。 AO(n)BO(n/2)CO(1)DO(n1/2) 9在一个带头结点的双向循环链表中,若要在p所指向的结点之前插入一个新结点,则需要相继修改()个指针域的值。 A2B3C4D6 二、简答题 1什么叫线性表?它有哪些特点? 2在链表的设计中,为什么通常采用带头结点的链表结构? 3对比顺序表与单链表,说明顺序表与单链表的主要优点和主要缺点。 4试编写算法实现顺序表的逆置,即把顺序表A中的数据元素(a1,a2,…,an)逆置为(an,an-1,…,a1)。 5已知A和B为两个非递减的线性表,现要求实现如下操作:从A中删除在B中出现的元素。试编写在顺序表中实现上述操作的算法。 6试编写算法实现链表的就地逆置(不增加存储空间),即把链表A中的数据元素(a1,a2,…,an)逆置为(an,an-1,…,a1)。 7假设有两个非递减的线性表A和B,均采用链式存储结构,试编写算法将A和B归并成一个按元素非递减的......>>
问题四:数据结构:在单链表中,增加头结点的目的是什么啊 方便链表的处理,就拿插入一个节点来说吧,无头结点要考虑两种情况,插入到第一个节点的前面,这时head 要指向新插入的节点,还用插入的其他位置
如果是带头结点,就只要插入操作就可以,不要考虑那么多
问题五:一个线性顺序表第一个元素的存储地址是100,每个元素的长度是2,则第五个元素地址为?答案是107 还是108 5分 100+(5-1)*2=108
第一个元素首地址是100
第二个元素首地址是102
第三个元素首地址是104
第四个元素首地址是106
第五个元素首地址是108
第i个元素首地址是100+2*(i-1)
问题二:循环单链表的判空条件与其好处 head->next == head
优点是从任一个结点出发都能访问到其他所有结点
问题三:a=(1+n)^120 b=565*119 (565*a-b)*a-(565*a-b)=17628 习题1 一、选择题 1计算机算法必须具备输入、输出、()等5个特性。 A可行性、可移植性和可扩展性B可行性、确定性和有穷性 C确定性、有穷性和稳定性D易读性、安全性和稳定性 2在数据结构中,从逻辑上可以把数据结构分为() A动态结构和静态结构B紧凑结构和非紧凑结构 C内容结构和外部结构D线性结构和非线性结构 3下面程序段的时间复杂性的量级为() For(i=1;i,,,,,} (2)B=(K,R),其中 K={a,b,c,d,e,f,g,h} R={r} r={,,,,,,} (3)B=(K,R),其中 K={1,2,3,4,5,6} R={r} r={(1,2),(2,3),(2,4),(3,4),(3,5),(3,6),(4,5),(4,6)} 三、计算题 设n为整数,求下列各程序段的时间复杂度 (1)i=1;k=2; While(ij)j=j+1; Elsei=i+1; (3)x=91;y=100 While(y>0) If(x>100){ x=x-10; y=y-1; }elsex=x+1; 习题2 一、选择题 1线性表是() A一个有限序列,可以为空B一个有限序列,不能为空 C一个无限序列,可以为空D一个无限序列,不能为空 2在一个长度为n的顺序表中,向第iI个元素(1≤i≤n+1)位置插入一个新元素时,需要从后向前依次后移()个元素。 An-iBn-i+1Cn-i-1Di 3在一个顺序表的表尾插入一个元素的时间复度的量级为()。 AO(n)BO(1)CO(n2)DO(logn) 4表长为n的顺序存储的线性表,当在任意位置上插入或删除一个元素的概率相等时,插入一个元素所需移动元素的平均个数为(),删除一个元素需要移动元素的平均个数为() A(n-1)/2BnC(n+1)/2Dn/2 5设单链表中指针p指向结点a,若要删除p之后的结点(若存在),则需修改指针的操作为()。 Ap->next=p->next->nextBp=p->next Cp=p->next->nextDnext=p 6单链表的存储密度为()。 A大于1B等于5C小于1D不能确定 7在一个单链表中,若要在p所指向的结点之后插入一个新结点,则需要相继修改()个指针域的值。 A1B2C3D4 8在一个单链表中,若要在p所指向的结点之前插入一个新结点,则此算法的时间复杂度的量级为()。 AO(n)BO(n/2)CO(1)DO(n1/2) 9在一个带头结点的双向循环链表中,若要在p所指向的结点之前插入一个新结点,则需要相继修改()个指针域的值。 A2B3C4D6 二、简答题 1什么叫线性表?它有哪些特点? 2在链表的设计中,为什么通常采用带头结点的链表结构? 3对比顺序表与单链表,说明顺序表与单链表的主要优点和主要缺点。 4试编写算法实现顺序表的逆置,即把顺序表A中的数据元素(a1,a2,…,an)逆置为(an,an-1,…,a1)。 5已知A和B为两个非递减的线性表,现要求实现如下操作:从A中删除在B中出现的元素。试编写在顺序表中实现上述操作的算法。 6试编写算法实现链表的就地逆置(不增加存储空间),即把链表A中的数据元素(a1,a2,…,an)逆置为(an,an-1,…,a1)。 7假设有两个非递减的线性表A和B,均采用链式存储结构,试编写算法将A和B归并成一个按元素非递减的......>>
问题四:数据结构:在单链表中,增加头结点的目的是什么啊 方便链表的处理,就拿插入一个节点来说吧,无头结点要考虑两种情况,插入到第一个节点的前面,这时head 要指向新插入的节点,还用插入的其他位置
如果是带头结点,就只要插入操作就可以,不要考虑那么多
问题五:一个线性顺序表第一个元素的存储地址是100,每个元素的长度是2,则第五个元素地址为?答案是107 还是108 5分 100+(5-1)*2=108
第一个元素首地址是100
第二个元素首地址是102
第三个元素首地址是104
第四个元素首地址是106
第五个元素首地址是108
第i个元素首地址是100+2*(i-1)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |