首页 > 其他分享 >collections

collections

时间:2024-04-23 11:47:42浏览次数:13  
标签:结点 dfs longth range collections 二叉树 input

from collections import deque


def bfs(n):
    q.append(n)
    G[n] = 1  # 记录深度
    while q:
        x = q.popleft()
        for j in range(2):  # 左右各判断一次
            if V[x][j] != 0:  # 有子节点就继续
                q.append(V[x][j])
                G[V[x][j]] = G[x] + 1  # 记录深度


n = int(input())
V = {}  # 建个字典
q = deque()
for i in range(n):
    l, r = map(int, input().split())
    V[i + 1] = (l, r)  # 塞键值对,节点数

G = [0 for i in range(n + 1)]
bfs(1)
print(max(G))   #, end='')



# max(G)

# import sys
#
# sys.setrecursionlimit(5000)


# def dfs(x, y):
#     global longth
#     if x == 0 or V[x] == (0, 0):
#         return
#     longth = max(longth, y)
#     dfs(V[x][0], y + 1)
#     dfs(V[x][1], y + 1)
#
#
# n = int(input())
# # V = {}  # 建个字典
# longth = 0
# for i in range(n):
#     l, r = map(int, input().split())
#     # V[i + 1] = (l, r)  # 塞键值对,节点数
#
# dfs(l, r)
# print(longth + 1) #, end='')


'''
第三题
试题名称:天空之城的树

时间限制:1.0 s

内存限制:128.0 MB

问题描述
拉姆达人在修建天空之城时,主要是依赖巨大的飞行石去维持悬空状态,依赖强壮的大树去作为建筑物的框架,假设大树是一棵有 n (n≤103)个结点的二叉树。给出每个结点的两个子结点编号(均不超过 n),建立一棵二叉树(根节点的编号为 1),如果是叶子结点,则输入 0 0。

建好这棵二叉树之后,请帮拉姆达设计师求出它的深度。二叉树的深度是指从根节点到叶子结点时,最多经过了几层。

输入描述
第一行一个整数 n,表示结点数。之后 n 行,第 i 行两个整数 l、r,分别表示结点i的左右子结点编号。若 l=0 则表示无左子结点,r=0 同理。

输出描述
一个整数,表示最大结点深度。

输入样例
7
2 7
3 6
4 5
0 0
0 0
0 0 
0 0
输出样例
4
数据规模
数据保证,对于全部的测试点,保证 1≤n≤103。
'''

  

标签:结点,dfs,longth,range,collections,二叉树,input
From: https://www.cnblogs.com/flyingsir/p/18152508

相关文章

  • day16_我的Java学习笔记 (Set、案例、Collections、Map、集合嵌套)
    1.Set系列集合1.1Set系列集系概述1.2HashSet元素无序的底层原理:哈希表JDK1.7HashSet原理解析:JDK1.8HashSet原理解析:1.3HashSet元素去重复的底层原理Set集合去重复的原因,先判断哈希值,再判断equals重写equals()和HashCode()方......
  • java-collections-map t
    MapMap常用子类HashMap:HashMap是最常用的Map实现之一,它基于哈希表实现,提供了O(1)时间复杂度的插入、删除和查找操作。Hashtable:Hashtable是较早期的Java集合类,它是线程安全的,但性能通常比HashMap差,因为它的方法是同步的。TreeMap:TreeMap是基于红黑树实现的有序Ma......
  • 每日一模块-collections
    Python的collections模块提供了很多高级的数据结构,使得我们在处理数据时能够更加方便和高效。下面我们将详细讲解collections模块中各个类的功能,并给出相应的样例。导入模块首先,我们需要导入collections模块:importcollections2.CounterCounter是一个字典子类,用于计数可哈......
  • Java基础知识总结(第八篇):集合:Collection(List、Set)、Map、Collections 工具类
    声明:        1.本文根据韩顺平老师教学视频自行整理,以便记忆       2.若有错误不当之处,请指出系列文章目录Java基础知识总结(第一篇):基础语法Java基础知识总结(第二篇):流程控制语句(分支控制和循环控制)Java基础知识总结(第三篇):数组、排......
  • AttributeError: module ‘collections‘ has no attribute ‘Sequence‘
    在Python3.10及其以后的版本中,collections 模块中的 Sequence 类已经被移动到了 collections.abc 子模块中。这是因为在Python3.3版本时,collections.abc 就被引入作为抽象基类(ABCs)的正式家园,而 collections 模块本身被设计为主要包含具体的容器类型(如 deque 和 Co......
  • Java的Collections工具类
    Java的Collections工具类位于java.util包中,提供了一系列静态方法用于操作集合(List、Set、Map等)。以下是Collections类中一些常用方法的列表和使用实例:常用方法列表sort(List<T>list):对列表进行升序排序。sort(List<T>list,Comparator<?superT>c):根据指定的比较器对列表......
  • Collections工具类,可以使用collections工具类对代码中的list进行分组
    /***根据活动id进行分组*key活动id*value活动id对应的商品id*/Map<Long,Set<Long>>collect=activitySkuList.stream().collect(Collectors.groupingBy(ActivitySku::getActivityId......
  • GEE C13 Exploring Image Collections 影像集详解
     一、筛选和检查影像集1.1代码1//Definearegionofinterestasapointinhaikou,hainan.2//varhkPoint=ee.Geometry.Point(110.3207,20.04713);定义一个点的时候,先经度后纬度。3varhkPoint=geometry2;4//Centerthemapatthatpoint.5Map......
  • Python collections详细介绍及实例
    Python的collections库提供了许多有用的数据结构,这些数据结构是对内建数据类型的补充。以下是一些collections库中主要数据结构的详细介绍和示例:CounterCounter是一个字典子类,用于计数可哈希对象。常用于统计字符出现的次数、列表中元素出现的次数等。示例:fromcollections......
  • Collections
    一个操作集合的工具类setAll:批量添加数据shuffle:打乱List集合数据sort:对list集合进行排序......