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

基于web框架的协同过滤的美食推荐系统【数据爬虫、管理系统、数据可更新、样式可调整】

文章目录

    • ==有需要本项目的代码或文档以及全部资源,或者部署调试可以私信博主==
      • 项目介绍
      • 研究背景
      • 研究的目的与意义
      • 协同过滤算法
        • 基于用户的协同过滤算法定义
        • 基于物品的协同过滤算法的定义
      • 数据库设计
      • db_food(美食信息表)
      • db_collect(美食收藏表)
      • db_comment(美食评价表)
      • db_look(美食浏览记录表)
      • db_score(美食评分表)
      • db_type(美食类型表)
      • db_user(用户信息表)
      • db_userlabel(用户兴趣标签表)
      • 美食推荐系统的设计与实现
      • 需求分析
      • 主要功能用例图
      • 系统展示
      • 每文一语

有需要本项目的代码或文档以及全部资源,或者部署调试可以私信博主

项目介绍

随着网络和数字媒体的发展,在线美食平台的资源日渐丰富。如何让用户在广博的美食世界里快速找到自己喜欢的美食成为困难。针对这种现象,美食推荐系统应运而生。本文对目前使用最广泛的推荐算法——协同过滤推荐算法展开研究,并实现该算法的两种模型,即基于用户的协同过滤和基于物品的协同过滤为用户提供个性化美食推荐服务,让用户方便、快速的找到自己感兴趣的美食。系统利用爬虫技术在美食天下网中获取美食相关美食数据信息,通过协同过滤算法将相关的数据生成相应的推荐结果,可以直观形象地推荐给用户。

在这里插入图片描述

研究背景

如今,随叫随到的外卖服务非常流行。食客可以浏览在线餐厅市场,选择餐厅并预订他们喜欢的食物或饮料。但是面对网络数据的爆炸增长,使得用户难以在海量的数据中快速地找到适合自己的美食,具有一定的盲目性。通过对现有美食App的调查发现,美食数据排行过于笼统,不能有效解决用户的个人喜好等问题。针对以上问题,现阶段的市场提供个性化推荐服务、提高检索效率、优化用户体验成了广大食客的诉求。面对这一诉求,根据数据集的用户和餐厅特征,提出基于协同过滤的美食推荐系统算法,该算法结合了基于用户的推荐算法、基于美食的推荐算法。现如今,随着我们的生活水准不断提高,对吃食也有了一定的要求,然而大多时候由于其他一些因素的限制,让大众无法了解到所喜爱的饮食习惯,所以有必要设计一个美食推荐系统,记录饮食习惯,推荐匹配度最高的美食。

研究的目的与意义

本课题主要是解决美食网站的个性化推荐功能,以便准确向用户推荐感兴趣的信息。个性化推荐的主要思想是,根据用户的历史操作行为,分析用户兴趣喜好,然后把用户比较感兴趣的同时没有操作行为的物品推荐给用户。个性化推荐也可以根据用户操作行为的变化而实时分析并推荐用户喜好程度比较高的物品,这样用户会对网站产生粘性,提高用户的忠诚度,为商家带来流量,进一步提高商家利润,具有较大的商业价值,可以达到双赢的目的。

个性化推荐的基础和核心是推荐算法,推荐算法的好坏会直接影响推荐效果。目前比较流行的推荐算法是基于用户的协同过滤推荐算法、基于物品的协同过滤推荐算法、聚类算法和混合推荐算法等,这些算法的本质都是分析用户喜好进而向用户推荐最喜欢的物品,不同的算法也会有不同的侧重点和特点。

本课题研究的推荐算法是基于用户和物品的协同过滤推荐算法,基于用户的协同过滤推荐算法通过比较用户之间的操作行为,分析与目标用户操作行为最相似的若干个用户,将若干个最相似用户的喜好程度较高的物品推荐给目标用户,基于物品的协同过滤推荐算法通过比较物品之间的相关性,为用户推荐用户已经喜欢物品的相关性较高的其他物品。

协同过滤算法

协同过滤推荐算法是目前应用最广泛的个性化推荐算法。该算法的基本思想是“物以类聚,人以群分”。对于用户A,我们可以采用两种推荐方案:一是找到和用户A品味相同的用户群,把这些用户喜欢的物品推荐给A;二是以A当前喜欢的物品为参考,把和这个物品相似的物品集推荐给A。这两种解决方案分别描述的是两种模型,一种是基于用户的协同过滤(user-based),一种是基于物品(item-based)的协同过滤。

基于用户的协同过滤算法定义

基于用户的协同过滤算法,基本思想是“人以群分”,根据目标用户对物品的喜好,找到和目标用户口味相似的“邻居”用户群,再根据邻居的历史偏好对用户进行推荐,见图1-1所示。假设用户A喜欢美食A和B,用户B喜欢美食D,用户C美食音乐A ,B 和C;从这些用户的偏好信息中,我们可以发现用户A、C的喜好相似。因为用户C喜欢美食C,我们可以推断用户A很有可能也喜欢,可以将美食C推荐给用户A。

在这里插入图片描述
根据用户历史行为信息构建用户-物品评分矩阵。
在这里插入图片描述

根据用户-物品评分矩阵计算用户之间的相似度
计算相似度常用的方法有余弦算法、修正余弦算法、皮尔森算法等等,本物品采用余弦算法。余弦算法公式如下所示:

在这里插入图片描述
表示:(用户u对物品i的评分用户v对物品i的评分)之和/(用户u对物品i的评分的平方之和再开方)(用户v对物品i的评分的平方之和再开方)

根据用户之间的相似度得到目标用户的最近邻居KNN

KNN的筛选常用的有两种方式,一种是设置相似度阀值,给定一个相似度的下限,大于下限的相似度为最近邻居,一种是根据与目标用户相似度的高低来选择前N个最近邻居,本次物品以前N个为例,相似度排序采用经典冒泡排序法。

预测物品评分并进行推荐

计算公式如下所示:

在这里插入图片描述在这里插入图片描述

基于物品的协同过滤算法的定义

而基于物品的协同过滤算法(Item-basing CF)根据物品考虑问题,但算法本身并不是根据物品本身的特性来判断物品之间的相似性,而是通过用户行为来判断物品之间的相似性。如图 2 所示,用户 A 和用户 C 首选的物品中的公共物品是物品 A 和物品 D。根据算法本身的原理,可以得到 A 项与 D 项相似,因此与 A 项相似的 D 项可以在用 户 B 喜欢 A 项时相对推荐。

在这里插入图片描述1.根据用户历史行为信息构建物品-用户评分矩阵。
2.根据物品-用户评分矩阵计算用户之间的相似度。
计算相似度常用的方法有余弦算法、修正余弦算法、皮尔森算法等等,系统采用余弦算法。余弦算法公式如下所示:
在这里插入图片描述
在这里插入图片描述

性能:适用于用户较少的场合,如果用户很多,计算用户相似度矩阵代价很大。
领域:时效性较强,用户个性化兴趣不太明显的领域。
实时性:用户有新行为,不一定造成推荐结果的立即变化。

冷启动:在新用户对很少的物品产生行为后,不能立即对它进行个性化推荐,因为用户相似度表示每隔一段时间离线计算的。新物品上线后一段时间,一旦有用户对物品产生行为,就可以将新物品推荐给和对它产生行为的用户兴趣相似的其他用户。
推荐理由:很难提供令用户信服的推荐解释。

2.3.2 基于物品

性能:适用于物品数明显小于用户数的场合,如果物品很多,计算物品的相似度矩阵代价很大。
领域:长尾物品丰富,用户个性化需求强烈的领域。
实时性:用户有新行为,一定会导致推荐结果的实时变化。

冷启动:新用户只要对一个物品产生行为,就可以给它推荐和该物品相关的其它物品。但没有办法在不离线更新物品相似度表的情况下将新的物品推荐给用户。
推荐理由:利用用户的历史行为给用户做推荐解释,可以令用户比较信服。

推荐算法常见问题及解决方案

冷启动问题

冷启动问题一直是协同过滤算法需要面对的问题,指的是用户刚进入系统,并没有历史行为或历史行为较少(本系统体现在对美食的评分)。根据公式我们可以看出计算出来的相似度很低,几乎没有参考价值。而推荐系统需要根据用户的历史行为和兴趣预测用户未来的行为和兴趣。

数据稀疏性问题

数据的稀疏性则是在系统搭建的初期用户很少,协同过滤的第一步是建立用户与美食的矩阵来表示。这看上去很简单,但在实际的系统中许多美食推荐系统要对巨大的信息流进行统计。而用户在系统中涉及到的物品(美食)不到系统的百分之一。因此照成形成的矩阵很稀疏。这样计算出来的相似度很难确定邻居用户集,也会极大的损耗计算性能。推荐的效果也会很低。例如用户之间的传递性缺失,如A与B用户的相似度高,B与C相似度也很高,但A与C又没有很多共同的美食评分(交集),那么判断A与C之间的关联度不高,这样会降低推荐的效果。

根据现有的技术,本系统采用了让新加入系统的用户先选择自己喜欢的分类,先根据分类的标签推荐用户,等用户具有历史操作后再给用户使用协同过滤推荐算法推荐,能解决用户的冷启动问题。

数据库设计

在这里插入图片描述
在这里插入图片描述

db_food(美食信息表)

列名说明数据类型长度主键外键非空
id编号int20
foodname美食名称varchar20
foodtypeid美食类型编号int20
image图片varchar255
material食材varchar255
content简介text
createtime添加时间varchar255

db_collect(美食收藏表)

列名说明数据类型长度主键外键非空
id编号int20
userid用户编号int20
foodid美食编号int20
createtime添加时间varchar255

db_comment(美食评价表)

列名说明数据类型长度主键外键非空
id编号int20
userid用户编号int20
foodid美食编号int20
content评论内容text
createtime添加时间varchar255

db_look(美食浏览记录表)

列名说明数据类型长度主键外键非空
id编号int20
userid用户编号int20
foodid美食编号int20
createtime添加时间varchar255

db_score(美食评分表)

列名说明数据类型长度主键外键非空
id编号int20
userid用户编号int20
foodid美食编号int20
score美食评分int20
createtime添加时间varchar255

db_type(美食类型表)

列名说明数据类型长度主键外键非空
id编号int20非空
typename美食类型名称varchar255

db_user(用户信息表)

列名说明数据类型长度主键外键非空
id编号int20
username用户名varchar20
password密码varchar20
header头像varchar255
gender性别int20
age年龄int20
phone电话varchar255
email邮箱varchar255
lastlogintime最近登录时间varchar255
state用户账号状态int20
createtime注册时间varchar255

db_userlabel(用户兴趣标签表)

列名说明数据类型长度主键外键非空
id编号int20
userid用户编号int20
foodtypeid美食编号int20
createtime添加时间varchar255

美食推荐系统的设计与实现

在这里插入图片描述

(1) PythonDjangoProject,这个是项目名称

(2) PythonDjangoProject下的PythonDjangoProject是项目全局配置文件夹,该文件夹是项目自动生成的,相当于项目容器。

init.py,这个文件是生成的空文件,用它标识一个目录为Python的标准包即模块包,如果没有那么他所在的文件夹就是个普通的文件夹不能被其他模块导入。目前我们已经在里边添加了安装mysql数据库插件模块的代码。

asgi.py,Django3.0版本新出的异步功能。

settings.py,Django 项目的配置文件,包括 Django 模块应用配置,数据库配置,模板配置等。

urls.py,Django 项目的 URL 声明。django下所有的页面都需要在该urls文件中配置一下,否则在访问的时候会找不到该文件。

wsgi.py,全称是 webserver getway interface,即Web服务器的网关接口,是python应用与Web服务器交互的接口,一般不需要做任何修改。

(3) manage.py,manage.py文件位于整个物品的最外层,是该项目的项目管理器,它提供了很多的命令用来管理该项目,在终端中可以查看它提供的所有命令,可通过输入:python manage.py 查看其命令,项目的启动其实也是通过manage.py文件的命令。

(4) MyDjango,是应用程序文件夹。

migrations是用于记录 models 中数据的变更。init.py是生成的空文件。0001_initial.py是在执行python manage.py makemigrations命令时生成的。

init.py,是生成的空文件。

admin.py,映射 models 中的数据到 Django 自带的 admin 后台。

apps.py,用于应用程序的配置。

models.py:创建应用程序数据表模型(对应数据库的相关操作)。

tests.py:创建 Django 测试。单元测试。

views.py,控制向前端显示哪些数据。

需求分析

1、游客:该类用户打开平台后,可以浏览美食信息、搜索美食,并在首页看到美食热点推荐结果(根据美食总评分和总收藏数量降序推荐),同时可以进行注册、登录操作。

2、登录用户:该类用户在浏览美食信息时,会有多个推荐方式为其进行个性化推荐美食,还可以添加兴趣标签,对美食进行收藏、评论、评分操作,并且同时查看美食的收藏、评论、评分情况,注销账号。在个人中心里,可以查看修改个人账号相关信息,管理个人的美食浏览记录,修改兴趣标签,查看并操作个人的美食收藏、评论、评分数据。

3、管理员:可以查看修改个人账号信息;查看和删除用户信息、用户选择喜好便签信息、用户浏览记录,对所有用户进行收藏管理、评论管理、评分管理,增删改美食类型信息、美食信息,同时会对数据进行统计。

4、个性化推荐功能:热点榜单(查询浏览数量最多的美食,同时不包括当前登录用户浏览过的美食);基于用户的协同过滤推荐算法(根据评分数据),如果没有推荐结果,采用热点推荐(根据登录用户兴趣标签下的美食的总评分降序推荐,同时是登录用户没有评分的);基于物品的协同过滤推荐算法(根据收藏数据),如果没有推荐结果,采用热点推荐(根据登录用户兴趣标签下的美食的收藏数量降序推荐,同时是登录用户没有收藏的)。

根据功能描述的内容,美食平台划分成以下模块:平台基本功能、个性化推荐、基本信息管理。每一个大的模块又可以划分成许多小模块

在这里插入图片描述
在系统功能模块的树状结构图中,每一个叶子节点都是一个最小的功能模块,每个功能模块都需要对数据库中不同的表进行操作,如查看、修改、删除、添加数据。

在这里插入图片描述
流程图展示了用户在使用系统时的工作过程。

说明:当浏览者进入该平台时,先以游客的身份使用平台功能。当游客要对一些受限的权限操作时。平台会提示游客是否要登录平台或注册为平台用户。当登录验证成功或注册成功后,游客就会变成平台用户并可以享有更多的权限。当平台用户退出系统后又变成了游客的身份。

主要功能用例图

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述

爬虫代码部分展示

# 爬取美食列表def getFoods(self, type, param):try:# https://home.meishichina.com/recipe/recai/  第一页# https://home.meishichina.com/recipe/recai/page/2/# 分页查询当前美食类型下的美食,从第一页开始currentPage = 0# 每种类型下爬取的美食数量,临时变量foodCountTemp = self.foodCountendFlag = False  # 每种类型下爬取美食结束标志# 遍历while True:# 每页10条数据currentPage = currentPage + 1# 定义urlfullUrlTemp = None# 如果是第一页,排序hot:最热,空:最新if currentPage == 1:fullUrlTemp = self.base_url + "recipe/" + paramelse:fullUrlTemp = self.base_url + "recipe/" + param + "/page/" + str(currentPage) + "/"print("爬取美食类型:【%s" % type.get("foodtypename") + "】第【" + str(currentPage) + "】页开始")print("链接地址:" + fullUrlTemp)# 反爬虫技术,所以不能一直爬取,休息一会Util().getRandomSleep()# 爬取数据resp = requests.get(fullUrlTemp, headers=self.headers)resp.encoding = "utf-8"# 使用bs4模块解析html数据soup = BeautifulSoup(resp.text, 'lxml')# 解析出美食列表foodListDiv = soup.find(id="J_list")foodList = foodListDiv.find_all("li")# 遍历美食列表for foodTemp in foodList:# 定义美食对象item = dict()item["type"] = type

系统展示

在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

每文一语

每一次的学习都是不断地进步

相关文章:

基于web框架的协同过滤的美食推荐系统【数据爬虫、管理系统、数据可更新、样式可调整】

文章目录 有需要本项目的代码或文档以及全部资源,或者部署调试可以私信博主项目介绍研究背景研究的目的与意义协同过滤算法基于用户的协同过滤算法定义基于物品的协同过滤算法的定义 数据库设计db_food(美食信息表)db_collect(美食…...

Eureka中的多实例配置:如何处理微服务实例动态扩展与缩减

Eureka中的多实例配置:如何处理微服务实例动态扩展与缩减 1. 引言 在微服务架构中,服务的动态扩展与缩减是确保系统弹性和高可用性的关键因素。Eureka,作为一个服务注册和发现的组件,扮演着至关重要的角色。它由Netflix开源&…...

Ubuntu 22.04使用 IPTables 配置防火墙

网络安全管理是服务器安全的重要组成部分。在这将介绍在 Ubuntu 22.04 中使用名为 iptables 的软件包管理工具设置防火墙的过程。 IPTables简介 IPTables是一个功能强大的软件包管理工具,可用于大多数Linux发行版,包括Ubuntu 22.04。该工具允许管理员定…...

Java语言程序设计——篇十三(1)

🌿🌿🌿跟随博主脚步,从这里开始→博主主页🌿🌿🌿 欢迎大家:这里是我的学习笔记、总结知识的地方,喜欢的话请三连,有问题可以私信🌳🌳&…...

GB/T 5023.3-2008额定电压450/750V及以下聚氯乙烯绝缘电缆

聚氯乙烯绝缘电缆产品分为固定布线用无护套电缆、固定布线用护套电缆、轻型无护套软电缆、一般用途护套软电缆、安装用电线和屏蔽电线、特殊用途护套软电缆、聚氯乙烯绝缘阻燃/耐火电缆等产品。 GB/T 5023.3-2008额定电压450/750V及以下聚氯乙烯绝缘电缆 第3部分:固…...

深入单例模式

1. 饿汉模式 饿坏了,上来就先实例化一个对象,好处是代码简单,坏处是这个对象后面如果一直用不到,就是个浪费。 public class A{ private static A a new A(); private A(){} public static A getInstance(){ return a; } } 2. 懒…...

MongoDB 单机和集群环境部署教程

目录 一、MongoDB 单机环境部署1. 环境准备2. 安装 MongoDB2.1 在 Ubuntu 上安装 MongoDB2.2 在 CentOS 上安装 MongoDB2.3 启动 MongoDB 服务2.4 验证 MongoDB 安装2.5 MongoDB 基本安全设置 3. 单机部署注意事项 二、MongoDB 集群环境部署1. 环境准备2. MongoDB Replica Set …...

【学习笔记】Day 20

一、进度概述 1、机器学习常识12-18,以及相关代码复现 二、详情 12、SVM(support vector machines,支持向量机) 实际上,支持向量机是一种二分类模型,它将实例的特征向量映射为空间中的一些点,…...

StringBuffer与StringBuilder 2024-8-21 22-13

目录 一、StringBuffer二、StringBuilder三、总结 一、StringBuffer StringBuffer是一个可变的字符序列,它的存在是为了解决频繁操作字符串时产生大量临时对象的问题。 构造方法: StringBuffer():创建一个空的字符串缓冲区,初始容…...

会声会影剪辑视频收费吗,会声会影最新破解版

会声会影2024:引领视频创作新时代的创新之旅** 在数字时代的浪潮中,视频创作已成为连接世界、表达创意的重要方式。随着技术的不断进步,一款名为“会声会影2024”的视频编辑软件横空出世,它不仅继承了前代产品的优秀传统&#xf…...

在Windows11强制开启copilot

在 Windows 11 上启用自带的基于 GPT-4 的 Copilot 功能。以下是具体步骤: 更新系统: 确保你的 Windows 11 系统已经更新到最新版本(23H2 或更高版本)。你可以在“设置” > “Windows 更新”中检查并安装最新更新。 更改区域和…...

基于Java的开源CMS有哪些推荐,各自特点是什么

最强大、最易用的CMS,向大家做一个简要介绍。 01 Alfresco Alfresco是一个开源的企业网站内容管理系统,它提供了文档管理、多人协作、记录管理、知识管理网页内容和图像管理等功能。它使用Spring、 Hibernate、 Lucene 和JSF等最新java技术构建了模…...

IPC进程通信以及网络通信

一、IPC 进程间通信方式 共享内存 //最高效的进程间通信方式 不需要把用户的东西再复制到内核 他们与内核进行绑定 共享内存: 1、是一块,内核预留的空间 2、最高效的通信方式 //避免了用户空间到内核空间的数据拷贝 IPC通信方式 ---操作流程类似的…...

【脏数据 bug 解决】ValueError: mean must have 1 elements if it is an iterable, got 3

问题描述: 在训练模型的过程中,出现 clip_image_processor 无法处理数据的问题,说明数据集中很可能出现了脏数据。本文使用的数据为 LAION-Aesthetics-V2-6.5plus,从 https://dagshub.com/DagsHub-Datasets/LAION-Aesthetics-V2-…...

【Vue3】集成 Ant Design Vue

【Vue3】集成 Ant Design Vue 背景简介开发环境开发步骤及源码总结 背景 随着年龄的增长,很多曾经烂熟于心的技术原理已被岁月摩擦得愈发模糊起来,技术出身的人总是很难放下一些执念,遂将这些知识整理成文,以纪念曾经努力学习奋斗…...

如何处理前端项目中的SEO优化:从SPA到SSR与SSG

如何处理前端项目中的SEO优化:从SPA到SSR与SSG 在前端开发的日常工作中,你可能经常会遇到这样的情况:辛辛苦苦写了一个功能丰富、界面炫酷的单页应用(SPA),但上线后发现搜索引擎的表现却不尽如人意。页面内…...

【UE5】Groom毛发系统的基本使用——给小白人添加头发

目录 效果 步骤 一、准备 二、使用3DsMax制作毛发 三、在UE中给小白人安装毛发 四、修改毛发材质 效果 步骤 一、准备 1. 新建一个第三人称模板工程 2. 在项目设置中,勾选“支持计算蒙皮缓存” 3. 在插件面板中,启用“Groom”和“Alembic Gro…...

DataWorks函数

文章目录 0、MaxCompute预置的函数分类1、日期函数2、数学函数3、算术运算符4、窗口函数5、聚合函数6、字符串函数7、复杂类型函数8、加密函数9、其他函数 0、MaxCompute预置的函数分类 函数类型说明日期函数支持处理DATE、DATETIME、TIMESTAMP等日期类型数据,实现…...

设计模式学习优质网站分享:refactoring.guru

地址 英文版地址:https://refactoring.guru/design-patterns 中文版地址:https://refactoringguru.cn/design-patterns 介绍 这个网站是专门学习 设计模式 和 软件重构 的网站 整体来说并不花哨,但我觉得他最大的优点就是: 概…...

JVM-Java的四种引用

引用分析 无论是通过引用计数算法判断对象的引用数量,还是通过可达性分析算法判断对象是否可达,判定对象是否可被回收都与引用有关,Java 提供了四种强度不同的引用类型 强引用: 被强引用关联的对象不会被回收,只有所…...

探索《黑神话:悟空》品质保障的背后:ISO体系认证

《黑神话:悟空》横空出世 8月20日上午10点,国产首款大型3A游戏《黑神话:悟空》正式上线。游戏一经上线便吸引了无数国内外用户的关注,不仅仅是因为其高超的游戏制作技术,极高的画面精度,精良的的视觉和战斗…...

ArcGIS Pro 实现人口分布栅格TIFF数据的网格提取与可视化

这里在分享一个人口1km精度栅格数据,LandScan是由美国能源部橡树岭国家实验室(ORNL)提供的全球人口分布数据集,具有最高分辨率的全球人口分布数据,是全球人口数据发布的社会标准,是全球最为准确、可靠&…...

select的缺点;poll ;poll的缺点;epoll

1.select的缺点: 1.select监听的文件描述符集合是一个数组,有上限(1024个) 2.select监听的文件描述符集合在应用层,内核层监听事件后需要传递给用户层带来资源开销 3.select需要用户手动查找产生事件的文件…...

keli5_报错 Cannot Load Device Description问题

1原因 之前创建的keli5的项目软件版本与当前的软件版本不同 使其算法要重新选择 2解决方法 2-1 点击图中的魔术棒 2-2 在这个界面中进入 Settings选项(ST-Link Debugger 旁边) 2-3 点击Flash Download 选项进入图中界面 在点击天加 2-4选择fla…...

算法的学习笔记—把二叉树打印成多行(牛客JZ78)

😀前言 在算法面试中,二叉树的层序遍历是一个经典的题目。而这道题的要求是进一步将二叉树的每一层结点值打印成多行,即同一层结点从左至右输出,最终结果存放到一个二维数组中返回。接下来,我们将通过代码实例详细解析…...

FreeRTOS 时间管理

延时函数介绍 函数 描述 vTaskDelay() 相对延时 xTaskDelayUntil() 绝对延时 相对延时:指每次延时都是从执行函数vTaskDelay()开始,直到延时指定的时间结束 绝对延时:指将整个任务的运行周期看成一个整体,适用于需要按…...

F. Valuable Cards D. Smithing Skill

D题 F题 F题: 因为是连续的且都要选,我们直接从左到右去取每个区间到不合法的情况即可,可以在n1的位置添加一个x来结束区间判断。因为是要乘积为x,那么我们只需要放x的因子进去,不然会超时,同时也可以用v…...

【电子通识】IPC-A-600中对验收标准的定义

在文章【电子通识】IPC-A-610标准对产品的四种验收条件都是什么意思?中我们讲到IPC-A-610标准(电子组件的可接受性)对于产品的四种验收条件。本文中我们同理讲一讲IPC-A-600中对验收标准的定义。 IPC-A-600文件中的多数示意图和照片同时表示每…...

MyBatis(初阶)

1.什么是MyBtis MyBatis是持久层框架,⽤于简化JDBC的开发。 2.准备工作 2.1 创建⼯程 数据库: 2.2 配置数据库连接字符串 以application.yml⽂件为例: 2.3 写持久层代码 Data public class UserInfo {private Integer id;private String username;private Stri…...

KDP数据平台:以实战案例验证技术领先力

本文由智领云 LeetTools 工具自动生成 申请试用: https://www.leettools.com/feedback/ 在当今快速发展的技术环境中,数据平台的选择对企业的数字化转型和业务发展至关重要。智领云开源KDP(Kubernetes Data Platform)在数据处理和…...

wordpress做直播网站吗/广告网络推广怎么做

#如果node加入不了master或者加入成功但是,在master中显示不出来。排查错误:1. 运行,kubelet, 查看日志,一般是kubelet的运行和docker启动方式不匹配。调整:vim /etc/docker/daemon.json修改:native.cgroupdrivercgro…...

伪静态网站/如何开通自己的网站

iphone4锁屏键坏了图文教你修复 来源:互联网 作者:佚名 时间:03-07 16:18:30 【大 中 小】iphone4锁屏键经常使用,所以坏的可能性是很大而且不在少说,接下来为你详细分享一下解决方法,感兴趣的朋友可以参考…...

佛山哪里有做网站的/基本营销策略有哪些

当快船手握16分领先进入易地再战时,老李充满了欢欣与愉悦,甚至还想哼个小曲儿。毕竟赫拉克利特曾说过:一个人不可能两次踏进同一条河流。G5已经被掘金翻了一回,难不成还想再玩逆转?得亏老李不是五五开,否则…...

网上做夫妻的网站/麒麟seo软件

机器学习分为四大块,分别是 classification (分类), clustering (聚类), regression (回归), dimensionality reduction (降维)。 官网 scikit-learn 是机器学习领域非常热门的一个开源库,基于Python 语言写成。专门用于机器学习的模块。 可…...

阳澄湖大闸蟹网站建设/百度产品大全

一个经理上来电,说他打开网页浏览的时候出现需要安装Adobe Flash layer 才能查看,由于没有管理员权限,我远程在服务器上下载了一个Adobe Flash layer 11 最新版为他安装,但是安装一会就报错,提示简本出错。于是我按确定…...

为什么要用php做网站/百度最贵关键词排名

局域网客户端的管理 随着网络用户数量的不断增加,由此而引发的网络通信和安全故障越来越多。尤其是对网络滥用导致的网络拥塞,以及蠕虫病毒泛滥导致的性能下降,以及系统漏洞导致的恶意攻击,如果不采取相应的、有力的应对措施&…...