ICode9

精准搜索请尝试: 精确搜索
  • 数据结构学习(四)二叉树2022-07-01 01:31:33

    二叉树 很久没写代码,指针为空要New赋值都不知道,还因为这个DE了好久的BUG T^T ADT 普通二叉树 #include <iostream> #include <string> #include <queue> #include <sstream> #include <vector> #include <deque> #include <stack> using namespace std; char test;

  • 重建二叉树2021-11-11 08:31:06

    /* * 二叉树的遍历方式: * 前序遍历:先访问根节点,再访问左子节点,最后访问右子节点。 * 中序遍历:先访问左子节点,再访问根节点,最后访问右子节点。 * 后序遍历:先访问左子节点,再访问右子节点,最后访问根节点。 */ /* * 输入二叉树的前序遍历和中序遍历的结果,请重新构建该二叉树。 * 假

  • 判断一个二叉树是否为搜索二叉树2021-10-19 23:35:24

    /** * 判断一个二叉树是否为搜索二叉树 */ public class SearchBinaryTree { public static void main(String[] args) { BinaryTreeNode node1 = new BinaryTreeNode(1); BinaryTreeNode node2 = new BinaryTreeNode(2); BinaryTreeNode node3 =

  • 判断一个二叉树是不是完全二叉树2021-10-19 23:34:52

    import java.util.LinkedList; import java.util.Queue; /** * 判断一个二叉树是不是完全二叉树 */ public class CompleteBinaryTree { public static void main(String[] args) { BinaryTreeNode node1 = new BinaryTreeNode(1); BinaryTreeNode node2

  • 满二叉树的判定2021-10-19 23:33:37

    /** * 满二叉树的判定 */ public class FullBinaryTree { public static void main(String[] args) { BinaryTreeNode node1 = new BinaryTreeNode(1); BinaryTreeNode node2 = new BinaryTreeNode(2); BinaryTreeNode node3 = new BinaryTreeNod

  • 判定平衡二叉树2021-10-19 23:33:07

    /** * 判定平衡二叉树 */ public class BalanceBinaryTree { public static void main(String[] args) { BinaryTreeNode node1 = new BinaryTreeNode(1); BinaryTreeNode node2 = new BinaryTreeNode(2); BinaryTreeNode node3 = new BinaryTree

  • 在一个二叉树中求两个节点的公共最低祖先2021-10-19 23:31:44

    import java.util.HashMap; import java.util.HashSet; /** * 两个节点的公共最低祖先 */ public class CommonAncestor { public static void main(String[] args) { BinaryTreeNode node1 = new BinaryTreeNode(1); BinaryTreeNode node2 = new Binary

  • 二叉树的序列化和反序列化2021-10-19 23:31:27

    import java.util.LinkedList; import java.util.Queue; import java.util.Stack; /** * 二叉树的序列化和反序列化 */ public class SerializationTree { public static void main(String[] args) { BinaryTreeNode node1 = new BinaryTreeNode(1); Bin

  • 二叉树的各种遍历方式2021-10-18 21:33:38

    import java.util.Stack; //二叉树的各种遍历 递归及非递归 public class BinaryTreeTraversal { public static void main(String[] args) { BinaryTreeNode node1 = new BinaryTreeNode(1); BinaryTreeNode node2 = new BinaryTreeNode(2); Bina

  • 二叉树前序遍历2021-06-11 02:04:58

    #include <iostream> #include <vector> #include <stack> struct BinaryTreeNode{ int val; BinaryTreeNode* left; BinaryTreeNode* right; BinaryTreeNode(int x) : val(x), left(nullptr), right(nullptr) {} }; //递归法 void traveral

  • 剑指Offer - 面试题8:二叉树的下一个节点2021-05-18 13:32:12

    题目 给定一颗二叉树和其中的一个节点,如何找出中序便利序列的下一个节点?树中的节点除了有俩个分别指向左、右子节点的指针,还有一个指向父节点的指针。 结构如下 typedef int TElemType; /* 树结点的数据类型,目前暂定为整型 */ struct BinaryTreeNode { TElemType m_nValue;

  • 删除二叉树的所有叶子结点2021-04-12 21:08:32

    BinaryTreeNode removeleaf(BinaryTreeNode root){ if(root == null){ return null; } if(root.getLeft() == null && root.getRight() == null){ return null; }else{ root.setLeft(root.getLeft()); root.setRight(root.getRight()); }

  • Java二叉树2020-12-26 19:58:01

    package com.company; public class BinaryTree { public class BinaryTreeNode { private int data; //数据 private BinaryTreeNode leftChirld; //左孩子 private BinaryTreeNode rightChirld; //右孩子 public int getData() {

  • 20192319 2020-2021-1 《数据结构与面向对象程序设计》实验八报告2020-12-08 18:01:21

    实验七报告 课程:《程序设计与数据结构》 班级: 1923 姓名: 李歆韵 学号:20192319 实验教师:王志强 实验日期:2020年12月6日 必修/选修: 必修 1.实验内容 参考教材PP16.1,完成链树LinkedBinaryTree的实现(getRight,contains,toString,preorder,postorder) 用JUnit或自己编写驱动类对自己

  • 二叉树的前序遍历的非递归实现2020-12-06 17:32:05

    我们知道二叉树的遍历主要有,前序,中序,后续,我们常用递归的方式进行实现,而我们都知道能用递归函数实现,都可以用数据结构栈进行实现。 下面我们就用栈的数据结构来处理二叉树的前序遍历: BinaryTree.h #pragma once struct BinaryTreeNode { int m_value; struct BinaryTreeNode* m

  • 使用递归和循环实现二叉树镜像2020-12-04 11:36:20

    剑指offer 27CodingInterviewChinese2/MirrorOfBinaryTree.cpp at master · zhedahht/CodingInterviewChinese2 (github.com)   递归 void MirrorRecursively(BinaryTreeNode *pNode) { if((pNode == nullptr) || (pNode->m_pLeft == nullptr && pNode->m_pRig

  • 逐层打印二叉树2020-07-18 18:34:19

    struct BinaryTreeNode {    int nvalue=0;    BinaryTreeNode* pleft = nullptr;    BinaryTreeNode* pright = nullptr;    BinaryTreeNode* parent = nullptr;};vector<vector<int>> BinaryTreePrint(BinaryTreeNode* node) { vector<vector<int>

  • 二叉树遍历2020-06-21 20:55:54

    引自:https://blog.csdn.net/zhhp1001/article/details/88257018                                                测试代码: int main(int argc, char* argv[]) { BinaryTreeNode* A = new BinaryTreeNode(1); BinaryTreeNode* B = new BinaryTreeNode

  • * 和 *& 在参数传递中的区别——C++2020-05-19 12:03:40

    最近在进行前序插入构造二叉树时被 * 和 *& 绊了一下。先贴错误代码: #include<cstdlib> #include<iostream> using namespace std; typedef char Elemtype; typedef enum {link, thread} PointerTag; typedef struct Node{ Elemtype data; PointerTag ltag; Pointer

  • 树、二叉树、查找算法2020-04-26 17:07:03

    一、思维导图 二、概念笔记 1) 结点的度:结点拥有的子树数。 树的度:树中所有结点的度的最大值。 2) 二叉树的五种基本形态:空树、只有根结点、右子树为空树、左子树为空树、左右子树均不为空树 3) 二叉树的性质 性质1:在二叉树的第 i 层上至多有2^(i-1)个结点(i≥1)。 归纳法证明: 归纳

  • 结对项目——四则运算题目生成器2020-04-01 18:58:45

    一、GitHub项目地址 : https://github.com/OurPrograming/Exercises 结对项目成员:软三 陈纪禧(3118005043)、软三 程伟杰(3118005045) 二、PSP预计时间: PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划  60   · Estimate

  • 《剑指offer》第三十四题:二叉树中和为某一值的路径2020-03-31 12:07:59

    // 面试题34:二叉树中和为某一值的路径 // 题目:输入一棵二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所 // 有路径。从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。 #include <cstdio> #include "BinaryTree.h" #include <vector> void FindPath(Binary

  • 三分钟快速实现二叉树的递归遍历2020-03-15 16:42:42

    写在前面: 上一篇文章中我们聊到了队列——漫画趣解——队列 相信很多小伙伴都知道了如何实现队列; 那么这次,时光同样采用漫画形式, 给大家聊一聊什么是二叉树,如何实现二叉树的递归遍历; 思维导图: 什么是树? 树是一种非线性结构,有一个直接前驱,但可能有多个直接后继(1:n); 树的定义具

  • 面试题28:对称的二叉树2020-02-22 15:01:28

    #include<iostream> struct BinaryTreeNode { int m_nValue; BinaryTreeNode* pLeft, * pRight; BinaryTreeNode(int _value):m_nValue(_value),pLeft(nullptr),pRight(nullptr){} }; //利用树的遍历性质,前遍历、中遍历、后遍历都是先左节点再右节点 //设计一个遍历,从右

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有