美文网首页算法
二叉树应用

二叉树应用

作者: 一凡呀 | 来源:发表于2017-11-26 17:42 被阅读0次

问题1:

打印二叉树.png

思路:

假设折三次,折完之后的折痕就是下下上下下上上,按照每次折的开始建立二叉树(建立过程中才知道是二叉树的)

1 下
/
2 下 上
/ \ /
3 下 上 下 上

这样的结构,再和打印的顺序对应,发现是二叉树的中序遍历,代码如下,递归实现

代码:


    public static void printAllFolds(int N) {
        printProcess(1, N, true);
    }

    public static void printProcess(int i, int N, boolean down) {
        if (i > N) {
            return;
        }
        printProcess(i + 1, N, true);
        System.out.println(down ? "down " : "up ");
        printProcess(i + 1, N, false);
    }

    public static void main(String[] args) {
        int N = 4;
        printAllFolds(N);

    }

在这里说一下递归,注意递归就可以看作是系统帮你实现的一个栈,自动进出栈,以本题为例,如下图


栈实现递归过程.png

相关文章

  • 【Python】(十七)Python实现树结构

    本节我们将用Python实现树结构中最简单的二叉树,并将在以后的章节中应用它。 二叉树类 二叉树的遍历

  • 运用

    递归应用,计算二叉树的深度和二叉树的高度。自顶向下和自顶向上的思路

  • 3.有关二叉树的算法

    1.分层遍历二叉树:宽度优先遍历 2.分层遍历应用,按层打印二叉树 3.前序遍历二叉树 4.前序遍历,迭代 5.中...

  • 算法与数据结构系列之[最大堆-上]

    前面三篇我们介绍了二叉树以及二叉树的代码实现,这篇介绍一下堆这种数据结构,是对二叉树的一个应用,堆其实是用二叉树实...

  • C语言实现二叉树的各种遍历及求解深度

    一、介绍 二叉树是一种重要的数据结构,在很多方面都有重要的应用,此文主要记录了二叉树的基础知识,包括二叉树的建立、...

  • 数据结构-TrieTree

    TrieTree 介绍 前缀树,或者字典树,压缩非二叉树结构。 TrieTree 应用 Server: url: ...

  • 数据结构与算法之二叉树(二)赫夫曼编码原理及实现

    引言 上篇博客学习了二叉树的基本操作原理,今天我们在此基础上学习二叉树的典型应用:赫夫曼编码树,赫夫曼编码(Huf...

  • 手写查找二叉树

    查找二叉树 随着大数据时代的来临,树形结构得到了越来越广泛的应用,废话不多说,直接开始我们的正题,查找二叉树。 何...

  • 二叉树的应用

    1 排序二叉树和堆 用途树结构关系存储方式应用(大根)堆排序完全二叉树根>左子树,根>右子树数组堆排序,取topk...

  • 数据结构:图文详解二叉树(遍历、类型、操作)

    前言 二叉树是一种特殊的树结构,应用广泛 下面,我将详细介绍 二叉树的相关知识,希望你们会喜欢。 目录 1. 简介...

网友评论

    本文标题:二叉树应用

    本文链接:https://www.haomeiwen.com/subject/agzkbxtx.html