通过中断来理解递归

本文通过中断的概念解释递归的工作原理。以链表倒序遍历为例,详细描述了递归过程,从中断的执行流程到递归调用的分析,包括初始化、递归调用和基线条件。最后强调了理解和运用递归时需要注意的三个关键点。
摘要由CSDN通过智能技术生成

中断

学过操作系统这门课的听说应该都知道中断,这边我们不展开去讲它的意义,只讲一下中断的具体执行,来帮助理解递归这个概念

直接上百度百科关于中断执行的流程图

在这里插入图片描述

可以看到,完成一次中断的流程是这样的

  • 程序正常运行到某处
  • 中断源发出中断请求
  • 程序在中断处打一个断点——补充一下,这个是通过栈来实现的,把上下文和一些相关的消息全部压入栈中,并暂时停止执行当前程序
  • 响应中断,开始执行中断服务程序
  • 执行中断服务程序结束后,返回,从栈中取出上下文信息,从断点处继续执行程序

递归

说完中断,再来看看递归,这里举一个简单的例子方便理解

class Node {
   
    int val;
    Node next;
    
    public void traversal(Node head) {
   
        if (head == null) return; //base case
        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值