陈童学哦 2023-01-23 13:23 采纳率: 50%
浏览 56
已结题

团体程序设计天梯赛如何备赛(语言-c++)

有关数据结构(单链表、堆栈、队列)这方面的知识如何能够快速掌握呢。

  • 写回答

3条回答 默认 最新

  • 关注

    链表是基础,堆栈、队列这些都是在链表的基础上增加了自己独特的特征。
    队列:跟排队一样,讲究先来后到,所以是先进先出(先进队列的元素在出队时先出)
    栈:跟队列相反,后入栈的先出栈,是后进先出(或者先进后出)
    队列和栈都是在链表的基础上发展而来的。链表是由一个个节点串联而成,跟日常生活中的铁链子很像,所以取名叫链表。
    对于链表、堆栈和队列,其基本的操作都是相似的:
    (1)增加:在链表(或者队列、堆栈)后增加元素
    (2)插入:在制定位置插入元素
    (3)删除:删除制定位置的元素(特殊的,删除链表末尾的元素,队列和堆栈不适用这个,堆栈和队列只能根据自己的特定出栈或者出队)
    (4)长度:计算链表(或者堆栈的长度)
    (5)遍历:遍历链表
    (6)首元素:获取链表/堆栈/队列的首元素
    都是一个道理,明白了链表,再结合队列和堆栈各自的特征去适当修改一下相关函数就可以了。
    学习的建议:
    找一个链表的例题,自己写一下这几个函数,搞明白逻辑关系,弄懂链表后,再去看队列和堆栈的相关知识就很轻松了。
    对于竞赛,可能会出现链表的排序或者多种数据结构的综合运用等相关知识,只要搞定了链表,其它的都是纸老虎。
    另外,链表一般包括带哨兵节点的链表和不带哨兵节点的链表,哨兵节点只用来标记链表头,不实际存储有效数据。带哨兵节点的链表相对简单一些,可以先从带哨兵节点的链表开始学习,然后再研究不带哨兵节点的链表。两者的逻辑基本一致。
    如有帮助,望采纳,谢谢。

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 2月5日
  • 已采纳回答 1月28日
  • 创建了问题 1月23日

悬赏问题

  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示