自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(60)
  • 收藏
  • 关注

原创 实验5 数据库的完整性

通过对完整性规则的定义实现,熟悉了解完整性保证的规则和实现方法,加深对数据完整性的理解。

2024-07-18 11:22:54 387

原创 实验13 利用PowerDesigner设计数据库应用系统实验

(1)了解数据库设计的过程(2)学会用PowerDesigner等数据库设计工具经行数据库设计(3)学会从实际需求进行数据库的设计。

2024-07-18 11:09:45 482

原创 实验11 数据库日志及数据库恢复

了解Mysql数据库系统中数据恢复机制和主要方法。

2024-07-17 10:07:20 842

原创 实验10 并发控制

事务是由相关操作构成的一个完整的操作单元。两次连续成功的COMMIT或ROLLBACK之间的操作,称为一个事务。对数据库所做的一系列修改,在修改过程中,暂时不写入数据库,而是缓存起来,用户在自己的终端可以预览变化,直到全部修改完成,并经过检查确认无误后,一次性提交并写入数据库,在提交之前,必要的话所做的修改都可以取消。提交之后,就不能撤销,提交成功后其他用户才可以通过查询浏览数据的变化。事务的特点。

2024-07-17 09:45:14 681

原创 实验9 存储过程与函数的创建管理实验

各列有如下数据:‘QQ饼干’,‘QQ饼干厂’,2.5,‘2008’,3,‘北京’‘MN牛奶’,‘MN牛奶厂’,3.5,‘2009’,1,‘河北’‘EE果冻’,‘EE果冻厂’,1.5,‘2007’,2,‘北京’‘FF咖啡’,‘FF咖啡厂’,20,‘2002’,5,‘天津’‘GG奶糖’,‘GG奶糖’,14,‘2003’,3,‘广东’(1) 在food表上创建名为Pfood_price_count的存储过程。其中存储过程Pfood_price_count有3个参数。

2024-07-12 22:23:00 1366 1

原创 实验8 视图创建与管理实验

此外,如果视图定义中包含了子查询或表达式,使得插入或更新操作无法直接转换为对基本表的操作,那么这些操作也将被禁止。因为视图是基本表数据的动态查询结果,每次查询视图时都会重新计算视图定义的查询表达式,所以任何对基本表的修改都会在视图中体现出来。是一个可选的视图定义子句,用于限制通过视图进行的插入或更新操作,确保插入或更新的数据满足视图定义中的条件。是的,通过视图插入的数据通常会直接写入到关联的基本表中,前提是视图定义允许这样的操作,并且插入的数据满足视图和基本表的约束条件。,显示年龄大于20岁的聘任人员。

2024-07-12 22:13:37 764

原创 实验7 数据查询(2)

7.查询选课表SC内没有选修课程表Course里所列所有课程的学生信息,输出其Sid、Sname、Sdate和Ssex四列内容。11.检索" 01 "课程分数小于 60并按分数降序排列的学生信息,输出其Sid、Sname、Sdate和Ssex四列内容。9.查询至少有一门课与学号为" 01 "的同学所学相同的学生信息,输出其Sid、Sname、Sdate和Ssex四列内容。8.查询和" 01 "号学生学习的课程完全相同的其他学生信息,输出其学号Sid内容。13.查询出只选修两门课程的学生学号和姓名两列信息。

2024-07-11 11:22:55 917

原创 实验6 触发器创建与管理实验

表中插入一条记录:1, ‘abc’,‘治疗感冒’, ‘北京abc制药厂’,‘北京市昌平区’表,主要信息有:产品编号、产品名称、主要功能、生产厂商、c厂商地址,生成。(2)更新记录,将产品编号为1的厂商住址:改为“北京市海淀区”。表进行数据操作时,需要对操作的内容和时间进行记录。(3)删除产品编号为1的记录。

2024-07-11 10:26:53 506

原创 【数据挖掘】银行信用卡风险大数据分析与挖掘

中国某个商业银行高层发现自家信用卡存在严重的欺诈和拖欠现象,已经影响到自身经营和发展。银行高层希望大数据分析部门采用数据挖掘技术,对影响用户信用等级的主要因素进行分析,结合信用卡用户的人口特征属性对欺诈行为和拖欠行为的影响因素进行分析,挖掘银行客户信用卡记录数据的潜在价值,为该银行的信用卡业务决策提供参考。

2024-07-05 22:47:20 1337 1

原创 计算机网络—路由器综合实验

进行ripv2动态路由配置实验让我更深入地了解路由器之间的通信和路由协议的工作原理:ripv2是一种基于距离矢量算法的路由协议,它通过路由器之间的信息交换来发现最佳路径。通过实验,可以了解ripv2协议如何处理更新、如何计算距离、如何选择最佳路径以及如何更新路由表。通过此次实验,我也学习到如何进入路由器的配置模式、如何设置接口地址、如何启用ripv2协议以及如何查看路由表等基本操作。

2024-06-05 09:10:36 467

原创 计算机网络—交换机综合实验

通过链路聚合的实验,我加深了对链路聚合的配置及其原理的了解。链路聚合又称端口聚合,是指在物理上将两台交换机之间的多个端口连接起来,将多余链路聚合成一条逻辑链路以增大链路带宽,解决交换网络中因宽带引起的网络瓶颈问题。多条物理链路之间能够相互冗余备份,其中某条链路断开不会影响其他链路正常转发数据。与此同时,我注意到,两台交换机之间连线在整个实验中的顺序是很重要的,需要都配置完端口聚合以后再相连,如果先连线再配置会造成广播风暴,影响交换机正常的工作。

2024-06-05 08:59:50 704

原创 Spring是怎么处理循环依赖的

在bean实例化之后,但属性注入完成之前,Spring会将一个可使用的(尽管尚未完成依赖注入)bean实例(或者更准确地说,是前面提到的ObjectFactory)提前暴露到一个专门的缓存(即第二级缓存)中,这个缓存允许其他正在被创建且依赖于它的bean获取到这个bean的引用。这个步骤是解决循环依赖的关键,因为它打破了依赖创建的顺序限制。Spring框架处理循环依赖主要依赖于其容器的设计和几个关键的缓存机制,这里所说的“三级缓存”是一个广为流传的概念,用于简化描述Spring处理循环依赖的过程。

2024-05-26 11:58:48 331 3

原创 Redis事务(1)

Redis 的事务和 MySQL 的事务概念上是类似的. 都是把⼀系列操作绑定成⼀组. 让这⼀组能够批量执行。弱化的原⼦性: redis 没有 “回滚机制”. 只能做到这些操作 “批量执⾏”. 不能做到 “⼀个失败就恢复到初始状态”.不保证⼀致性: 不涉及 “约束”. 也没有回滚. MySQL 的⼀致性体现的是运⾏事务前和运⾏后 , 结果都是合理有效的, 不会出现中间⾮法状态.不需要隔离性: 也没有隔离级别, 因为不会并发执⾏事务 (redis 单线程处理请求) .

2024-05-26 09:52:49 214

原创 Java中的锁以及各自的使用场景

综上所述,Java提供了多种锁机制来满足不同的并发需求。了解这些锁的特点和使用场景对于编写高效且线程安全的多线程程序至关重要。在多线程编程中,选择合适的锁机制对于确保数据的一致性和提高程序的并发性能至关重要。假设我们有一个在线银行系统,其中账户余额更新操作必须是线程安全的。如果我们需要更细粒度的控制,或者希望在等待锁时能有更多的控制,可以使用。关键字来确保在同一时间只有一个线程可以更新余额。如果系统有大量的读操作和少量的写操作,可以使用。

2024-05-14 15:45:26 311

原创 使用多线程的优点

通过使用多线程,我们可以为每个接入的请求创建一个新线程,这样服务器就可以同时处理多个请求,而不会互相干扰。这不仅提高了服务器的吞吐量,也提高了用户的体验,因为他们的请求得到了更快的响应。如果没有使用多线程,服务器可能会在处理一个请求时阻塞其他请求,导致整体性能下降和响应时间增加。综上所述,多线程是一种强大的工具,它可以帮助开发者编写高效、响应迅速的应用程序。是一个实现了请求处理逻辑的类,它可以在独立的线程中运行,从而允许服务器同时处理多个客户端请求。

2024-05-14 15:32:34 386

原创 Java中线程同步的方式

为了避免并发问题,我们可以使用synchronized关键字来确保同一时间只有一个线程可以更新库存。在多线程编程中,确保线程同步是至关重要的,以避免并发问题如竞态条件、死锁和数据不一致。综上所述,Java提供了多种线程同步方式来应对不同的并发需求。):使用无锁的原子操作来保证数据的一致性,适用于简单的数值操作,如递增、递减和赋值等。等):提供了更高级别的线程协调机制,用于控制线程的执行顺序或限制对资源的并发访问数量。关键字:可以用于方法或代码块,确保同一时间只有一个线程可以访问被修饰的代码。

2024-05-14 15:09:23 419

原创 笔试强训-day18_T2 chika和蜜柑

一共有n个蜜柑,chika吃k个蜜柑,将获得所吃的甜度之和与酸度之和。第一行有两个正整数n和k,分别代表蜜柑总数和chika吃的蜜柑数量。(1≤k≤n≤200000)每个蜜柑有一定的酸度和甜度,chika喜欢吃甜的,但不喜欢吃酸的。第二行有n个正整数ai,分别代表每个蜜柑的酸度。(1≤ai≤1e9)第二行有n个正整数bi,分别代表每个蜜柑的甜度。(1≤bi≤1e9)将每个橘⼦按照甜度由⾼到低排序,相同甜度的橘⼦按照酸度由低到⾼排序。她想知道,最终的总酸度和总甜度是多少?对于自定义比较器内容可以参考。

2024-05-04 09:12:34 430

原创 笔试强训-day18_T1 NC101 压缩字符串(一)

利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能。比如,字符串aabcccccaaa会变为a2bc5a3。2.字符串中只包含大小写英文字母(a至z)。输入:“aabcccccaaa”1.如果只有一个字符,1不用写。0<=字符串长度<=50000。返回值:“a2bc5a3”返回值:“shope2w”要求:时间复杂度O(N)输入:“shopeew”

2024-05-04 09:03:29 248

原创 通过Lambda表达式自定义Java比较器实现排序的详解

Lambda表达式是Java 8引入的一项重要特性,它可以简化代码编写,使代码更加简洁、易读。Lambda表达式是一个匿名函数,它可以作为参数传递给方法或函数式接口。在Java中,Comparator接口用于定义对象之间的比较规则。我们可以通过实现Comparator接口来自定义比较器,然后将其作为参数传递给sort方法,以实现自定义排序。在上述代码中,我们使用了Lambda表达式来定义比较器。Lambda表达式的语法是(参数列表) -> {方法体}。

2024-05-04 08:00:00 1098

原创 笔试强训-day17_T3 比那名居的桃子

本题使用滑动窗口解答,另外两种方法大家可以自己试一试,对于暴力解法可能会出现超时,但是使用前缀和的方法应该是可以的。如果有多个答案的快乐值和羞耻度都相等,由于小红实在太想吃桃子了,她希望尽可能早的吃下桃子。由题意得,我们是要枚举所有⼤⼩为 k 的⼦数组,并且求出这段⼦数组中快乐值和羞耻度之和。此,可以利⽤滑动窗⼝的思想,⽤两个变量维护⼤⼩为 k 的窗⼝的总和,并且不断更新即可。这个就⽐较简单了,先预处理出来快乐值和羞耻度的前缀和数组,然后枚举的过程中直接求出⼀段。但是相⽐较于滑动窗⼝的思想,会有空间消耗。

2024-05-03 11:05:41 504

原创 笔试强训-day17_T1 BC45 小乐乐改数字

小乐乐喜欢数字,尤其喜欢0和1。他现在得到了一个数,想把每位的数变成0或1。如果某一位是奇数,就把它变成1,如果是偶数,那么就把它变成0。请你回答他最后得到的数是多少。⼩技巧:题⽬虽然说输⼊⼀个数,但是我们可以把它当成字符串读进来,直接操作数字字符串岂不。输入包含一个整数n (0 ≤ n ≤ 10。输出一个整数,即小乐乐修改后得到的数字。

2024-05-03 10:44:39 295

原创 笔试强训-day17_T2 十字爆破

模拟即可,但是由于数据量过⼤,我们可以提前把每⼀⾏以及每⼀列的和存起来,⽅便统计总和。解法二:提前把每⼀⾏以及每⼀列的和存起来,然后输入输出使用快速的IO方式,解答如下所示。解法一:暴力遍历,这种方法很容易想到,并且也容易编写出代码,但是会超时。因为1+2+3=6,1+2+4=7,1+3+4=8,2+3+4=9。牛牛选择一个方格,可以得到和这个方格同行、同列的所有数之和的得分。现在牛牛想知道下一步选择每个格子的得分情况,你可以帮帮他吗?m个方格,每个方格中有一个整数。

2024-05-03 10:14:52 890

原创 笔试强训-day14_T2 组队竞赛

n个选手,每个选手都有一个水平值a_i.现在要将这些选手进行组队,一共组成n个队伍,即每个队伍3人.牛牛发现队伍的水平值等于该队伍队员中第二高水平值。team1:{2,5,8}, team2:{1,5,5}, 这时候水平值总和为10.team1:{1,2,5}, team2:{5,5,8}, 这时候水平值总和为7.一个队伍三个队员的水平值分别是3,3,3.那么队伍的水平值是3。一个队伍三个队员的水平值分别是3,2,3.那么队伍的水平值是3。一个队伍三个队员的水平值分别是1,5,2.那么队伍的水平值是2。

2024-04-30 19:47:51 313

原创 笔试强训-day14_T1 乒乓球筐

给定两个乒乓球筐,每个乒乓球的种类用不同的大写字母表示。请问第一个乒乓球筐内是否完全包含第二个乒乓球筐内所有乒乓球的种类和数量?输入两行,每行输入一个仅包含大写字母的字符书代表乒乓球筐内的乒乓球。两个字符串的长度均不超过200000。如果第一个乓乓球筐包含第二个的所有种类和数量,则输出"Yes”。简单查询题⽬,可以⽤哈希表帮助我们解决。

2024-04-30 19:40:31 296

原创 笔试强训-day02_T1 BC64 牛牛的快递

牛牛正在寄快递,他了解到快递在 1kg 以内的按起步价 20 元计算,超出部分按每 kg 1元计算,不足 1kg 部分按 1kg计算。如果加急的话要额外付五元,请问牛牛总共要支付多少快递费。第一行输入一个单精度浮点数 a 和一个字符 b ,a 表示牛牛要寄的快递的重量,b表示牛牛是否选择加急,‘y’ 表示加急 ,‘n’ 表示不加急。扩展两个库函数: 向上取整 ceil 和向下取整 floor (天花板和地板)输出牛牛总共要支付的快递费用。模拟:分情况讨论即可。

2024-04-20 16:34:29 218

原创 笔试强训-day01_T3 AB5 点击消除

但是此题如果直接用栈来做的话,也可以,但是需要在出栈的时候,将字符串反转过来,所以我们可以直接用StringBuffer或者StringBuilder。很明显,消消乐问题,所以⽤栈来模拟消除的过程。

2024-04-20 14:36:23 164

原创 笔试强训-day01_T2 NC313 两个数组的交集

【代码】笔试强训-day01_T2 NC313 两个数组的交集。

2024-04-20 12:48:57 161

原创 笔试强训-day01_T1 BC153 [NOIP2010]数字统计

比如给定范围[2, 22],数字2在数2中出现了1次,在数12中出现1次,在数20中出现1次,在数21中出现1次,在数22中出现2次,所以数字2在该范围内一共出现了6次。请统计某个给定范围[L, R]的所有整数中,数字2出现的次数。输入共1行,为两个正整数L和R,之间用一个空格隔开。常规操作:循环提取末尾,然后⼲掉末尾~输出共1行,表示数字2出现的次数。

2024-04-20 12:20:23 386

原创 力扣 - 257. 二叉树的所有路径

此题对使用dfs应该能够想到,在解题过程中,首先对特殊情况(根节点、叶子结点)进行处理,然后对一般情况直接递归。给你一个二叉树的根节点 root ,按 任意顺序 ,返回所有从根节点到叶子节点的路径。输入:root = [1,2,3,null,5]输出:[“1->2->5”,“1->3”]1.处理根节点,如果为空,直接返回。叶子节点 是指没有子节点的节点。2.处理叶子结点,将值加入路径。输入:root = [1]3.处理非叶子节点,递归。

2024-04-15 20:55:47 134

原创 力扣-110. 平衡二叉树

输入:root = [1,2,2,3,3,null,null,4,4]输入:root = [3,9,20,null,null,15,7]给定一个二叉树,判断它是否是平衡二叉树。输入:root = []

2024-04-14 10:21:31 167

原创 力扣-222. 完全二叉树的节点个数

完全二叉树的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。虽然递归法代码简洁,但是实际写代码的时候,不容易写出来,主要是递归过程写在哪里不容易想到,所以递归法还是要多做题,总结归纳相似点。深度优先搜索代码简洁,采用递归的方法,需要明白递归的三要素(详情请看。给你一棵 完全二叉树 的根节点 root ,求出该树的节点个数。输入:root = [1,2,3,4,5,6]输入:root = [1]输入:root = []

2024-04-10 09:24:42 380

原创 力扣-111. 二叉树的最小深度

针对BFS可在此模板上进行改进,例如此题中找最小深度,即找到叶子结点,所以在for循环中编写一个判断是否是叶子结点的条件,并返回所需要的值。⑥创建临时节点node,node = queue.poll(),即临时节点是队列的头结点。输入:root = [2,null,3,null,4,null,5,null,6]⑦若临时节点node的左节点不为空,放入队列,右子树不为空,压入队列。输入:root = [3,9,20,null,null,15,7]最小深度是从根节点到最近叶子节点的最短路径上的节点数量。

2024-04-09 09:38:58 254

原创 力扣-559. N 叉树的最大深度

方法,算法会自顶向下遍历整个 N 叉树,直至到达所有叶子节点(没有子节点的节点),最终返回整个 N 叉树的最大深度。这种基于深度优先搜索(DFS)的递归策略确保了我们能找到从根节点到最远叶子节点的最长路径,从而得到正确的最大深度。N 叉树输入按层序遍历序列化表示,每组子节点由空值分隔(请参见示例)。1.定义节点结构:为了表示 N 叉树的节点,我们定义了一个名为。最大深度是指从根节点到最远叶子节点的最长路径上的节点总数。树的节点数目位于 [0, 104] 之间。给定一个 N 叉树,找到其最大深度。

2024-04-08 10:21:22 443

原创 Java—多态

多态: 是去完成某个行为,当不同的对象去完成时会产生出不同的状态。

2023-11-16 20:09:07 77

原创 Java中的类和对象

Java中的“类和对象”知识点

2023-11-13 22:41:11 77

原创 test 二分查找

在一个有序的序列中,找某个数据是否在该集合中,如果在打印该数据在集合中的下标,否则打印找不到。如果找到返回下标,否则继续,直到区间中没有元素时,说明key不在集合中,打印找不到。

2023-10-25 22:04:31 83 1

原创 C语言——分支循环语句

今天学完C语言的分支结构和循环结构,下面来总结一下。

2023-10-23 13:30:05 37

原创 test 复制一个字符串中元音字母到另一个字符串

这个函数是不安全的,因为它不检查输出缓冲区的大小,这可能导致缓冲区溢出。如果字符在 s1 中是元音(不区分大小写,所以有两组条件),它就被复制到 s2 中, j 增加1;int main(int argc, char *argv[]) 是程序的主函数,其中 argc 是命令行参数的数量,argv 是一个包含所有命令行参数的数组。将一个字符串中的元音字母(a、e、i、o、u)复制到另一个字符串,然后按照ASCII码从小到大的顺序输出。通过一个双重for循环对 s2 中的元素进行冒泡排序(升序)。

2023-10-19 16:49:54 585 1

原创 test 输入一串字符,统计其中有多少个单词

gets(arr) 是一个函数,用于读取用户输入的字符串并将其存储在 arr 中。需要注意的是,gets 函数可能导致缓冲区溢出,因此不推荐使用。在这个情况下,可以使用 fgets 函数代替,例如:fgets(arr, sizeof(arr), stdin)。前者是标准输入输出库,后者包含了一些常见的函数,虽然在这个特定的程序中并没有用到。这段代码的一个主要问题是它使用了 gets 函数,这在许多情况下是不安全的,因为它可能导致缓冲区溢出。最后,使用 printf 函数输出 n 的值,即非空格字符的数量。

2023-10-19 16:46:16 196

原创 test 在一个字符串中插入另外一个字符串

输入整数n,及两个字符串s1,s2,在字符串s1中的第n个字符处插入字符串s2。

2023-10-19 15:49:34 85

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除