写个连通域吧~

本文介绍了一种非递归深度优先搜索算法,用于计算二维矩阵中所有连通区域的面积。该算法避免了递归可能导致的栈溢出问题,适用于大规模数据集。文章通过实例演示了算法的具体实现过程。
def connected_regions_areas(mat):
    if not mat:
        return [], []
    regions = []
    areas = []
    m, n = len(mat), len(mat[0])
    label_table = [[0 for j in range(n)] for i in range(m)]
    label = 1
    d = [(-1, 0), (1, 0), (0, -1), (0, 1),
         (-1, 1), (-1, -1), (1, -1), (1, 1)]

    # 当指标不越界,并且值不为0,并且没有被标记过时,返回True
    def condition(mat, i, j, m, n, label_table):
        return (0 <= i < m and 0 <= j < n and mat[i][j] != 0 and label_table[i][j] == 0)

    # 返回包含(i, j)的连通区域和区域面积
    # 使用非递归实现,因为递归层次超过1000时python的栈会溢出
    def stack_dfs(mat, i, j, m, n, d, label_table, label):
        stack, count = [(i, j)], 0
        region = []
        while stack:
            i0, j0 = stack.pop()
            if condition(mat, i0, j0, m, n, label_table):
                count += 1
                region.append((i0, j0))
                label_table[i0][j0] = label

                for dx, dy in d:
                    ii, jj = i0 + dx, j0 + dy
                    if condition(mat, ii, jj, m, n, label_table):
                        stack.append((ii, jj))
        return region, count

    for i in range(m):
        for j in range(n):
            if condition(mat, i, j, m, n, label_table):
                region, count = stack_dfs(mat, i, j, m, n, d, label_table, label)
                regions.append(region)
                areas.append(count)
                label += 1
    return regions, areas


# 测试通过

for k in range(7):
    print("-" * 10 + str(k) + "-" * 10)
    m, n = k, k
    import random
    random.seed(12)
    mat = [[int(random.random() >= 0.5) for j in range(n)] for i in range(m)]
    print("[mat]:")
    for i in range(m):
        print(mat[i])
    regions, areas = connected_regions_areas(mat)
    print("[areas]:")
    print(areas)

树的前序遍历

01、数据简介 规模以上工业企业,是指年主营业务收入达到一定规模的工业法人单位。这一标准由国家统计局制定,旨在通过统一口径筛选出对工业经济具有显著贡献的“核心企业”,为政策制定、经济监测和学术研究提供精准数据支撑。 数据名称:地级市-规模以上工业企业相关数据 数据年份:2000-2024年 02、相关数据 原始数据:年份 省份 城市 省份代码 城市代码 规模以上工业企业单位数(个) 规模以上工业增加值增速(%) 规模以上工业企业单位数_内资企业(个) 规模以上工业企业单位数_港澳台商投资企业(个) 规模以上工业企业单位数_外商投资企业(个) 规模以上工业亏损企业单位数(个) 插值:年份 省份 城市 省份代码 城市代码 规模以上工业企业单位数(个) 规模以上工业企业单位数(个)_线性插值 规模以上工业企业单位数(个)_回归填补 规模以上工业增加值增速(%) 规模以上工业增加值增速(%)_线性插值 规模以上工业增加值增速(%)_回归填补 规模以上工业企业单位数_内资企业(个) 规模以上工业企业单位数_内资企业(个)_线性插值 规模以上工业企业单位数_内资企业(个)_回归填补 规模以上工业企业单位数_港澳台商投资企业(个) 规模以上工业企业单位数_港澳台商投资企业(个)_线性插值 规模以上工业企业单位数_港澳台商投资企业(个)_回归填补 规模以上工业企业单位数_外商投资企业(个) 规模以上工业企业单位数_外商投资企业(个)_线性插值 规模以上工业企业单位数_外商投资企业(个)_回归填补 规模以上工业亏损企业单位数(个) 规模以上工业亏损企业单位数(个)_线性插值 规模以上工业亏损企业单位数(个)_回归填补
内容概要:本文深入介绍了谷歌推出的Gemini 3 Deep Think——一种基于大模型的增强型推理模式,具备并行推理、多模态理解融合和“深度思考”能力,专为解决复杂算法重构与调试难题而设计。文章详细剖析了其核心技术优势,包括16条并行推理路径、跨模态信息整合以及模拟人类“慢思考”的迭代推理过程,并通过电商平台推荐系统优化和计算机视觉目标检测算法改进两大案例,展示了其在真实场景中显著提升算法性能与准确性的能力。同时,文章对比了其与传统工具在功能全面性、效率和准确性方面的压倒性优势,并探讨了实际应用中面临的算力需求、系统兼容性和数据安全挑战及其应对策略,最后展望了其对程序员角色转变和整个软件行业的深远影响。; 适合人群:具备一定编程经验的中高级程序员、算法工程师、AI研究人员及技术管理者;尤其适用于从事复杂系统开发、算法优化和性能调优的专业人士。; 使用场景及目标:①在大型项目中进行算法性能瓶颈分析与重构;②提升复杂代码调试效率,快速定位并修复隐蔽错误;③融合多源信息(如代码、公式、图表)进行智能算法设计与优化;④推动企业级AI系统升级与智能化开发流程转型。; 阅读建议:此资源兼具技术深度与实践价值,建议读者结合自身项目背景,重点关注技术原理与案例实现的对应关系,尝试将Gemini 3 Deep Think的思维方式融入日常开发与调试中,同时关注其在云平台部署、安全合规等方面的最佳实践,以充分发挥其潜力。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值