202110-12 树,二叉树(完全二叉树,满二叉树)概念图解 目录1、树的定义2、树的概念 3、二叉树 4、二叉树遍历5、满二叉树 6、完全二叉树 总结1、树的定义树是n个结点的有限集合,有且仅有一个根结点,其余结点可分为m个根结点的子树。2、树的概念 结点的度:一个结点拥有子树的个数称为度。比如A的度为3,C的度为2,H的度为0。度为0的结点称为叶子节点(D,F,G,H)。树的度是树中所有结点的度的最大值,此树的度为3。树中结点的最大层次成... 继续阅读 >
202107-21 Java 二叉树遍历的常用方法 目录递归方式非递归方式层次遍历总结采用前序遍历、中序遍历、后续遍历实现时,即便采用不同的实现方式(递归方式、非递归),它们的算法结构是有很大的相似性。因而针对前三种的遍历我们会总结出对应通用的解决框架,便于在解决二叉树问题时进行使用。递归方式递归方式遍历二叉树时,无论是前序遍历、中序遍历还是后续遍历的方式,它们最大的区别就是对节点数据的访问位置不同。除此之外其结构完全一致,因而我们总结出如下的... 继续阅读 >
202105-20 C++实现二叉树及堆的示例代码 1树树是一种非线性数据结构,它是由n个有限结点组成的具有层次关系的集合。把它叫树是因为它是根朝上,叶子朝下的来上图瞧瞧1.1树的相关名词2二叉树2.1二叉树的概念一颗二叉树是结点的一个有限集合,该集合或者为空,或者是由一个根结点加上两棵分别称为左子树和右子树。如图所示:二叉树有以下特点:1、每个二叉树最多有两颗子树,所以二叉树不存在度为2的结点。2、二叉树的子树有左右之分,其子树的顺序不能颠倒。2.2二叉树... 继续阅读 >
202103-30 如何在Python中创建二叉树 前言本文的内容是数据结构中二叉树部分最基础的,之所以写一下主要是为了方便刷题的时候,能够在自己电脑上很快的使用这种小的demo进行复杂的练习。二叉树节点定义二叉树的节点定义如下:classTreeNode():#二叉树节点def__init__(self,val,lchild=None,rchild=None):self.val=val#二叉树的节点值self.lchild=lchild#左孩子self.rchild=rchild#右孩子递归构建二叉树本文使用的前序递归构建的方法(其余顺序读... 继续阅读 >
201502-27 编程面试过程中常见的10大算法概念汇总 以下是在编程面试中排名前10的算法相关的概念,我会通过一些简单的例子来阐述这些概念。由于完全掌握这些概念需要更多的努力,因此这份列表只是作为一个介绍。本文将从Java的角度看问题,包含下面的这些概念:1.字符串如果IDE没有代码自动补全功能,所以你应该记住下面的这些方法。toCharArray()//获得字符串对应的char数组Arrays.sort()//数组排序Arrays.toString(char[]a)//数组转成字符串charAt(intx)//获得某个... 继续阅读 >
201411-11 小米校园招聘笔试题及答案解析 一、填空题1.两个人A(速度为a)、B(速度为b)在一直路上相向而行。在A、B距离为s的时候,A放出一个鸽子C(速度为c),C飞到B后,立即掉头飞向A,遇到A在掉头飞向B......就这样在AB之间飞来飞去,直到A、B相遇,这期间鸽子共飞行路程为?答案:s*c/(a+b)2.(he)的平方=she。h、e、s代表的数字?答案:分别代表2、5、63.运算(93&-8)的结果为:884.将一个无序整数数组构造成一个最大堆,最差时间复杂度为:O(n)5、i... 继续阅读 >
201411-11 二叉树中的那些常见的面试题 关于二叉树二叉树作为树的一种,是一种重要的数据结构,也是面试官经常考的东西。昨天看了一下关于树中的面试题,发现二叉树中的面试题比较常见的题型大概有下面几个:创建一颗二叉树(先序,中序,后序)、遍历一颗二叉树(先序,中序,后序和层次遍历)、求二叉树中叶子节点的个数、求二叉树的高度、求二叉树中两个节点的最近公共祖先、打印和为某一值的全部路径、求某一节点是否在一个树中等等。再详细的说这些面试题之前,不... 继续阅读 >