Spark--经典SQL50题

目录

连接数据库准备工作

1、查询"01"课程比"02"课程成绩高的学生的信息及课程分数

2、查询"01"课程比"02"课程成绩低的学生的信息及课程分数

3、查询平均成绩大于等于60分的同学的学生编号和学生姓名和平均成绩

4、查询平均成绩小于60分的同学的学生编号和学生姓名和平均成绩

5、查询所有同学的学生编号、学生姓名、选课总数、所有课程的总成绩

6、查询"李"姓老师的数量

7、查询学过"李四"老师授课的同学的信息

8、查询没有学过"李四"老师授课的同学的信息

9、查询学过编号为"01"并且也学过编号为"02"的课程的同学的信息

10、查询学过编号为"01"并且没有学过编号为"02"的课程的同学的信息

11、查询没有学全所有课程的同学的信息

12、查询至少有一门课与学号为"01"的同学所学相同的同学的信息

13、查询和"01"号的同学学习的课程完全相同的其他同学的信息

14、查询没学过"张三"老师讲授的任一门课程的学生姓名

15、查询两门及其以上不及格课程的同学的学号,姓名及其平均成绩

16、检索"01"课程分数小于60,按分数降序排列的学生信息

17、按平均成绩从高到低显示所有学生的所有课程的成绩以及平均成绩

18、查询各科成绩最高分、最低分和平均分:

以如下形式显示:课程ID,课程name,最高分,最低分,平均分,及格率,中等率,优良率

及格为>=60,中等为:70-80,优良为:80-90,优秀为:>=90

19、按各科成绩进行排序,并显示排名

20、查询学生的总成绩并进行排名

21、查询不同老师所教不同课程平均分从高到低显示

22、查询所有课程的成绩第2名到第3名的学生信息及该课程成绩

23、统计各科成绩各分数段人数:课程编号,课程名称, 100-85 , 85-70 , 70-60 , 0-60 及所占百分比

24、查询学生平均成绩及其名次

25、查询各科成绩前三名的记录

26、查询每门课程被选修的学生数

27、查询出只有两门课程的全部学生的学号和姓名

28、查询男生、女生人数

29、查询名字中含有"风"字的学生信息

30、查询同名同性学生名单,并统计同名人数

31、查询1990年出生的学生名单(注:Student表中Sage列的类型是datetime)

32、查询每门课程的平均成绩,结果按平均成绩降序排列,平均成绩相同时,按课程编号升序排列

33、查询平均成绩大于等于85的所有学生的学号、姓名和平均成绩

34、查询课程名称为"数学",且分数低于60的学生姓名和分数

35、查询所有学生的课程及分数情况

36、查询任何一门课程成绩在70分以上的姓名、课程名称和分数

37、查询课程不及格的学生

38、查询课程编号为01且课程成绩在80分及以上的学生的学号和姓名

39、求每门课程的学生人数

40、查询选修"张三"老师所授课程的学生中,成绩最高的学生信息及其成绩

41、查询不同课程成绩相同的学生的学生编号、课程编号、学生成绩

42、查询每门功课成绩最好的前两名

43、统计每门课程的学生选修人数(超过5人的课程才统计)。要求输出课程号和选修人数, 查询结果按人数降序排列,若人数相同,按课程号升序排列

44、检索至少选修两门课程的学生学号

45、查询选修了全部课程的学生信息

46、查询各学生的年龄

47、查询本周过生日的学生

48、查询下周过生日的学生

49、查询本月过生日的学生

50、查询下月过生日的学生


连接数据库准备工作

创建DataFrame

    val spark: SparkSession = SparkSession.builder().appName("Spark_SQL50").master("local[*]").getOrCreate()import spark.implicits._import org.apache.spark.sql.functions._val url = "jdbc:mysql://192.168.142.129:3306/sql50"val user = "root"val pwd = "123456"val driver = "com.mysql.cj.jdbc.Driver"val properties = new Properties()properties.setProperty("user", user)properties.setProperty("password", pwd)properties.setProperty("driver", driver)val score = spark.read.jdbc(url, "score", properties)val course = spark.read.jdbc(url, "course", properties)val student = spark.read.jdbc(url, "student", properties)val teacher = spark.read.jdbc(url, "teacher", properties)val student_copy1 = spark.read.jdbc(url, "student_copy1", properties)

1、查询"01"课程比"02"课程成绩高的学生的信息及课程分数

score.as("s1").join(score.as("s2"), "s_id").where("s1.s_score>s2.s_score and s1.c_id = 01 and s2.c_id = 02").join(student, "s_id").select("s_name", "s1.c_id", "s1.s_score", "s2.c_id", "s2.s_score").show()

2、查询"01"课程比"02"课程成绩低的学生的信息及课程分数

score.as("s1").join(score.as("s2"), "s_id").where("s1.s_score < s2.s_score and s1.c_id = 01 and s2.c_id = 02").join(student, "s_id").select("s_name", "s1.c_id", "s1.s_score", "s2.c_id", "s2.s_score").show()

3、查询平均成绩大于等于60分的同学的学生编号和学生姓名和平均成绩

score.groupBy("s_id").avg("s_score").where($"avg(s_score)">=60).join(student, "s_id").select("s_id", "s_name", "avg(s_score)").show

4、查询平均成绩小于60分的同学的学生编号和学生姓名和平均成绩

student.join(score.groupBy("s_id").avg("s_score"), Seq("s_id"), "left").where($"avg(s_score)" < 60 || $"avg(s_score)".isNull).select("s_id", "s_name", "avg(s_score)").show

5、查询所有同学的学生编号、学生姓名、选课总数、所有课程的总成绩

student.join(score.groupBy("s_id").count(),Seq("s_id"), "left").join(score.groupBy("s_id").sum("s_score"), Seq("s_id"), "left").select("s_id", "s_name", "count", "sum(s_score)").show()

 

6、查询"李"姓老师的数量

println(teacher.where($"t_name".like("李%")).count())

7、查询学过"李四"老师授课的同学的信息

student.join(score,"s_id").join(course, "c_id").join(teacher, "t_id").where($"t_name" === "李四").select("s_name", "c_name","t_name").show

8、查询没有学过"李四"老师授课的同学的信息

student.join(student.join(score,Seq("s_id"), "left").join(course,Seq("c_id"), "left").join(teacher,Seq("t_id"), "left").where($"t_name" === "李四").select("s_id","s_score"),Seq("s_id"), "left").where($"s_score".isNull).select("s_id", "s_name").show()

9、查询学过编号为"01"并且也学过编号为"02"的课程的同学的信息

student.join(score,Seq("s_id")).where("c_id == 01").join(student.join(score,Seq("s_id")).where("c_id == 02"),"s_id").show()

10、查询学过编号为"01"并且没有学过编号为"02"的课程的同学的信息

student.as("s1").join(score, "s_id").where("c_id == 01").join(student.as("s2").join(score, "s_id").where("c_id == 02"), Seq("s_id"), "left").where($"s2.s_name".isNull).show()

11、查询没有学全所有课程的同学的信息

student.join(
student.join(score,"s_id").join(course,"c_id").groupBy("s_id").count(), Seq("s_id"), "left"
).where($"count" < course.count() || $"count".isNull).show()

12、查询至少有一门课与学号为"01"的同学所学相同的同学的信息

student.as("stu").join(score.as("sc").join(score.where($"s_id"==="01"),Seq("c_id"), "left"),Seq("s_id")).where($"stu.s_id".notEqual("01")).select("stu.s_id","s_name").distinct().show

13、查询和"01"号的同学学习的课程完全相同的其他同学的信息

student.join(score, "s_id").groupBy($"s_id").count().where($"count".equalTo(3)).where($"s_id".notEqual("01")).join(student, Seq("s_id"), "left").show()

14、查询没学过"张三"老师讲授的任一门课程的学生姓名

student.join(score, "s_id").join(course,"c_id").join(teacher,"t_id").where($"t_name"==="张三").as("stu1").join(student.as("stu2"),Seq("s_id"),"right").where($"t_name".isNull).select("stu2.s_id","stu2.s_name").show

15、查询两门及其以上不及格课程的同学的学号,姓名及其平均成绩

score.where($"s_score" < 60).groupBy("s_id").count().where($"count" >= 2).join(score,"s_id").groupBy("s_id").agg(round(avg("s_score"),2)).join(student,"s_id").show

16、检索"01"课程分数小于60,按分数降序排列的学生信息

score.where($"c_id"==="01" && $"s_score" < 60).join(student,"s_id").sort(desc("s_score")).show

17、按平均成绩从高到低显示所有学生的所有课程的成绩以及平均成绩

score.groupBy("s_id").agg(round(avg("s_score"),2).as("avgScore")).join(score,"s_id").join(student,"s_id").orderBy($"avgScore".desc).show

18、查询各科成绩最高分、最低分和平均分:

以如下形式显示:课程ID,课程name,最高分,最低分,平均分,及格率,中等率,优良率

及格为>=60,中等为:70-80,优良为:80-90,优秀为:>=90

//1 先求出 及格,中等,优良,优秀 各阶段人数
val numDF = score.groupBy("c_id").count()
val passDF = score.where($"s_score" >= 60).groupBy("c_id").count()
val midDF = score.where($"s_score" >= 70 && $"s_score" < 80).groupBy("c_id").count()
val goodDF = score.where($"s_score" >= 80 && $"s_score" < 90).groupBy("c_id").count()
val bestDF = score.where($"s_score" >= 90).groupBy("c_id").count()//2 求出及格率,中等率,优良率,优秀率
val passPerDF = numDF.as("n").join(passDF.as("m"), "c_id").withColumn("passPer", round($"m.count" / $"n.count", 2)).drop("count")
val midPerDF = numDF.as("n").join(midDF.as("m"), "c_id").withColumn("midPer",  round($"m.count" / $"n.count", 2)).drop("count")
val goodPerDF = numDF.as("n").join(goodDF.as("m"), "c_id").withColumn("goodPer", round($"m.count" / $"n.count", 2)).drop("count")
val bestPerDF = numDF.as("n").join(bestDF.as("m"), "c_id").withColumn("bestPer", round($"m.count" / $"n.count", 2)).drop("count")//3 求出课程最高分,最低分,平均分  join各比率
course.join(score.groupBy("c_id").agg(max("s_score").as("maxScore"),min("s_score").as("minScore"),round(avg("s_score"),2).as("avgScore")),"c_id").join(passPerDF,Seq("c_id"),"left").join(midPerDF,Seq("c_id"),"left").join(goodPerDF,Seq("c_id"),"left").join(bestPerDF,Seq("c_id"),"left").drop("t_id").show

19、按各科成绩进行排序,并显示排名

score.withColumn("rank",dense_rank().over(Window.partitionBy("c_id").orderBy($"s_score".desc))).show()

20、查询学生的总成绩并进行排名

score.groupBy("s_id").sum("s_score").withColumn("rank",dense_rank().over(Window.orderBy($"sum(s_score)".desc))).show()

21、查询不同老师所教不同课程平均分从高到低显示

score.groupBy("c_id").agg(round(avg("s_score"), 2).as("avgScore")).withColumn("rank", dense_rank().over(Window.orderBy($"avgScore".desc))).show()

22、查询所有课程的成绩第2名到第3名的学生信息及该课程成绩

score.withColumn("rank", dense_rank().over(Window.partitionBy("c_id").orderBy($"s_score".desc))).where($"rank".isin(2,3)).join(student,"s_id").show()

23、统计各科成绩各分数段人数:课程编号,课程名称, 100-85 , 85-70 , 70-60 , 0-60 及所占百分比

//方法一
//1 先求出 总人数 及 100-85 , 85-70 , 70-60 , 0-60 各阶段人数
val numDF = score.groupBy("c_id").count()
val passDF = score.where($"s_score" >= 0 && $"s_score" < 60).groupBy("c_id").count()
val midDF = score.where($"s_score" >= 60 && $"s_score" < 70).groupBy("c_id").count()
val goodDF = score.where($"s_score" >= 70 && $"s_score" < 85).groupBy("c_id").count()
val bestDF = score.where($"s_score" >= 85 && $"s_score" <= 100).groupBy("c_id").count()//2 求出 100-85 , 85-70 , 70-60 , 0-60所占百分比
val passPerDF = numDF.as("n").join(passDF.as("m"), "c_id").withColumn("lt60", round($"m.count" / $"n.count", 2)).drop("count")
val midPerDF = numDF.as("n").join(midDF.as("m"), "c_id").withColumn("70-60",  round($"m.count" / $"n.count", 2)).drop("count")
val goodPerDF = numDF.as("n").join(goodDF.as("m"), "c_id").withColumn("85-70", round($"m.count" / $"n.count", 2)).drop("count")
val bestPerDF = numDF.as("n").join(bestDF.as("m"), "c_id").withColumn("100-85", round($"m.count" / $"n.count", 2)).drop("count")//3 course表 join各比率
course.join(passPerDF,Seq("c_id"),"left").join(midPerDF,Seq("c_id"),"left").join(goodPerDF,Seq("c_id"),"left").join(bestPerDF,Seq("c_id"),"left").drop("t_id").show//方法2  count(when(condition), value),
// 由于between操作符是包含左右边界的,临界点分数存在重复计算,此方法仅供参考
score.groupBy("c_id").agg(count("s_score").as("count"),count(when($"s_score".between(85, 100), 1)).as("lt60Row"),count(when($"s_score".between(70, 85), 1)).as("60-70Row"),count(when($"s_score".between(60, 70), 1)).as("70-85Row"),count(when($"s_score".between(0, 60), 1)).as("85-100Row")
).withColumn("lt60", round($"lt60Row" / $"count", 2)).withColumn("60-70", round($"60-70Row" / $"count", 2)).withColumn("70-85", round($"70-85Row" / $"count", 2)).withColumn("85-100", round($"85-100Row" / $"count", 2)).join(course, "c_id").select("c_id", "c_name", "lt60", "60-70", "70-85", "85-100").show()

24、查询学生平均成绩及其名次

score.groupBy("s_id").agg(round(avg("s_score"), 2).as("avgScore")).withColumn("rank",dense_rank().over(Window.orderBy($"avgScore".desc))).show()

25、查询各科成绩前三名的记录

score.withColumn("rank",dense_rank().over(Window.partitionBy("c_id").orderBy($"s_score".desc))).where($"rank".between(1,3)).show()

26、查询每门课程被选修的学生数

score.groupBy("c_id").count().show()

27、查询出只有两门课程的全部学生的学号和姓名

score.groupBy("s_id").agg(count($"c_id").as("count")).where($"count" === 2).join(student, "s_id").select("s_id", "s_name", "count").show()

28、查询男生、女生人数

student.groupBy("s_sex").count().show()

29、查询名字中含有"风"字的学生信息

student.where($"s_name".contains("风")).show()

30、查询同名同性学生名单,并统计同名人数

student_copy1.groupBy("s_name","s_sex").count().where($"count" > 1).show

31、查询1990年出生的学生名单(注:Student表中Sage列的类型是datetime)

student.where(year($"s_birth")==="1990").show

   

32、查询每门课程的平均成绩,结果按平均成绩降序排列,平均成绩相同时,按课程编号升序排列

score.groupBy("c_id").avg("s_score").orderBy($"avg(s_score)".desc, $"c_id").show()

33、查询平均成绩大于等于85的所有学生的学号、姓名和平均成绩

score.groupBy("s_id").avg("s_score").where($"avg(s_score)" >= 85).join(student,"s_id").select("s_id", "s_name", "avg(s_score)").show()

34、查询课程名称为"数学",且分数低于60的学生姓名和分数

score.join(course, "c_id").where($"c_name" === "数学" && $"s_score" < 60).join(student, "s_id").select("s_name", "s_score").show

35、查询所有学生的课程及分数情况

student.join(score, Seq("s_id"), "left").show()

36、查询任何一门课程成绩在70分以上的姓名、课程名称和分数

score.where($"s_score" > 70).join(student, "s_id").join(course, "c_id").select("s_name", "c_name", "s_score").show()

37、查询课程不及格的学生

score.where($"s_score" < 60).show()

38、查询课程编号为01且课程成绩在80分及以上的学生的学号和姓名

score.where($"c_id" === "01" && $"s_score" >= 80).join(student, "s_id").select("s_id", "s_name", "c_id","s_score").show()

39、求每门课程的学生人数

score.groupBy("c_id").count().show()

40、查询选修"张三"老师所授课程的学生中,成绩最高的学生信息及其成绩

score.join(course, "c_id").join(teacher, "t_id").where($"t_name" === "张三").orderBy($"s_score".desc).limit(1).join(student, "s_id").show()

41、查询不同课程成绩相同的学生的学生编号、课程编号、学生成绩

score.groupBy("s_score").count().where($"count" > 1).join(score, "s_score").show()

42、查询每门功课成绩最好的前两名

score.withColumn("rank",rank().over(Window.partitionBy("c_id").orderBy($"s_score".desc))).where($"rank".isin(1, 2)).show()

43、统计每门课程的学生选修人数(超过5人的课程才统计)。要求输出课程号和选修人数, 查询结果按人数降序排列,若人数相同,按课程号升序排列

score.groupBy("c_id").count().where($"count" > 5).orderBy($"count".desc, $"c_id").show

44、检索至少选修两门课程的学生学号

score.groupBy("s_id").count().where($"count" >= 2).show()

45、查询选修了全部课程的学生信息

score.groupBy("s_id").count().where($"count" === course.count()).join(student, "s_id").show()

46、查询各学生的年龄

student.withColumn("age", year(current_date()) - year($"s_birth")).show()

47、查询本周过生日的学生

student.withColumn("birthOfWeek", weekofyear($"s_birth")).where($"birthOfWeek" === weekofyear(current_date())).show

48、查询下周过生日的学生

student.withColumn("birthOfWeek", weekofyear($"s_birth")).where($"birthOfWeek" === weekofyear(current_date()) + 1).show

49、查询本月过生日的学生

student.withColumn("birthOfMonth", month($"s_birth")).where($"birthOfMonth" === month(current_date())).show

50、查询下月过生日的学生

student.withColumn("birthOfMonth", month($"s_birth")).where($"birthOfMonth" === month(current_date() + 1)).show

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/166394.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在Kubernetes(k8s)上部署整个SpringCloud微服务应用

视频教程地址&#xff1a;https://www.bilibili.com/video/BV1Xh4y1q7aW/ 文章目录 项目准备打成使用Docker打成镜像准备Docker仓库打包项目为Docker镜像 部署应用到k8s创建nfs挂载目录创建一些基本资源创建命名空间创建拉取镜像的secret创建java运行环境的profile 部署mysql创…

Unity中Shader的XRay透视效果

文章目录 前言一、模拟菲涅尔效果1、获取 V 向量2、获取 N 向量3、点积输出效果4、模拟出菲涅尔效果(中间暗&#xff0c;周围亮) 二、实现 &#xff38;Ray 效果1、使用半透明排序、修改混合模式、加点颜色2、增加分层效果&#xff08;使用 frac 函数&#xff0c;只取小数部分&…

【深入探究Java集合框架】从List到Map的完整指南

文章目录 &#x1f31f; Java集合框架&#x1f34a; Collection&#x1f389; List&#x1f389; Set&#x1f389; Map &#x1f34a; 集合的选择&#x1f389; 1. 有序并允许重复元素的集合 List&#x1f389; 2. 无序并且不允许重复元素的集合 Set&#x1f389; 3. 维护映射…

【计网 EMail】计算机网络 EMail协议详解:中科大郑烇老师笔记 (五)

目录 0 引言1 电子邮件EMail1.1 组成1.2 SMTP协议1.3 案例&#xff1a;Alice给Bob发送报文1.4 SMTP总结1.5 邮件报文格式1.6 POP3协议和IMAP协议 &#x1f64b;‍♂️ 作者&#xff1a;海码007&#x1f4dc; 专栏&#xff1a;计算机四大基础专栏&#x1f4dc; 其他章节&#xf…

辅助驾驶功能开发-功能规范篇(16)-2-领航辅助系统NAP-安全接管策略

书接上回 2.3.6安全接管策略 为保障辅助驾驶车辆的安全性,在辅助驾驶系统运行过程中,对出现的影响系统稳定性的异常情况,制定对应的安全接管策略。 异常情况可能包括:系统传感器、控制器、执行器、电源、通讯、备份系统等的故障或失效,驾驶员异常行为(如不响应车辆的接管…

毅速丨3D打印结合拓扑优化 让轻量化制造更容易

制造轻量化对于提高能源利用效率、提高产品性能和减少环境影响&#xff0c;推动制造业的绿色化、高质量发展具有重要的促进作用。 轻量化设计对许多领域都有着重要影响&#xff0c;尤其是那些需要降低能源消耗、提高运输效率或减少对环境影响的领域。如航空航天&#xff0c;轻量…

【论文阅读笔记】 Curated Pacific Northwest AI-ready Seismic Dataset

Curated Pacific Northwest AI-ready Seismic Dataset 太平洋西北部人工智能地震数据集 摘要 描述了一个AI就绪地震数据集包括各种地震事件参数 仪器元数据 地震波行描述地震目录和事件属性&#xff08;事件震级类型&#xff0c;信道类型&#xff0c;波形极性&#xff0c;信…

网络协议--ICMP:Internet控制报文协议

6.1 引言 ICMP经常被认为是IP层的一个组成部分。它传递差错报文以及其他需要注意的信息。ICMP报文通常被IP层或更高层协议&#xff08;TCP或UDP&#xff09;使用。一些ICMP报文把差错报文返回给用户进程。 ICMP报文是在IP数据报内部被传输的&#xff0c;如图6-1所示。 ICMP…

【Overload游戏引擎细节分析】Lambert材质Shader分析

一、经典光照模型&#xff1a;Phong模型 现实世界的光照是极其复杂的&#xff0c;而且会受到诸多因素的影响&#xff0c;这是以目前我们所拥有的处理能力无法模拟的。经典光照模型冯氏光照模型(Phong Lighting Model)通过单独计算光源成分得到综合光照效果&#xff0c;然后添加…

08-React扩展

08-React扩展 1. setState的2种写法 案例&#xff1a; export default class Demo extends Component {state {count: 0}add () > {// 获取当前的值const { count } this.state// 更新状态this.setState({ count: count 1 })console.log(count);}render() {const { coun…

JavaScript从入门到精通系列第二十二篇:JavaScript中的toString方法和JavaScript中的垃圾回收

文章目录 一&#xff1a;toString方法 1&#xff1a;怪异的返回值[object Object] 2&#xff1a;打印对象成为一个JSON 二&#xff1a;垃圾回收&#xff08;GC&#xff09; 1&#xff1a;垃圾回收概念 2&#xff1a;JS当中的垃圾回收机制 3&#xff1a;JS中的垃圾回收算…

基于厨师优化的BP神经网络(分类应用) - 附代码

基于厨师优化的BP神经网络&#xff08;分类应用&#xff09; - 附代码 文章目录 基于厨师优化的BP神经网络&#xff08;分类应用&#xff09; - 附代码1.鸢尾花iris数据介绍2.数据集整理3.厨师优化BP神经网络3.1 BP神经网络参数设置3.2 厨师算法应用 4.测试结果&#xff1a;5.M…

基于ssm的旅游管理系统

功能如下图所示 摘要 基于SSM框架的旅游管理系统代表了信息技术在旅行业中的崭新机遇&#xff0c;为旅行企业提供了强大的工具&#xff0c;以应对现代旅游市场的复杂挑战。这个系统的研发和实施具有广泛的研究意义&#xff0c;它深刻影响了旅游业的发展&#xff0c;具体表现如下…

自然语言处理---Transformer机制详解之GPT模型介绍

1 GPT介绍 GPT是OpenAI公司提出的一种语言预训练模型.OpenAI在论文<< Improving Language Understanding by Generative Pre-Training >>中提出GPT模型.OpenAI后续又在论文<< Language Models are Unsupervised Multitask Learners >>中提出GPT2模型.…

【LeetCode刷题(数据结构与算法)】:数据结构中的常用排序实现数组的升序排列

现在我先将各大排序的动图和思路以及代码呈现给大家 插入排序 直接插入排序是一种简单的插入排序法&#xff0c;其基本思想是&#xff1a; 把待排序的记录按其关键码值的大小逐个插入到一个已经排好序的有序序列中&#xff0c;直到所有的记录插入完为 止&#xff0c;得到一个…

基于协作搜索优化的BP神经网络(分类应用) - 附代码

基于协作搜索优化的BP神经网络&#xff08;分类应用&#xff09; - 附代码 文章目录 基于协作搜索优化的BP神经网络&#xff08;分类应用&#xff09; - 附代码1.鸢尾花iris数据介绍2.数据集整理3.协作搜索优化BP神经网络3.1 BP神经网络参数设置3.2 协作搜索算法应用 4.测试结果…

图论04-【无权无向】-图的广度优先遍历

文章目录 1. 代码仓库2. 广度优先遍历图解3.主要代码4. 完整代码 1. 代码仓库 https://github.com/Chufeng-Jiang/Graph-Theory 2. 广度优先遍历图解 3.主要代码 原点入队列原点出队列的同时&#xff0c;将与其相邻的顶点全部入队列下一个顶点出队列出队列的同时&#xff0c;将…

2023-10-19 LeetCode每日一题(同积元组)

2023-10-19每日一题 一、题目编号 1726. 同积元组二、题目链接 点击跳转到题目位置 三、题目描述 给你一个由 不同 正整数组成的数组 nums &#xff0c;请你返回满足 a * b c * d 的元组 (a, b, c, d) 的数量。其中 a、b、c 和 d 都是 nums 中的元素&#xff0c;且 a ! b…

前端工作方式要换了?HTMX简介:无需JavaScript的动态HTML

HTMX允许你使用扩展的HTML语法代替 JavaScript 来实现交互性。HTMX 在标记中直接为你提供HTTP 交互&#xff0c;并支持许多其他交互需求&#xff0c;无需求助于 JavaScript。这是一个有趣的想法&#xff0c;可能最终会影响到web前端的工作方式。让我们看看如何使用HTMX以及它的…

Studio One 6.5新版本功能讲解及一键安装下载教程

Studio One 6.5 发布&#xff1a;整合 Dolby Atmos 全景声&#xff0c;跟 Bitwig 联合推出开放的 DAWproject 格式&#xff0c;支持 Linux&#xff01; PreSonus 的“.5”更新通常都有比较大的变化&#xff0c;这次也不例外。Studio One 6.5 增加了一种全新的工作方式&#xff…