数据结构
她的坏机器人
你好,AI
展开
-
求二叉树的最小深度,DFS深度优先搜索算法
要求:求二叉树最小深度算法:DFS深度优先搜索算法几种特殊的情况空树判断的当前节点为空,则需要返回最小深度为0只有一个节点这一个节点就是叶子结点,无需递归,但深度也需要加一两个结点根节点的左节点递归一次,深度为2,右节点如果直接递归,递归后会判断当前节点为空,会把最小深度置为0,所以需要判断:当子节点不为空的时候才递归搜索深度很大当深度很大的时候,最小深度的值会小于实际数的最小深度,导致最小深度值不变,所以需要为最小深度的初始值设置一个最大的值代码测试package com.rob原创 2020-08-22 15:44:35 · 431 阅读 · 0 评论 -
【数据结构】——创建二叉树,以及用四种遍历方式,查找二叉树中指定的结点
总体简述,需要创建三个类结点类(存放结点的属性) 二叉树框架(一颗空的二叉树,里面包含一些二叉树的方法) 主方法(创建二叉树,为二叉树赋予结点)首先创建一个结点类no:结点的编号,也就是在树中的序号 value:结点的值 leftNode:当前结点的左结点 rightNode:当前结点的右节点然后将这些属性封装起来,并重写toString方法,用于打印结点的信息这些都属于...原创 2020-04-10 17:18:50 · 956 阅读 · 1 评论 -
【数据结构】——创建二叉树,以及二叉树的遍历
如何创建一颗二叉树?先创建一个根结点 通过这个根结点,创建它的左节点和右节点 再为它的左节点和右节点分别创建左节点和右节点 依次递归创建一颗静态的二叉树就是我们直接创建结点,为结点赋值,然后将结点连接起来,就形成了一颗二叉树首先,创建一个结点类一个结点的信息包括:结点的值、它的左结点、它的右结点在结点类中实现两个方法设置左节点:传入一个结点参数,将传入的结点设置...原创 2020-04-06 22:19:33 · 706 阅读 · 0 评论 -
【数据结构】——二叉树的种类及性质
树的相关概念以下面这张图为例根结点:根部的结点,例如 A 双亲结点:一个结点的父节点,例如D的双亲结点为B 子节点:一个结点的孩子结点,例如B的子节点为D和E 路径:一个结点到另一个结点的路径,例如A到E的路径为A->B->E 结点的度:一个结点拥有几个孩子结点的数量,例如A结点的度为2,C结点的度为1 结点的权:...原创 2020-04-04 16:56:00 · 584 阅读 · 0 评论 -
【数据结构】——数组和链表的区别
数组和链表是两种基本的数据结构,它们有各自的特点和使用场景存储形式数组在内存中是一块连续的区域 链表在内存中,可以存储在任意位置,每个结点都存储了下个结点的地址,所以无需相连长度数组的长度不可改变,需要预先分配空间,会出现数组越界,或者资源浪费的情况 链表的长度可以随意更改,很灵活插入和删除因为数组在内存中是一块连续的区域,所以数组在插入数据的时候,被插入位置的...原创 2020-03-19 18:26:04 · 140 阅读 · 0 评论 -
【数据结构】——双向循环链表,使用Python创建一个简单的双向循环链表(详解)
双向循环链表每个结点有两个指针域,分别指向前驱结点和后继结点,尾结点的后继指针指向头结点,头结点的前驱指针指向尾结点。整体形成一个双向连通的环。创建一个结点类:class Node(object): """结点类""" def __init__(self, data): self.data = data self.pre = ...原创 2020-02-13 16:49:04 · 576 阅读 · 0 评论 -
【数据结构】——双向链表,使用Python创建一个简单的双向链表(详解)
双向链表双向链表有两个指针域,一个指向前驱结点,一个指向后继结点创建一个结点类:因为是双向链表,所以需要前后相通,就是比单链表多了一个前驱指针数据域data、前驱指针pre,后继指针nextclass Node(object): """创建一个结点类""" def __init__(self, data): self.data = d...原创 2020-02-12 17:59:38 · 1881 阅读 · 1 评论 -
【数据结构】——循环链表,使用Python创建一个简单的循环链表(详解)
循环链表循环链表就是最后一个结点的指针域指向头结点,整个链表形成一个环。创建一个结点类:class Node(object): """创建一个结点类""" def __init__(self, data): self.data = data self.next = None创建一个创建循环链表的类:接下来的一些操作循环链表的...原创 2020-02-11 18:47:03 · 3785 阅读 · 2 评论 -
【数据结构】——单链表,使用Python创建一个简单的单链表(非常详细的讲解)
单链表单链表是一种链式的数据结构,链表中的数据用结点来表示,每个结点由:数据元素和指向下一个数据元素的指针组成,指针就是连接每个结点的地址。说白了:单链表就是由很多个结点组成,每个结点之间用指针连接着,从前驱节点指向后继结点。(这里所说的指针只是一个虚拟的指代,并非像c语言中的指针)以下是创建一个单链表并实现一些功能的实例,先分布详解每个函数,最后再给出完整代码首先创建一个...原创 2020-02-10 13:16:21 · 9089 阅读 · 15 评论