时间:2021-05-20
本文实例分析了Java链表的天然递归结构性质。分享给大家供大家参考,具体如下:
有关链表,参考之前的文章学习。
要求:使用递归删除链表中指定的所有元素值。
假设有这么一个链表,如下图:
分析:基于链表的宏观语意(递归是问题更小的子过程)进行分析
我们可以把上述链表看成是一个头结点后面挂接了一个更小的链表组成,如下图:
此时我们可以把链表概括成如下的链表结构:
1、在一个头结点+更小的链表基础上,从更小的链表中删除指定元素,得到一个全新的链表--图中红丝的方块。
此时我们需要关心如何根据红丝的方块代码的链表构建出原问题的解-------也就是包括了原来头结点(头结点e)在内的情况。
2.判断头结点e是否是需要被删除的元素值,若头结点是不需要被删除的,此时的链表结构为头结点e+红色方块,否则为红色方块,相关结构图如下:
结果如下:
更多关于java算法相关内容感兴趣的读者可查看本站专题:《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》
希望本文所述对大家java程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
算法的基本结构中不包括重复结构。算法中有三种基本结构,分别是顺序结构、递归结构、分支结构。 所谓算法是指在有限步骤内求解某类问题所使用的一组定义明确的规则。算
Java链表的定义与简单实例Java实现链表主要依靠引用传递,引用可以理解为地址,链表的遍历多使用递归,这里我存在一个疑问同一个类的不同对象的的相同方法的方法内
Java实现单链表反转,递归和非递归两种形式/***反转单链表*//***定义链表**@author16026**/classNode{intval;Noden
本文实例讲述了Java链表中添加元素的原理与实现方法。分享给大家供大家参考,具体如下:1.链表中头节点的引入1.1基本的链表结构:1.2对于链表来说,若想访问链
本文实例讲述了Java数据结构之双端链表原理与实现方法。分享给大家供大家参考,具体如下:一、概述:1、什么时双端链表:链表中保持这对最后一个连点引用的链表2、从