请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

为什么头结点要单独的考虑


https://img1.sycdn.imooc.com//szimg/5c31963600016c8509600540.jpg

比较好奇,为什么这个头结点e要单独的考虑,一个递归算法不关注头结点不可以吗?递归一遍删除了一个结点,这个结点是不是头结点,程序不关心,这样就更简单了。。

正在回答 回答被采纳积分+3

1回答

liuyubobobo 2019-01-06 14:30:14

可能我没有特别理解你的问题,尝试一下,把你说的这个更简单的想法写成代码表示出来?


btw:课程后续会介绍使用虚拟头结点的方式,避免对头结点的特殊考虑:)


加油!:)

0 回复 有任何疑惑可以回复我~
  • 提问者 30K必胜 #1
    是这样   就是这个链表删除元素的递归 为什么要分成“头结点”和“删除后的链表” 这两部分, 比如数组求和的递归,每次递归都转化成上一个元素+更小的数组,而链表为什么不能转化成上一个结点+更小链表呢
    回复 有任何疑惑可以回复我~ 2019-01-06 14:41:17
  • liuyubobobo 回复 提问者 30K必胜 #2
    因为head指向头结点。如果删除的是头结点,需要维护一下head;删除的不是头结点,head就不用动。在这里,不做特殊处理,维护head的逻辑无法统一。课程后续会介绍使用虚拟头结点的方式,让这个逻辑得到统一:)如果想更深刻的体会这一点,可以尝试用你想象的方式实际编码一下试试看,看会遇到什么问题?:)
    回复 有任何疑惑可以回复我~ 2019-01-06 14:44:32
  • 提问者 30K必胜 回复 liuyubobobo #3
    好的  谢谢老师
    回复 有任何疑惑可以回复我~ 2019-01-06 14:45:29
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号