当前位置: 首页 > news >正文

Python嵌套循环

一、前言

在 Python 编程中,嵌套循环(Nested Loops) 是指在一个循环的内部再嵌套另一个循环。这种结构常用于处理多维数据结构(如二维数组、矩阵)、遍历组合数据、图形绘制等场景。

虽然嵌套循环在逻辑上更复杂,但它是解决许多实际问题的关键工具之一。例如:

  • 遍历二维列表;
  • 打印星号图案(如金字塔、菱形);
  • 实现排序算法中的双重比较;
  • 检查多个集合之间的交集、并集;
  • 多线程任务调度等;

本文将带你深入了解:

  • 嵌套循环的基本语法;
  • for 与 while 的嵌套方式;
  • 常见应用场景;
  • 控制嵌套循环的技巧;
  • 常见误区与最佳实践;

无论你是刚入门的新手,还是希望提升编程技巧的老手,这篇文章都将为你提供实用的知识点!

二、什么是嵌套循环?

嵌套循环是指在一个循环体内部包含另一个循环的结构。

Python 中支持任意层级的嵌套,最常见的是两层嵌套(外层循环 + 内层循环),但也应避免过深嵌套,以免影响代码可读性。

✅ 基本语法格式(以 for 为例):

for 外层变量 in 外层可迭代对象:for 内层变量 in 内层可迭代对象:# 循环体代码

✅ 示例:打印九九乘法表

for i in range(1, 10):for j in range(1, i+1):print(f"{j}x{i}={i*j}", end="\t")print()

📌 输出:

1x1=1	
1x2=2	2x2=4	
1x3=3	2x3=6	3x3=9
...

三、嵌套循环的工作机制

嵌套循环的执行流程如下:

  1. 外层循环执行一次;
  2. 内层循环完整执行一轮;
  3. 返回外层循环,继续下一次迭代;
  4. 重复步骤 2~3,直到外层循环结束;

📌 因此,如果外层循环执行 m 次,内层循环执行 n 次,则总共执行 m × n 次

四、常见的嵌套循环类型

✅ 1. for 嵌套 for

matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
for row in matrix:for item in row:print(item, end=" ")print()

输出:

1 2 3 
4 5 6 
7 8 9 

📌 适用于二维列表或矩阵操作。

✅ 2. for 嵌套 while

for i in range(3):j = 0while j < 3:print(f"i={i}, j={j}")j += 1

📌 可根据需求灵活组合不同类型的循环。

✅ 3. while 嵌套 while

i = 1
while i <= 3:j = 1while j <= i:print(j, end=" ")j += 1print()i += 1

输出:

1 
1 2 
1 2 3 

📌 适用于需要动态控制循环次数的情况。

五、控制嵌套循环的关键字

✅ 1. 使用 break 提前退出某一层循环

for i in range(3):for j in range(3):if j == 1:breakprint(f"i={i}, j={j}")

📌 只会跳出内层循环,外层仍继续执行。

✅ 2. 使用标志位控制多层循环退出

found = False
for i in range(3):for j in range(3):if i == 1 and j == 1:found = Truebreakif found:break

📌 当你需要从多层循环中提前退出时,使用标志变量是推荐做法。

✅ 3. 使用函数封装提高可读性

def find_target():for i in range(3):for j in range(3):if i == 1 and j == 1:print("找到目标!")returnfind_target()

📌 将嵌套循环封装成函数,通过 return 跳出所有循环,逻辑更清晰。

六、实际开发中的常见应用场景

✅ 1. 矩阵运算与图像处理

image = [[(255, 0, 0), (0, 255, 0)], [(0, 0, 255), (255, 255, 0)]]
for row in image:for pixel in row:print(pixel)

📌 用于图像像素遍历、颜色转换等操作。

✅ 2. 数据交叉匹配(如用户-商品推荐)

users = ["Alice", "Bob"]
products = ["iPhone", "MacBook"]for user in users:for product in products:print(f"{user} 推荐了 {product}")

📌 模拟推荐系统中的简单交叉推荐逻辑。

✅ 3. 打印图形(如三角形、菱形)

n = 5
for i in range(n):for j in range(i+1):print("*", end="")print()

输出:

*
**
***
****
*****

📌 常用于初学者练习控制台绘图逻辑。

✅ 4. 查找两个集合的交集

set1 = {1, 2, 3}
set2 = {2, 3, 4}common = []
for a in set1:for b in set2:if a == b:common.append(a)print("交集:", common)

📌 不使用内置方法,手动实现集合交集查找。

七、注意事项与最佳实践

建议说明
✅ 避免过深嵌套(建议不超过 3 层)否则会影响代码可读性和维护性
✅ 使用函数封装复杂逻辑提高复用性和模块化程度
✅ 控制缩进一致性推荐统一使用 4 个空格缩进
✅ 添加注释说明逻辑特别是在多重条件判断时
✅ 使用列表推导式简化嵌套逻辑如 [x+y for x in A for y in B]

八、总结对比表

嵌套类型是否推荐适用场景
for 嵌套 for✅ 强烈推荐遍历二维结构、生成组合
for 嵌套 while✅ 推荐动态控制内层循环次数
while 嵌套 while⚠️ 视情况而定条件驱动型嵌套逻辑
多重嵌套(超过三层)❌ 不推荐应考虑重构或函数封装

九、结语

感谢您的阅读!如果你有任何疑问或想要分享的经验,请在评论区留言交流!

相关文章:

Python嵌套循环

一、前言 在 Python 编程中&#xff0c;嵌套循环&#xff08;Nested Loops&#xff09; 是指在一个循环的内部再嵌套另一个循环。这种结构常用于处理多维数据结构&#xff08;如二维数组、矩阵&#xff09;、遍历组合数据、图形绘制等场景。 虽然嵌套循环在逻辑上更复杂&…...

linux编译安装nginx

1.到官网(nginx)下载nginx压缩包&#xff1a; 2.以&#xff08;nginx-1.24.0.tar.gz&#xff09;为例&#xff1a; 1.上传压缩包至linux服务器&#xff1a; rz 2.解压压缩包nginx-1.24.0.tar.gz&#xff1a; tar -zxvf nginx-1.24.0.tar.gz 3.在安装Nginx之前&#xff0c;需…...

算法-动态规划-钢条切割问题

钢条切割问题是一个经典的动态规划问题&#xff0c;旨在通过切割钢条获得最大收益。以下是详细解释和解决方案&#xff1a; 问题描述 给定长度为 n 的钢条和价格表 p&#xff0c;其中 p[i] 表示长度为 i 的钢条的价格&#xff08;i 1, 2, ..., n&#xff09;。目标&#xff…...

Java八股文——系统场景设计

如何设计一个秒杀场景&#xff1f; 面试官您好&#xff0c;设计一个秒杀系统&#xff0c;是对一个工程师综合技术能力的巨大考验。它的核心挑战在于&#xff0c;如何在极短的时间内&#xff0c;应对超高的并发请求&#xff0c;同时保证数据&#xff08;尤其是库存&#xff09;…...

如何在FastAPI中玩转GitHub认证,让用户一键登录?

title: 如何在FastAPI中玩转GitHub认证,让用户一键登录? date: 2025/06/22 09:11:47 updated: 2025/06/22 09:11:47 author: cmdragon excerpt: GitHub第三方认证集成通过OAuth2.0授权码流程实现,包含用户跳转GitHub认证、获取授权码、交换访问令牌及调用API获取用户信息四…...

[RPA] 影刀RPA实用技巧

1.给数字添加千分位分隔符 将变量variable的数值(2025.437)添加千分位分隔符&#xff0c;使其变为2,025.437 流程搭建&#xff1a; 关键指令&#xff1a; 2.删除网页元素 将bilibili官网的"动态"图标进行删除 流程搭建&#xff1a; 关键指令&#xff1a; 呈现效果…...

RA4M2开发IOT(7)----RA4M2驱动涂鸦CBU模组

RA4M2开发IOT.7--RA4M2驱动涂鸦CBU模组 概述视频教学样品申请硬件准备参考程序初始化 LSM6DSV16X 传感器初始化单双击识别主程序接口RA4M2接口生成UARTUART属性配置R_SCI_UART_Open()函数原型回调函数user_uart_callback0 ()变量定义更新敲击状态DP同步长按进入配网涂鸦协议解析…...

华为公布《鸿蒙编程语言白皮书》V1.0 版:解读适用场景

6 月 22 日消息&#xff0c;华为现已在其开发者网站上架《鸿蒙编程语言白皮书》V1.0 版本&#xff0c;主要围绕鸿蒙 HarmonyOS 整体框架、适用场景、演进策略、未来愿景四大角度进行阐述&#xff0c;文档访问地址&#xff08;https://developer.huawei.com/consumer/cn/doc/gui…...

多源异构数据接入与实时分析:衡石科技的技术突破

在数字化转型的浪潮中&#xff0c;企业每天产生的数据量呈指数级增长。这些数据来自CRM系统、IoT设备、日志文件、社交媒体、交易平台等众多源头&#xff0c;格式各异、结构混乱、流速不一。传统的数据处理方式如同在无数孤立的岛屿间划着小船传递信息&#xff0c;效率低下且无…...

多设备Obsidian笔记同步:WebDAV与内网穿透技术高效实现教程

文章目录 前言1. Windows开启Webdav服务2. 客户端测试3. 安装Cpolar内网穿透实现公网访问Webdav4. 同步PC端笔记至WebDav4.1 首先需要在IIS中添加md的格式4.2 在Obsidian中安装第三方插件 5. 同步手机端笔记至WebDav 前言 各位好&#xff01;在数字化浪潮席卷的当下&#xff0…...

Linux->进程概念(精讲)

引入&#xff1a;本文会讲到的东西有哪些&#xff1f; 注&#xff1a;要讲就讲清楚&#xff0c;所以从0到懂&#xff0c;目录在右侧 一&#xff1a;冯诺依曼体系结构 1&#xff1a;人物介绍 冯诺依曼是一个伟大的人&#xff0c;他提出了一个体系结构&#xff0c;被命名冯诺依…...

【舞蹈】PC-Dance:姿势可控的音乐驱动舞蹈合成

PC-Dance:姿势可控的音乐驱动舞蹈合成 自监督节奏对齐学习音乐到舞蹈的对齐嵌入-PC-Syn 中,依然怒了一种用于 自适应运动图构建(AMGC)的高效方案,可以基于图的优化效率并保持动作的多样性。 舞蹈合成 整体情况 我们的系统主要由音乐到舞蹈对齐嵌 入网络(M2D-Align)和姿势…...

uni-app项目实战笔记22--图片预览和切换

需求描述&#xff1a; 1、图片预览时&#xff0c;通常需要知道&#xff0c;当前预览的是第几张&#xff0c;总共有多少张图片&#xff1b; 2、当用户左右滑动切换预览图片时&#xff0c;当前预览索引需要随着进行切换。 下面简单介绍下实现过程&#xff1a; 1、在图片列表页…...

[特殊字符] AIGC工具深度实战:GPT与通义灵码如何彻底重构企业开发流程

&#x1f50d; 第一模块&#xff1a;理念颠覆——为什么AIGC不是“玩具”而是“效能倍增器”&#xff1f; ▍企业开发的核心痛点图谱&#xff08;2025版&#xff09; ​​研发效能瓶颈​​&#xff1a;需求膨胀与交付时限矛盾持续尖锐&#xff0c;传统敏捷方法论已触天花板​…...

华为OD机考-用户调度问题-DP(JAVA 2025B卷)

import java.util.Scanner;public class UserScheduling {public static void main(String[] args) {Scanner scanner new Scanner(System.in);int n scanner.nextInt(); // 用户个数int[][] costs new int[n][3]; // 存储每个用户使用A/B/C策略的系统消耗for (int i 0; i …...

【论文阅读 | CVPR 2024 |Fusion-Mamba :用于跨模态目标检测】

论文阅读 | CVPR 2024 |Fusion-Mamba &#xff1a;用于跨模态目标检测 1.摘要&&引言2.方法2.1 预备知识2.2 Fusion-Mamba2.2.1 架构特征提取与多模态融合&#xff08;FMB模块&#xff09;FMB的应用与输出2.2.2 关键组件3.2.2.1 SSCS 模块&#xff1a;浅层跨模态特征交互…...

Python 数据分析与可视化 Day 4 - Pandas 数据筛选与排序操作

&#x1f3af; 今日目标 掌握 Pandas 中 groupby() 的使用方式学会使用 agg() 方法进行多个聚合掌握 pivot_table() 构建透视表结合分组与排序进行更深入的分析 &#x1f9ee; 一、基本分组统计&#xff08;groupby&#xff09; ✅ 分组 单列聚合 df.groupby("性别&qu…...

基于Vue.js的图书管理系统前端界面设计

一、系统前端界面设计要求与效果 &#xff08;一&#xff09;系统功能结构图 设计一个基于Vue.js的图书管理系统前端界面。要充分体现Vue的核心特性和应用场景&#xff0c;同时结合信息管理专业的知识。要求系统分为仪表盘、图书管理、借阅管理和用户管理四个主要模块&#x…...

FPGA故障注入测试软件使用指南

有数字芯片之母别称的FPGA,是国内在半导体行业率先取得重大突破的细分赛道,正迎来技术和市场形成共振的黄金发展期。 国内拥有最多的应用设计工程师与新兴从业人员,但到目前为止,还没有一款位流级别的专用EDA软件,服务用户日常应用开发所需的调试验证工作。 第一大厂商赛…...

Oracle 数据库查询:单表查询

作者&#xff1a;IvanCodes 日期&#xff1a;2025年6月22日 专栏&#xff1a;Oracle教程 在 Oracle 数据库操作中&#xff0c;查询数据是最频繁、最核心的操作之一。单表查询&#xff0c;即仅从一个表中检索信息&#xff0c;是所有复杂查询的基础。本笔记将系统梳理单表查询的关…...

【DDD】——带你领略领域驱动设计的独特魅力

&#x1f3bc;个人主页&#xff1a;【Y小夜】 &#x1f60e;作者简介&#xff1a;一位双非学校的大三学生&#xff0c;编程爱好者&#xff0c; 专注于基础和实战分享&#xff0c;欢迎私信咨询&#xff01; &#x1f386;入门专栏&#xff1a;&#x1f387;【MySQL&#xff0…...

阿里云CentOS系统搭建全攻略:开启云端技术之旅

前期准备&#xff1a;开启云端征程前的必备事项 在当今数字化时代&#xff0c;云计算已成为企业和开发者构建应用和服务的重要基础设施。阿里云作为全球领先的云计算服务提供商&#xff0c;提供了丰富的云计算产品和服务&#xff0c;其中 CentOS 系统在阿里云上的应用非常广泛…...

Flink图之间流转解析:从逻辑构建到物理执行的深度剖析

在Flink强大的数据处理体系中&#xff0c;Table Connectors实现了与外部结构化数据的高效交互&#xff0c;而Flink作业从代码到实际执行的背后&#xff0c;是各类图结构之间的流转与转换。这些图结构承载着作业的逻辑定义、任务划分与资源调度等关键信息&#xff0c;其流转过程…...

详解Redis数据库和缓存不一致的情况及解决方案

数据库与缓存不一致是分布式系统中常见问题&#xff0c;本质是数据在缓存层和存储层出现版本差异。 一、并发写操作导致不一致&#xff08;最常见&#xff09; 场景描述 线程A更新数据库 → 线程B更新数据库 → 线程B更新缓存 → 线程A更新缓存 结果&#xff1a;缓存中存储的…...

【CSS】CSS3媒体查询全攻略

媒体查询教程 媒体查询(Media Queries)是CSS3中引入的强大功能&#xff0c;允许内容根据设备特性(如屏幕尺寸、分辨率、方向等)进行自适应调整。以下是媒体查询的详细教程&#xff1a; 基本语法 media mediatype and (media feature) {/* CSS规则 */ }常用媒体类型 all - 所…...

深入理解Spring的ResponseBodyAdvice接口

什么是ResponseBodyAdvice? ResponseBodyAdvice是Spring框架4.2版本引入的一个非常有用的接口&#xff0c;它允许我们在控制器方法执行后、响应体写入前对响应进行统一处理。这个接口为开发者提供了对返回数据进行统一拦截和修改的能力&#xff0c;是Spring MVC响应处理流程中…...

C++法则5: 在函数调用过程中,具有非引用类型的参数要进行拷贝初始化。

C法则5&#xff1a; 在函数调用过程中&#xff0c;具有非引用类型的参数要进行拷贝初始化。 在 C 中&#xff0c;法则5指的是&#xff1a;当函数参数是非引用类型&#xff08;即按值传递&#xff09;时&#xff0c;传递给函数的实参会进行拷贝初始化&#xff08;copy initializ…...

Python 使用 Requests 模块进行爬虫

目录 一、请求数据二、获取并解析数据四、保存数据1. 保存为 CSV 文件2. 保存为 Excel 文件打开网页图片并将其插入到 Excel 文件中 五、加密参数逆向分析1. 定位加密位置2. 断点调试分析3. 复制相关 js 加密代码&#xff0c;在本地进行调试&#xff08;难&#xff09;4. 获取 …...

day039-nginx配置补充

文章目录 0. 老男孩思想-如何提升能力&#xff1f;1. nginx登录认证功能1.1 创建密码文件1.2 修改子配置文件1.3 重启服务 2. nginx处理请求流程3. 配置默认站点4. location 命令5. 案例1-搭建大型直播购物网站5.1 配置本地hosts解析5.2 编写子配置文件5.3 创建相关目录/文件并…...

K8s入门指南:架构解析浓缩版与服务间调用实战演示

目录 前言一、k8s概念理解1、k8s整体架构&#xff08;1&#xff09; Master 主节点&#xff08;2&#xff09; Node 工作节点&#xff08;3&#xff09; Etcd 键值存储数据库 &#xff12;、Pod被视为最小的部署单元&#xff13;、k8s的五种控制器类型&#xff08;1&#xff09…...

如何用AI开发完整的小程序<10>—总结

通过之前9节的学习。 如何用Ai制作一款简单小程序的内容就已经都介绍完了。 总结起来就以下几点&#xff1a; 1、搭建开发制作环境 2、创建页面&#xff08;需要手动&#xff09; 3、在页面上制作UI效果&#xff08;让Ai搞&#xff0c;自己懂了后可以自己调&#xff09; 4…...

Javaweb - 3 CSS

CSS 层叠样式表&#xff08;Cascading Style Sheets&#xff09;&#xff0c;能够对网页中元素位置的排版进行像素级精确控制&#xff0c;支持几乎所有的字体字号样式&#xff0c;拥有对网页对象和模型样式编辑的能力。 简单来说&#xff0c;HTML 搭建一个毛坯房&#xff0c;C…...

【算法】【优选算法】优先级队列

目录 一、1046.最后一块石头的重量二、703. 数据流中的第 K 大元素三、692. 前 K 个⾼频单词四、295. 数据流的中位数 一、1046.最后一块石头的重量 题目链接&#xff1a;1046.最后一块石头的重量 题目描述&#xff1a; 题目解析&#xff1a; 题意就是让我们拿出提供的数组…...

PaddleOCR + Flask 构建 Web OCR 服务实战

1、前言 随着图像识别技术的发展,OCR(光学字符识别)已经成为很多应用场景中的基础能力。PaddleOCR 是百度开源的一个高性能 OCR 工具库,支持中英文、多语言、轻量级部署等特性。 而 Flask 是一个轻量级的 Python Web 框架,非常适合快速构建 RESTful API 或小型 Web 应用…...

openapi-generator-maven-plugin自动生成HTTP远程调用客户端

Java开发中调用http接口的时候&#xff0c;有很多可选的技术方案&#xff0c;比如&#xff1a;HttpURLConnection、RestTemplate、WebClient、Feign、Retrofit、Okhttp等&#xff0c;今天我们来看一个更优的技术方案OpenAPI Generator(http://openapi-generator.tech/) OpenAP…...

ms-swift 部分命令行参数说明

参考链接 命令行参数 — swift 3.6.0.dev0 文档 Qwen Chat num_train_epochs 训练的epoch数&#xff0c;默认为3 假设你有 1000 条训练样本&#xff0c;并且设置了&#xff1a; num_train_epochs 3 这意味着&#xff1a; 模型会完整地遍历这 1000 条数据 3 次。每一次…...

【学习笔记】深入理解Java虚拟机学习笔记——第10章 前端编译与优化

第10章 前端编译与优化 10.1 概述 1>前端编译器&#xff1a;Javac命令。 【.java文件->.class文件】 2>即时编译器&#xff1a;Hotspot.C1.C2 【.class文件->机器码】 3>提前编译器&#xff1a;JDK的Jaotc等【.java->机器码】 10.2 Javac 编译器 10.2.1 …...

删除node并且重装然后重装vue

参考第一篇文章 node.js卸载与安装超详细教程_node卸载重装-CSDN博客 第二篇文章安装vue Vue安装与配置教程&#xff08;非常详细&#xff09;_安装vue-CSDN博客...

Flink源码阅读环境准备全攻略:搭建高效探索的基石

想要深入探索Flink的底层原理&#xff0c;搭建一套完整且适配的源码阅读环境是必经之路。这不仅能让我们更清晰地剖析代码逻辑&#xff0c;还能在调试过程中精准定位关键环节。接下来&#xff0c;结合有道云笔记内容&#xff0c;从开发工具安装、源码获取导入到调试配置&#x…...

【破局痛点,赋能未来】领码 SPARK:铸就企业业务永续进化的智慧引擎—— 深度剖析持续演进之道,引领数字化新范式

摘要 在瞬息万变的数字时代&#xff0c;企业对业务连续性、敏捷创新及高效运营的需求日益迫切。领码 SPARK 融合平台&#xff0c;秉持“持续演进”这一核心理念&#xff0c;以 iPaaS 与 aPaaS 为双擎驱动&#xff0c;深度融合元数据驱动、智能端口调度、自动化灰度切换、AI 智…...

Flink SQL Connector Kafka 核心参数全解析与实战指南

Flink SQL Connector Kafka 是连接Flink SQL与Kafka的核心组件&#xff0c;通过将Kafka主题抽象为表结构&#xff0c;允许用户使用标准SQL语句完成数据读写操作。本文基于Apache Flink官方文档&#xff08;2.0版本&#xff09;&#xff0c;系统梳理从表定义、参数配置到实战调优…...

Linux 服务器运维:磁盘管理与网络配置

&#x1f935;‍♂️ 个人主页&#xff1a;布说在见 ✍&#x1f3fb;作者简介&#xff1a; &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4ac;点赞&#x1f44d;&#x1f3fb; 收藏…...

PyTorch 入门学习笔记

目录 1 张量 1&#xff09;张量的初始化和属性 2&#xff09;张量操作 3&#xff09;使用 NumPy 进行桥接 2 torch.autograd 1&#xff09;背景 2&#xff09;在 PyTorch 中的使用 3&#xff09;Autograd 的微分机制 4&#xff09;计算图原理 3 神经网络 1&#xff…...

9大策略深度解析MySQL多表JOIN性能优化

一、多表JOIN的现实挑战 在实际开发中&#xff0c;MySQL多表JOIN场景主要源于两类场景&#xff1a; • 历史遗留系统&#xff1a;老代码中未严格遵循范式设计的SQL语句• 数据库迁移&#xff1a;从Oracle迁移至MySQL时保留的复杂关联查询 这类操作潜藏多重风险&#xff1a; …...

CSS 逐帧动画

CSS 逐帧动画实现指南 逐帧动画(frame-by-frame animation)是一种通过快速连续显示一系列静态图像来创造运动效果的技术。以下是使用CSS实现逐帧动画的几种方法。 1. 使用 steps() 计时函数 这是实现逐帧动画最常用的方法&#xff0c;通过animation-timing-function的steps(…...

UE5 游戏模板 —— ThirdPersonGame

UE5 游戏模板 —— ThirdPersonGame 前言一、初始化旋转控制参数1.参数一2.参数二3.参数三4.参数四 二、输入系统总结 前言 有了前面的铺垫&#xff0c;第三人称模板简直是手到擒来了&#xff0c;我们只需要注意一些初始化的变量是做什么的即可&#xff0c;因为UE的Character …...

java中关于异步转同步的一些解决方案的对比与思考。【spring mvc堵塞式】

文章目录 1、Spring MVC堵塞式编程中的技术方案a&#xff09; 最简单的方案&#xff0c;使用 DeferredResult 代码如下&#xff0c;代码解读&#xff1a;最终控制台输出如下。用户收到的结果 b) 上点难度&#xff0c;使用redis监听事件&#xff0c;根据事件的不同返回不同的数据…...

【数据结构与算法】数据结构核心概念系统梳理

第一章 绪论:基础概念体系 🚩算法:问题求解步骤的描述。 🚩非递归的算法效率更高。 1.1 逻辑结构 vs 存储结构 维度逻辑结构存储结构(物理结构)定义数据元素之间的逻辑关系数据结构在计算机中的实现方式分类线性/树形/图/集合顺序/链式/索引/散列独立性独立于存储结构…...

《HTTP权威指南》 第7章 缓存

带着问题学习&#xff1a; 缓存如何提高性能如何衡量缓存的有效性缓存置于何处作用最大HTTP如何保持缓存副本的新鲜度缓存如何与其他缓存及服务器通信 web缓存是可以自动保存常见文档副本的HTTP设备。 缓存优点 减少冗余的数据传输&#xff0c;节省网络费用缓解网络瓶颈问题&…...

【Zephyr 系列 28】MCU 闪存文件系统详解:LittleFS + NVS + 块设备设计实战

&#x1f9e0;关键词&#xff1a;Zephyr 文件系统、LittleFS、NVS、Flash 分区、嵌入式存储、断电保护、wear leveling &#x1f4cc; 1. 为什么 MCU 上需要文件系统&#xff1f; 在嵌入式开发中&#xff0c;很多开发者起初直接操作 Flash 保存参数&#xff0c;但随着需求增长…...