`
hunter090730
  • 浏览: 196413 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

迭归算法的归纳

    博客分类:
  • java
阅读更多
迭归和迭代是我们在写算法时经常用到的,以下是对迭归几种精典用法的总结: 一,用迭归计算如求1+2+3+...n累加的和 static int demo(int n) { if (n == 1){ return 1; } else{ return n + demo(n - 1); } } 二,用迭归遍历如对树形结构的数据遍历 比方说有一数据结构:Category : id,name,pid 将多个Category 放在集合里面,要求找出遍历的父子 String res = "";//对扫描的操作 public String tree(Collection co, int pid) { Iterator it = co.iterator(); while (it.hasNext()) { Category ct = it.next(); if (ct.pid == pid) { int id = ct.id; // res+=Integer.valueOf(id)+","; res = ct.name + "的id=" + id + " 其pid=" + pid; System.out.println(res); tree(co, id); } } return res; } public String tree(Collection co, Category cg) { Iterator it = co.iterator(); while (it.hasNext()) { Category ct = it.next(); if (ct.pid == cg.id) { int id = ct.id; // res+=Integer.valueOf(id)+","; res = ct.name + "的id=" + id + " 其pid=" + ct.pid; System.out.println(res); // System.out.println(ct); tree(co, ct); } } return res; } public String tree1(List co, Category cg) { for (int i = 0; i < co.size(); i++) { Category ct = (Category) co.get(i); if (ct.pid == cg.id) { int id = ct.id; // res+=Integer.valueOf(id)+","; res = ct.name + "的id=" + id + " 其pid=" + ct.pid; // System.out.println(res); System.out.println(ct); tree(co, ct); } } return res; } 二,用迭归遍历如对子节点和父节点有共同接口结构的数据遍历 跟java中的设计模式之Composite(组合)很像 Composite定义: 将对象以树形结构组织起来,以达成“部分-整体” 的层次结构,使得客户端对单个对象和组合对象的使用具有一致性. 形如: public class GenericTreeNode implements TreeNode { private TreeNode parent = null; private List> children = new ArrayList>(); public boolean isLeaf() { return getChildCount() == 0; } public boolean isRoot() { return getParent() == null; } 。。。 } 方法一: public void recursiveTravel(GenericTreeNode node) { System.out.println(node); //travelNode(node); // 访问节点,迭归扫描的实作操作 List> children = node.getChildren(); for (int i = 0; i < children.size(); i++) { recursiveTravel(children.get(i)); // 递归地访问当前节点的所有子节点。 } }
分享到:
评论

相关推荐

    Dhua c语言算法归纳

    "Dhua C语言算法归纳"很可能是对C语言中各种常见算法的整理和总结,旨在帮助学习者更好地理解和掌握这些算法。这里,我们将深入探讨C语言中的核心算法知识。 一、排序算法 1. 冒泡排序:一种简单的排序方法,通过...

    计算机图形学算法归纳

    本压缩包文件包含了对计算机图形学算法的归纳和说明,旨在帮助学习者理解和掌握这一领域的核心概念。 1. **基本画图算法** - 直线绘制:Bresenham算法是最常用的一种离散化直线绘制方法,适用于像素级别的画图。它...

    大数据与数据挖掘技术 数据挖掘算法-归纳算法可扩展性算法 研究综述 共17页.ppt

    数据挖掘是一种从海量数据中发现有价值信息的过程,而归纳算法作为数据挖掘的一种基础方法,旨在通过学习过程从数据中构建出一般性的规则或模型。在面对大规模数据集时,算法的可扩展性成为了一个核心问题。 可扩展...

    算法分析与设计中的归纳法

    归纳法在算法分析与设计中是一种重要的思想,它主要用于证明算法的正确性和设计新的算法。在计算机科学中,归纳法通常被用来解决那些可以通过分解成更小规模同类问题来解决的大问题。以下是对归纳法及其在算法应用中...

    CN2规则学习算法

    CN2规则学习算法是一种经典的归纳算法,主要用于从样本中自动学习产生式规则。产生式规则是形如“如果……则……”的语句,被广泛应用于专家系统和知识获取中,以帮助机器执行复杂的决策过程。 在人工智能和机器...

    C语言实现的归纳算法

    《C语言实现的归纳算法》 在编程领域,归纳算法是一种重要的问题解决方法,它通过逐步构建解决方案,从基础情况开始,然后递归地应用到更复杂的情况。本实验主要探讨了如何使用C语言实现归纳算法来解决特定的翻转...

    使用归纳法设计算法 论文翻译

    归纳法是一种重要的数学证明方法,它在算法设计中也扮演着关键角色。归纳法分为两种主要类型:数学归纳法和结构归纳法。这篇论文翻译主要探讨了如何利用归纳法来设计有效的计算机算法。 数学归纳法通常用于证明一个...

    算法与数据结构 算法分析课程 递归算法及归纳法 共56页.pptx

    ### 递归算法及归纳法知识点详解 #### 一、递归算法简介 递归算法是一种重要的编程技术,它在计算机科学中占有举足轻重的地位。递归算法的概念最早由约翰·麦卡锡(John McCarthy)教授提出,他曾在麻省理工学院...

    用Python实现的 一阶归纳学习器 (FOIL)算法_python_代码_下载

    这是 FOIL(First Order Inductive ...我写这篇文章的主要目的只是通过归纳逻辑来试验机器学习,重现 JR Quinlan 的结果似乎是一个不错的起点。没有花哨的 UI 或交互式提示,但您可以查看测试用例以了解如何使用该库

    算法文档无代码数学归纳法与解题之道

    标题中提及的“算法文档无代码数学归纳法与解题之道”涉及到的是算法学习与应用中的一种重要逻辑推理方法——数学归纳法,以及这一方法在解决算法问题中的具体应用。算法作为一种解决问题、执行任务的方法和步骤,是...

    JAVA算法[归纳].pdf

    JAVA算法[归纳].pdf

    KMP算法[归纳].pdf

    KMP算法[归纳].pdf

    首次适应算法 最佳适应算法 循环首次适应算法 

    本篇文章将详细探讨三种常见的内存分配算法:首次适应算法(First Fit)、最佳适应算法(Best Fit)以及循环首次适应算法(Circular First Fit),并结合源代码分析它们的工作原理。 1. 首次适应算法(First Fit) ...

    ACM所有算法总结.ppt

    《ACM所有算法总结》,很不错的ACM方面资料,详实全面细致明了,希望对有需要的朋友提供到帮助,值得拥有。

    模型算法大全(20+种常用算法模型+代码实现)

    模型算法大全(20+种常用算法模型+代码实现)模型算法大全(20+种常用算法模型+代码实现)模型算法大全(20+种常用算法模型+代码实现)模型算法大全(20+种常用算法模型+代码实现)模型算法大全(20+种常用算法模型+...

    PRISM系列归纳学习算法综述.pdf

    在机器学习的广袤天地中,PRISM系列归纳学习算法犹如一颗璀璨的明星,以其独特的光辉照亮了数据处理的道路。PRISM算法,作为归纳学习的佼佼者,历经二十余年的风雨兼程,在决策树归纳算法领域中异军突起,成为众多...

    MATLAB智能优化算法 从写代码到算法思想.pptx

    智能优化算法的思想可以归纳为两点:一是利用领域的思想,二是通过不断迭代和调整来寻找最优解。这两点思想在实际应用中具有很强的指导意义。例如,在机器学习算法中,我们可以运用智能优化算法来优化模型的超参数,...

    EBWO改进白鲸算法, 一种混合改进的白鲸优化算法 EBWO算法 改进点:两个点 1、引入准反向学习QOBL策略,提高算法的迭

    EBWO改进白鲸算法, 一种混合改进的白鲸优化算法 EBWO算法 改进点:两个点 1、引入准反向学习QOBL策略,提高算法的迭代速度 2、引入旋风觅食策略,提高算法开发能力 改进后的EBWO算法与原始BWO、GWO、WOA、SSA...

    电梯调度算法(算法合集)

    电梯调度算法是优化高层建筑内电梯运行效率的关键技术,它涉及到多门学科,如计算机科学、控制理论和人工智能。在给定的压缩包文件中,包含了一系列关于电梯调度算法的资料,涵盖了强化学习、LOOK调度、最短寻道、...

    磁盘调度算法(最短寻道时间优先算法(SSTF) 扫描算法(SCAN) 先来先服务算法(FCFS) 循环扫描算法(CSCAN)....)

    常见的磁盘调度算法有先来先服务算法(FCFS)、最短寻道时间优先算法(SSTF)、扫描算法(SCAN)和循环扫描算法(CSCAN)等。 先来先服务算法(FCFS) 先来先服务算法(FCFS)是一种最简单的磁盘调度算法。该算法...

Global site tag (gtag.js) - Google Analytics