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

链表?->?(以尾插法说明,附头插法)

这篇文章做一些关于初学链表的一些问题的解答。

我知道有些朋友只是需要一份完整的关于链表的代码,我会附在后面,大家直接划到最后就好。

一、创建链表

 (1

相信所有搜索过链表创建的朋友都看过这样一行:

struct Line* head = (struct Line*)malloc(sizeof(struct Line));

什么感受?我第一次看到这比命都长的一行我直接就想放弃了。没关系啊,现在我来详细解答:

1.涉及到的一个函数和一个运算符我们先提取出来malloc( )sizeof( )

malloc( ):

这是一个动态分配内存的函数,就例如一个班有40名同学,我就需要开辟出一个空的教室刚好能坐下40名同学,并且要把这个教室的位置告诉我。那这样就很明显了,我需要传入的参数就是告诉这个函数我需要多大的空间,那返回给我的就肯定不是什么return 0,而是一个地址,也就是指针来告诉这个空间的位置。

注意:malloc返回的指针类型是一个无类型指针(void *),后面要考!!!

sizeof( ):

这是一个计算占用内存大小的运算符,就例如我告诉他3班,他就能自动说明3班的人数是40人。那这样也很明显了,我需要传入的参数就是一个类型,那返回给我的就是一个告诉我空间大小的整形数,比如

int //4个字节
char //1个字节

2.类型

前面的malloc返回的是一个无类型指针(void *),但是等号左边定义的类型却是结构体指针(struct Line*),那这样怎么办呢?我需要malloc( )给我传回的地址,但指针类型不一样又会报错。欸!指针就算类型不一样,但是占用的字节却是一样的,我只需要强制转换就行了!

/*给部分还没学类型转换的朋友补充一下
一般转换方法有3种:
强制转换 C
转换构造函数 C++
构造函数 C++
这里我们只需要用到强制转换
*/
int a=1;
double b=3.0;
int c;
c=a+b;
/*这样必定报错,很简单,你这又是int又是double,最后加起来还要是个int
那我们改一下:
*/
c=a+(int)b;
/*这样我们就强制把b从double类型转换成了int类型就没问题了*/

我们直接通过强制转换把无类型指针(void *)转换成需要的结构体指针类型(struct Line*)

3.struct Linestruct Line*

其中struct Line只在sizeof里面出现过,这是因为,我们需要开辟的大小是我们定义的结构体的大小,而不是一个地址的大小,就例如,struct Line是一个教室本身,是存在的一片空间,但struct Line*只是这个教室的位置的信息,你可以用代号表达、用文字表达,而我们的代码语言选择用指针表达这一信息。

4.总结

这行代码的意思就是:

告诉sizeof( )一个struct Line类型计算占用空间,返回出的这个空间的大小交由malloc( )去开辟出这个大小空间,并返回出这个空间的位置,但是因为指针类型不同,用到了强制转换类型,最后赋值给head指针的这样一件事。

 (2

->

这个符号熟悉吧?但是其实这个符号的解释网上是不容易的。

1.

这个只会出现在定义了结构体还定义了结构体指针之后。

2.

如果我们需要调用结构体指针指向的结构体中的一个对象,我们该怎么做呢?

struct Line
{int datastruct Line* next
};struct Line A;
struct Line* B;/*如果我们要调用A中的data,我们会怎么做?*/
int num1 = A.data;/*如果我们要调用B中的data呢?*/
int num2 = (*B).data;
int num3 = B->data
/*也就是说如果定义的是结构体指针,以上两种方式相同*/

3.总结

->是一个结构指针调用该结构体中对象的方式

意思是用->左边的指针指向结构体,再调用结构体中右边的那个对象。

注:我们将如上B->data看作一个整体,这个整体就是data。下面哪个是对data赋值,哪个是调用data的值?

B->data = n;
n = B->data;

答案的顺序就是提问的顺序。

 (3

1.关于头指针head(仅针对我这种写法)

struct Line* head = (struct Line*)malloc(sizeof(struct Line));
struct Line* p;
p=head;

 这里只有head开辟出了一片存放结构体的空间,也就是说,现在head指向的结构体已经创建好了,但!p指针没有,p只是一个空指针,在复制后p才指向了与head相同的结构体。

其次,我这种写法head指针指向的结构体data没有实际意义,因为它不会存放任何你所输入的数据,这个我马上解释。

for(int i = 0; i < k; i++) //k是链表需要存放的数据的个数
{struct Line* s = (struct Line*)malloc(sizeof(struct Line)); int my_data = 0; //my_data是你需要存放的一个数据std::cin >> my_data; //向my_data输入数据,相当于scanf()s->data=my_data;s->next=NULL;p->next=s;p=s;
}

我们存放数据的操作全在循环中进行,但是你会惊讶的发现,我们重新定义了一个结构体指针s并且为它开辟了一个新的结构体,并且现在才开始存放数据。

这样看来head以及head指向的结构体似乎没有什么存在的意义:

但是我这样做是为了保护head指向的结构体的稳定,就冲这一句话你就懂得head的重要性了,我们无论增删改查这个结构体,我们都需要先遍历结构体(也就是查找链表中的某个数据),遍历就需要从head指向的结构体开始逐个查找下一个,也正因如此head指针除非不再需要这个链表,否则无论如何都不能动它,也就是只能调用它,千万不能为它赋值

2.关于p指针

p指针需要让它动起来才能发挥作用。p指针就像机械硬盘的那个磁头,而链表就是磁盘,磁头在磁盘上逐个遍历查找数据,而p指针在链表上逐个遍历查找数据。

因为链表的特性,p指针不能跳跃查找,只能逐个查找,遍历链表,也就是说运气不好甚至要遍历完整个链表。

p指针遍历方式:

p=head->next; //还记得吧,之前说的head指向的结构体不存放任何数据,所以赋值到head的下一个/*第1种*/
for(int i = 0; i < k-1; i++)
{p=p->next;
}
int need = p->data; //need就是第k个数据/*第2种*/
while(p->next!=NULL) //这里我后面在是s指针处解释
{p=p->next;
}
//遍历整个链表

3.关于s指针

首先,s指针定义的全部是存放数据的结构体。

其次,s指针在循环中定义!!!所以每次完成一次循环s不再存在,但每次s指向的结构体都挂在了链表上不会消失。千万不要忽视这个,确实很简单,但重要。

其实大家对s指针最不理解的应该是这一段

s->data=my_data;
s->next=NULL;
p->next=s;
p=s;

接下来,我拆开给各位朋友解释:

s->data=my_data; //第1行

向这一次循环时开辟的结构体中的data赋值;

s->next=NULL; //第2行

向这一次循环时开辟的结构体中的next指针赋值为NULL;

p->next=s; //第3行

理解这一句话千万不能想循环才进行第1次!要想这是第n次。

现在我告诉你,p指针指向的是这一次循环的上一次循环开辟结构体。等下解释。

那么这一行也就很好理解了,给p指向的结构体赋值s,那不就是把新开辟的结构体挂在p指向的结构体后面嘛。

p=s; //第4行

有了对第3行的说明,这一句也就显而易见了,为了保持创建链表时每一次p都指向链表的尾端(创建的s在实现第3句时都还没有挂在链表的尾端,而实现第3句挂上后又马上实现第4句重新让p指向链表尾端)

这也是上一句遗留的解释的原因。

 (4 动画解释

二、代码

(1 尾插法 输出按输入顺序

#include<stdio.h>
#include<stdlib.h>struct Line
{int data;struct Line* next;
};int main()
{int num=0;printf("请输入您需要插入的数据个数:");scanf("%d",&num);struct Line* head = (struct Line*)malloc(sizeof(struct Line));struct Line* p;p = head;for(int i = 0; i < num; i++){struct Line* s = (struct Line*)malloc(sizeof(struct Line));int n=0;printf("请输入第%d个数:",i+1);scanf("%d",&n);s->data = n;s->next = NULL;p->next = s;p = s;}
/*以上为创建链表部分*/p = head->next;for(int i = 0; i < num; i++){printf("第%d个数是:%d\n",i+1,p->data);p = p->next;}
/*此部分为输出链表所有数据*/
}

 (2 头插法 输出按输入倒序

#include<stdio.h>
#include<stdlib.h>struct Line
{int data;struct Line* next;
};int main()
{int num = 0;printf("请输入您需要插入的数据个数:");scanf("%d", &num);struct Line* tail = (struct Line*)malloc(sizeof(struct Line));struct Line* p;p = tail;tail->next = NULL;for (int i = 0; i < num; i++){struct Line* s = (struct Line*)malloc(sizeof(struct Line));int n = 0;printf("请输入第%d个数:", i + 1);scanf("%d", &n);s->data = n;s->next = p;p = s;tail = s;}/*以上为创建链表部分*/for (int i = 0; i < num; i++){printf("第%d个数是:%d\n", i + 1, p->data);p = p->next;}/*此部分为输出链表所有数据*/
}

根据这个性质可以实现一些函数题的逆序输出。 

相关文章:

链表?->?(以尾插法说明,附头插法)

这篇文章做一些关于初学链表的一些问题的解答。 我知道有些朋友只是需要一份完整的关于链表的代码&#xff0c;我会附在后面&#xff0c;大家直接划到最后就好。 一、创建链表 (1 相信所有搜索过链表创建的朋友都看过这样一行&#xff1a; struct Line* head (struct Line…...

11.29周五F34-Day10打卡

文章目录 1. 问问他能不能来。解析答案:【解析答案分析】【对比分析】【拓展内容】2. 问题是他能不能做。解析答案:【解析答案分析】3. 问题是我们能否联系得上她。(什么关系?动作 or 描述?)解析答案:【解析答案分析】【对比分析】4. 我们在讨论是否要开一个会。解析答案:…...

【项目日记】仿mudou的高并发服务器 --- 实现HTTP服务器

对于生命&#xff0c;你不妨大胆一点&#xff0c; 因为我们始终要失去它。 --- 尼采 --- ✨✨✨项目地址在这里 ✨✨✨ ✨✨✨https://gitee.com/penggli_2_0/TcpServer✨✨✨ 仿mudou的高并发服务器 1 前言2 Util工具类3 HTTP协议3.1 HTTP请求3.2 HTTP应答 4 上下文解析模块…...

【SpringBoot问题】IDEA中用Service窗口展示所有服务及端口的办法

1、调出Service窗口 打开View→Tool Windows→Service&#xff0c;即可显示。 2、正常情况应该已经出现SpringBoot&#xff0c;如下图请继续第三步 3、配置Service窗口的项目启动类型。微服务一般是Springboot类型。所以这里需要选择一下。 点击最后一个号&#xff0c;点击Ru…...

Ubuntu20.04运行LARVIO

文章目录 1.运行 Toyish 示例程序2.运行 ROS Nodelet参考 1.运行 Toyish 示例程序 LARVIO 提供了一个简化的toyish示例程序&#xff0c;适合快速验证和测试。 编译项目 进入 build 文件夹并通过 CMake 编译项目&#xff1a; mkdir build cd build cmake -D CMAKE_BUILD_TYPER…...

数字化转型背景下,高职院校计算机网络应用的革新策略

在当今信息化时代&#xff0c;计算机网络已经成为高职院校教育不可或缺的一部分&#xff0c;它不仅极大地丰富了教育资源&#xff0c;提高了交流的便捷性&#xff0c;还催生了多样化的教学模式。对于高职院校来说&#xff0c;加强计算机网络应用的建设不仅是顺应时代潮流的必然…...

mysql 里面的主表和子表是什么?如何创建主表和子表的关系

在MySQL数据库中&#xff0c;主表和子表的概念是基于表间关系的。它们通常通过外键约束来建立联系&#xff0c;这种关系有助于维护数据的完整性和一致性。以下是对MySQL中主表和子表的详细解释&#xff1a; 主表&#xff08;父表&#xff09; 定义&#xff1a;主表&#xff0c…...

工程企业的成本管理系统软件应该有哪些特点?

工程企业的成本管理系统软件需要兼顾工程项目的复杂性和动态性&#xff0c;其功能特点应服务于成本核算、监控、优化与分析全生命周期管理&#xff0c;以下是关键特点&#xff1a; 一、核心功能特点 1. 全生命周期成本管理 覆盖范围&#xff1a; 从项目立项、投标、预算编制&…...

【前端开发】实战:课表安排(HTML + JavaScript + Vue3 + Vant)

后端开发 主要定义了三个核心部分&#xff1a;每周周期&#xff08;WeekDays&#xff09;、每天节次&#xff08;TimeLessons&#xff09; 和 每天节次详情&#xff08;Details&#xff09; 每周周期&#xff08;WeekDays&#xff09; 存储了每周的七天&#xff08;通常是从周一…...

nodejs建立TCP服务器端和TCP客户端之间的连接

TCP服务器端&#xff0c;看名字也知道是建立在服务器上面的 //获取模块 const net require(net); //创建server服务器 const servernet.createServer(); //与客户端建立连接 server.on(connection,function(socket){console.log(客户端与服务器连接已经建立);//socket是客户端…...

Pytorch使用手册-What is torch.nn really?(专题九)

我们建议将本教程作为 notebook 而不是脚本运行。要下载 notebook(.ipynb)文件,请点击页面顶部的链接。 PyTorch 提供了精心设计的模块和类,如 torch.nn、torch.optim、Dataset 和 DataLoader,帮助你创建和训练神经网络。为了充分利用这些工具的强大功能并根据你的问题进…...

ADAM优化算法与学习率调度器:深度学习中的关键工具

深度学习模型的训练效果离不开优化算法和学习率的选择。ADAM&#xff08;Adaptive Moment Estimation&#xff09;作为深度学习领域中广泛应用的优化算法之一&#xff0c;以其高效性和鲁棒性成为许多任务的默认选择。而学习率调度器则是优化算法的“助推器”&#xff0c;帮助训…...

黑马2024AI+JavaWeb开发入门Day03-Maven-单元测试飞书作业

视频地址&#xff1a;哔哩哔哩 讲义作业飞书地址&#xff1a;飞书 作业比较简单&#xff0c;随便写了写 package org.example;import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.ju…...

TouchGFX设计模式代码实例说明

一)Model - View - Presenter (MVP) 模式在 TouchGFX 中的应用 1)Model&#xff08;模型&#xff09;&#xff1a; 模型代表应用程序的数据和业务逻辑。例如&#xff0c;在一个简单的计数器应用中&#xff0c;模型可以是一个包含计数器当前值的类。 class CounterModel { pri…...

Docker扩容操作(docker总是空间不足)

Docker扩容操作(docker总是空间不足) 1、df二连&#xff0c;一共也就70g&#xff0c;总是占满93%以上。所以需要移动到其他目录上 查看docker镜像和容器存储目录的空间大小 du -sh /var/lib/docker/2、停止docker服务 systemctl stop docker3、首先创建目录并迁移 # 首先创…...

ELK Fleet JAVA LOG收集与展示教程

目录 elastic-fleet架构 Elastic Agent的优势 Fleet JAVA日志收集流程 1.注册Fleet Sever 2.创建JAVA代理收集策略Agent Policy 3.添加集成 integration 4.调整Java log输出格式 5.添加Elastic Agent 6.添加Ingest 7.创建数据视图 8.其他Policy nginx-policy syst…...

【Python网络爬虫笔记】2-HTTP协议中网络爬虫需要的请求头和响应头内容

1 HTTP 协议整理 HTTP&#xff08;Hyper Text Transfer Protocol&#xff09;即超文本传输协议&#xff0c;是用于从万维网&#xff08;WWW&#xff09;服务器传输超文本到本地浏览器的传送协议&#xff0c;直白点儿&#xff0c;就是浏览器和服务器之间的数据交互就是通过 HTT…...

TiDB 调度概述

PD 是 TiDB 集群的管理模块&#xff0c;同时也负责集群数据的实时调度。本文档介绍一下 PD 的设计思想和关键概念。 场景描述 TiKV 集群是 TiDB 数据库的分布式 KV 存储引擎&#xff0c;数据以 Region 为单位进行复制和管理&#xff0c;每个 Region 会有多个 Replica&#xf…...

MySQL的Json类型数据操作方法

前言 MySQL在5.7增加了json类型数据&#xff0c;项目中最近有在使用。直接使用JSONObject或者JSONArray类型的时候会报以下的异常。发现需要将Java实体字段设置为String类型&#xff0c;然后需要的时候自己转换为JSONObject或者JSONArray。使用很不方便&#xff0c;经研究发现…...

论文笔记(五十九)A survey of robot manipulation in contact

A survey of robot manipulation in contact 文章概括摘要1. 引言解释柔顺性控制的概念&#xff1a;应用实例&#xff1a; 2. 需要接触操控的任务2.1 环境塑造2.2 工件对齐2.3 关节运动2.4 双臂接触操控 3. 接触操控中的控制3.1 力控制3.2 阻抗控制3.3 顺应控制 4. 接触操控中的…...

基础原型链污染

<aside> &#x1f4a1; 引用类型皆为对象 </aside> 原型和原型链都是来源于对象而服务于对象的概念&#xff0c;所以我们要先明确一点&#xff1a; JavaScript中一切引用类型都是对象&#xff0c;对象就是属性的集合。 Array类型、Function类型、Object类型、…...

nginx 升级http 到 http2

同步发布于我的网站 &#x1f680; 背景介绍准备工作配置过程遇到的问题及解决方法验证升级总结参考资料 背景介绍 HTTP/2 是 HTTP 协议的最新版本&#xff0c;相比 HTTP/1.1&#xff0c;它带来了多项重要的改进&#xff0c;包括多路复用、头部压缩和服务端推送。这些特性可…...

XPath表达式详解及其在Web开发中的应用

XPath&#xff08;XML Path Language&#xff09;是一种强大的查询语言&#xff0c;用于在XML文档中选择节点。由于HTML可以被视为一种特殊的XML&#xff0c;因此XPath同样适用于HTML文档。XPath允许开发者通过元素的层级结构和属性来选择节点或节点集合&#xff0c;这使得它成…...

云服务器进行安全防护的必要性

在当今这个数字化时代&#xff0c;云计算已成为企业运营不可或缺的一部分&#xff0c;而云服务器作为云计算的核心基础设施&#xff0c;承载着数据存储、应用部署、业务运行等多重关键任务。随着企业数字化转型的深入&#xff0c;云服务器上的数据量激增&#xff0c;业务逻辑日…...

win10系统安装docker-desktop

1、开启Hyper-v ———————————————— Hyper-V 是微软提供的一种虚拟化技术&#xff0c;它允许你在同一台物理计算机上运行多个独立的操作系统实例。这种技术主要用于开发、测试、以及服务器虚拟化等领域。 —————————————————————— &#…...

video.js 禁用单击暂停

video.js 默认效果是单击播放区域暂停/播放 需求&#xff1a;要实现单击播放区禁止暂停/播放功能 有其他的点击效果需要实现 会导致俩功能有冲突 作者给出答案:如下 .vjs-tech {pointer-events: none; } 确实管用,想了很多阻止的办法,都没这个来的快...

【二维动态规划:交错字符串】

介绍 编程语言&#xff1a;Java 本篇介绍一道比较经典的二维动态规划题。 交错字符串 主要说明几点&#xff1a; 为什么双指针解不了&#xff1f;为什么是二维动态规划&#xff1f;根据题意分析处转移方程。严格位置依赖和空间压缩优化。 题目介绍 题意有点抽象&#xff0c…...

如何在CentOS 7上安全地设置Apache网站目录权限

一、概述 在CentOS 7上运行Apache Web服务器时&#xff0c;正确设置文件和目录的权限对于确保网站的安全性和正常运行至关重要。本文将介绍如何为Apache网站目录&#xff08;例如/var/www/html/&#xff09;设置合适的权限&#xff0c;以平衡安全性和功能性需求。 二、所有权 …...

Makefile 入门指南:构建自动化编译流程

个人主页&#xff1a;chian-ocean 文章专栏 前言 make 和 Makefile 是编译和构建软件项目时非常常用的工具和文件&#xff0c;它们通常配合使用来自动化项目的编译过程。 make 定义&#xff1a;make 是一个构建自动化工具&#xff0c;用于根据项目文件的依赖关系自动完成编译…...

TransVG 代码配置及一些小细节

TransVG代码配置 File “/home/wyq/TransVG/utils/misc.py”, line 22, in <module> from torchvision.ops import _new_empty_tensor ImportError: cannot import name ‘_new_empty_tensor’ if float(torchvision.__version__[:3]) < 0.7: # torchvision.__version…...

DIY-Tomcat part 3 实现对动态资源的请求

实现ServletRequest package connector;import javax.servlet.RequestDispatcher; import javax.servlet.ServletInputStream; import javax.servlet.ServletRequest; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.i…...

在鲲鹏麒麟服务器上部署MySQL主从集群

因项目需求需要部署主从MySQL集群&#xff0c;继续采用上次的部署的MySQL镜像arm64v8/mysql:latest&#xff0c;版本信息为v8.1.0。计划部署服务器192.168.31.100和192.168.31.101 部署MySQL主节点 在192.168.31.100上先创建好/data/docker/mysql/data和/data/docker/mysql/l…...

K8S版本和istio版本的对照关系

版本对照关系 下载地址1 下载地址2...

省级新质生产力数据(蔡湘杰版本)2012-2022年

测算方式&#xff1a;参考《当代经济管理》蔡湘杰&#xff08;2024&#xff09;老师研究的做法&#xff0c;本文以劳动者、劳动对象和劳动资料为准则层&#xff0c;从新质生产力“量的积累、质的提升、新的拓展”三维目标出发&#xff0c;构建新质生产力综合评价指标体系&#…...

速盾:介绍一下高防cdn的缓存响应事什么功能?

高防CDN&#xff08;Content Delivery Network&#xff09;是一种基于分布式缓存技术的网络加速服务&#xff0c;能够提供强大的缓存响应功能。它的缓存响应功能主要包括缓存加速和智能缓存两个方面。 首先&#xff0c;高防CDN的缓存加速功能是指通过在全球范围内部署大量的缓…...

如何解决服务器扫描出的ASP木马问题

随着互联网的发展&#xff0c;网站安全问题日益凸显。其中&#xff0c;ASP&#xff08;Active Server Pages&#xff09;木马因其隐蔽性和危害性成为攻击者常用的手段之一。本文将详细介绍如何检测和清除服务器上的ASP木马&#xff0c;以保障网站的安全。 1. ASP木马概述 ASP…...

CTF之WEB(sqlmap tamper 参数)

apostropheask.py 作用&#xff1a;将单引号替换为UTF-8&#xff0c;用于过滤单引号。 base64encode.py 作用&#xff1a;替换为base64编码。 multiplespaces.py 作用&#xff1a;绕过SQL关键字添加多个空格。 space2plus.py 作用&#xff1a;用号替换…...

小程序-基于java+SpringBoot+Vue的乡村研学旅行平台设计与实现

项目运行 1.运行环境&#xff1a;最好是java jdk 1.8&#xff0c;我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境&#xff1a;IDEA&#xff0c;Eclipse,Myeclipse都可以。推荐IDEA; 3.tomcat环境&#xff1a;Tomcat 7.x,8.x,9.x版本均可 4.硬件环境&#xff1a…...

力扣81:搜索旋转排序数组II

已知存在一个按非降序排列的整数数组 nums &#xff0c;数组中的值不必互不相同。 在传递给函数之前&#xff0c;nums 在预先未知的某个下标 k&#xff08;0 < k < nums.length&#xff09;上进行了 旋转 &#xff0c;使数组变为 [nums[k], nums[k1], ..., nums[n-1], n…...

力扣题库Day4(持续更新中...)

2024/11/29 回文数&#xff1a; 给你一个整数x&#xff0c;如果x是一个回文整数&#xff0c;返回true&#xff1b;否则&#xff0c;返回false。 回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 class Solution {public boolean isPalindrome(int x) {if(x &l…...

MySQL数据库表的操作

1、总述 今天我跟大家分享MySQL数据库中表的创建&#xff0c;查看&#xff0c;修改&#xff0c;删除。 2、创建表 create table table_name ( field1 datatype, field2 datatype, field3 datatype ) character set 字符集 collate 校验规则 engine 存储引擎; 说明&#xff1…...

Java阶段三05

第3章-第5节 一、知识点 动态代理、jdk动态代理、cglib动态代理、AOP、SpringAOP 二、目标 理解什么是动态代理和它的作用 学会使用JAVA进行动态代理 理解什么是AOP 学会使用AOP 理解什么是AOP的切入点 三、内容分析 重点 理解什么是动态代理和它的作用 理解什么是AO…...

【论文复现】LeNet-5

&#x1f4dd;个人主页&#x1f339;&#xff1a;Eternity._ &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; ❀ LeNet-5 概述LeNet-5网络架构介绍使用 LeNet-5 网络结构创建 MNIST 手写数字识别分类器下载并加载数据&#xff0c;并对数据进行预处理搭建 …...

Python-链表数据结构学习(1)

一、什么是链表数据&#xff1f; 链表是一种通过指针串联在一起的数据结构&#xff0c;每个节点由2部分组成&#xff0c;一个是数据域&#xff0c;一个是指针域&#xff08;存放下一个节点的指针&#xff09;。最后一个节点的指针域指向null&#xff08;空指针的意思&#xff0…...

nginx安装和负载均衡

1. nginx安装 &#xff08;1&#xff09;安装依赖项&#xff1a; yum -y install gcc gcc-c make libtool zlib zlib-devel openssl openssl-devel pcre pcre-devel&#xff08;2&#xff09;下载Nginx源代码&#xff1a; http://nginx.org/en/download.html https://nginx.o…...

Buffered 和 BuffWrite

Buffered和BuffWrite是Java IO包中的两个类&#xff0c;用于提高IO操作的效率。 Buffered是一个缓冲区类&#xff0c;可以将一个InputStream或者一个Reader包装起来&#xff0c;提供了一定的缓冲区大小&#xff0c;可以一次读取多个字节或字符&#xff0c;减少了读取的次数&am…...

第三十八篇——高斯分布:大概率事件意味着什么?

目录 一、背景介绍二、思路&方案三、过程1.思维导图2.文章中经典的句子理解3.学习之后对于投资市场的理解4.通过这篇文章结合我知道的东西我能想到什么&#xff1f; 四、总结五、升华 一、背景介绍 通过高斯分布的公式&#xff0c;我们可以从科学的角度知道很多和我们的直…...

Ubuntu24.04初始化教程(包含基础优化、ros2)

目录 构建系统建立系统备份**Timeshift: 系统快照和备份工具****安装 Timeshift****使用 Timeshift 创建快照****还原快照****自动创建快照** 最基本配置换源 软件配置打开新世界大门 谷歌浏览器星火应用商城更换输入法安装vscode 完全删除snap删除**删除软件****彻底删除**禁止…...

C/C++ 数据结构与算法 【时间复杂度和空间复杂度】【日常学习,考研必备】

一、时间复杂度 定义&#xff1a;时间复杂度描述了算法运行时间随输入大小增长而增长的趋势。它主要关注的是算法中最耗时的部分&#xff0c;并忽略常数因子、低阶项等细节。表示方法&#xff1a;通常使用大O符号&#xff08;Big O notation&#xff09;来表示时间复杂度。例如…...

brew安装mongodb和php-mongodb扩展新手教程

1、首先保证macos下成功安装了Homebrew&#xff0c; 在终端输入如下命令&#xff1a; brew search mongodb 搜索是不是有mongodb资源&#xff0c; 演示效果如下&#xff1a; 2、下面来介绍Brew 安装 MongoDB&#xff0c;代码如下&#xff1a; brew tap mongodb/brew brew in…...