ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

【无标题】链表的基本知识、递归方法的基本思路

【无标题】链表的基本知识、递归方法的基本思路 链表是不连续存储的线性数据结构依靠节点之间的引用关联每个节点存放数据和指向下一个节点的地址和数组不同它无法直接通过下标快速访问元素但在插入和删除元素时不需要批量移动数据修改指针指向即可完成操作链表分为单链表、双向链表和循环链表单链表只能顺着一个方向遍历双向链表可以前后回溯循环链表的末尾节点会重新指向链表开头操作链表都需要从头部入口开始访问整条链表直到指针指向空值代表到达链表末尾。 递归本质是函数自己调用自己核心分为两个部分一个是终止条件用来结束递归避免无限循环另一个是递推逻辑把当前规模较大的问题拆解成规模更小的同类子问题等待子问题计算完成之后再回溯处理当前这一层的结果。运用在链表上的时候递归思路通常是先抛开当前节点优先处理后面剩余的子链表等到后面部分处理完毕返回结果再回过头修改当前节点的指向关系把当前节点和已经处理好的子链表拼接在一起整个过程就是先顺着链表一路向下递推直到链表尾部触发终止条件再从尾部往头部回溯调整节点之间的连接关系很多链表问题比如反转链表、合并两条链表都可以用这种先处理后继子链表再处理当前节点的思路实现。
返回列表