自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 力扣Hot100-94二叉树的中序遍历

注意:在压入左孩子时要判断这个左孩子是否被访问过,eg:在[1,null,2,3]中3被访问后,节点2在栈最上面,进入循环后断2是否有左孩子,2有左孩子节点(3),但是已经被访问,若是再次入栈会陷入死循环。使用栈:当栈不为空时,对当前栈中最上面的节点进行判断,如果节点存在左孩子,且左孩子没有被访问,则将左孩子压入栈,不存在左孩子则将当前最上面节点弹出栈,并判断其是否有右孩子,有则压入栈。递归算法很简单,你可以通过迭代算法完成吗?给定一个二叉树的根节点。

2024-07-21 14:45:03 257

原创 力扣Hot100-148排序链表(插入排序/归并排序)

给你链表的头结点head,请将其按排列并返回。[1,2,3,4]head = [][]方法一:插入排序,但是由于链表是无序的,插入排序在最坏情况下的时间复杂度是 O(n^2),这对于较大的输入会导致超时插入排序思想,依次对未排序的节点插入到已经有序的链表中你可以在O(nlogn)时间复杂度和常数级空间复杂度下,对链表进行排序吗方法二:归并排序归并排序在链表排序中表现良好,归并排序(Merge Sort)是一种基于分治法的排序算法,具有稳定的排序表现,时间复杂度为 O(nlog⁡n)。

2024-07-16 15:29:51 987

原创 SQL练习

count()、max()、min()、sum()、avg()这些是聚合函数,不能出现在where子句中,可以出现在group子句中,所以A、B选项是错误的。(1).FROM 子句, 组装来自不同数据源的数据 (2).WHERE 子句, 基于指定的条件对记录进行筛选 (3).GROUP BY 子句, 将数据划分为多个分组 (4).使用聚合函数进行计算 (5).使用 HAVING 子句筛选分组 (6).计算Select所有的表达式 (7).使用 ORDER BY 对结果集进行排序。

2024-07-16 11:54:47 619

原创 数据结构专项-字符串

面向字符的操作为以字符为单位对数据进行操作,在读的时候将二进制数据转为字符,在写的时候将字符转为二进制数据,这些类都是Reader和Writer的子类。深拷贝和浅拷贝:浅拷贝实际上是复制了被拷贝对象的引用,也就是说浅拷贝的和被拷贝对象指向的是同一块内存空间,而深拷贝则是连同引用的对象也被拷贝,两者指向的是不同的内存空间。然后计算乘法,故之后是*,再计算加法,因此+要在6的前面,不然就是计算4*(x+3)+6了,故选D。中缀表达式中应该先计算x+3,因此后缀表达式中+应该出现在x和3的后面,排除BC。

2024-07-16 11:54:25 403

原创 Java入门-Day7-面对对象基础-构造器

/现在创建对象时就根据输入的参数判断触发哪一个构造器。public Student(String name,double score){//有参数构造器。//构造器:对象名称和方法名称一样,只要参数列表不一样就可以创造很多构造器。①类在设计时,如果不写构造器,Java会为类自动生成一个无参构造器。②:一旦定义了有参数构造器,java就不会帮我们自动生成无参数构造器。public Student(){//无参数构造器。//特点1:创建对象时,对象会去调用构造器。/*触发无参数构造器*/

2024-07-09 17:18:53 168

原创 java入门-面向对象基础(this关键字)

if(this.score>score){//注意score指的是从方法中的形参获得到的,而this.score指的是上面的成员变量score。this 关键字是一个变量,可以在方法中使用,用来拿到当前对象,那个对象调用方法,this就指向哪个对象,也就是拿到哪个对象。//调用方法时,先将自己在堆内存中创建的keythis对象地址传给方法中的this。public void PintThis() { //thiskey类中的方法 //注意不能是static。//成员变量score。

2024-07-09 11:22:47 424

原创 java入门-java方法实现+案例

public static int sum(int a,int b){//int 是返回类型,sum是方法名称。System.out.println(“无参数无返回值”);//素数是除了1和它本身以外,不能被其他正整数整除的数。判断101-200之间有多少个素数,并输出所有素数。eg:3,7是素数,而9,21不是素数。(一)使用方法实现求和。(二)随机生成验证码。

2024-07-09 10:54:12 316

原创 java入门-3案例知识(在程序中接收用户通过键盘输入的数据)

使用API文档:搜索Oracle官网->Product中找到java->java download->document download。在程序中,提示用户通过键盘输入自己的姓名,年龄,并能够在程序中收到这些数据,如何解决?//调用java写好的程序,通过API(应用程序编程接口)调用。

2024-07-05 15:30:30 109

原创 力扣Hot100-24两两交换链表中的节点(三指针)

思路:要实现两个节点node1,node2的交换必然需要三个指针实现,其中两个指针分别指向两个节点,另一个指针指向node1的前一个节点。给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。为使后续节点也能循环使用该代码,需要将p,q,w分别按照相对位置指向下一对要交换的结点。

2024-07-03 23:47:21 261

原创 力扣Hot100-19删除链表的倒数第n个节点(双指针)

要删除的节点Node为倒数第n个,当n已知后,要删除的节点与最后一个节点之间的距离是已知的,设为s。可以使用双指针p,q,将两个指针的距离调整为s+1,此时保持两个指针距离不变,对两个指针下移,直到指针q指向链表的最后一个节点时,指针p指向 要删除节点 的 前一个节点 。修改p->next=p->next->next便可实现删除倒数第n个节点。

2024-07-03 23:38:49 386

原创 java入门-基础语法(运算符)

/13abc ,由于计算是从前往后,在a,b出现时还没有出现字符串,能够计算,所以先计算a+b再拼接“abc”System.out.println("abc"+a+'a');//abc11a ,因为a是变量存储的值为11,使用单引号'a'后a变成了一个字符.a+=b即为a=(a的类型)a+b,为保证能够正确赋值,相加后的类型强制转换为a的类型。System.out.println("进行a++操作之后a的值"+a);System.out.println("进行a++操作之后a的值"+a);

2024-07-03 11:29:51 252

原创 力扣Hot100-2两数相加(反转链表)

根据加法的计算公式,我们应该知道要先将两个多位数(整数:a3a2a1和整数:b2b1)[a1代表一个阿拉伯数字]的地位对齐,从最低位开始相加,产生的进位传递给更高位,参与更高位的加法计算。为了将尾数对齐,可以采用反转链表的方式,此时得到a1a2a3和b1b2,按照顺序对两个链表的数进行相加,保存进位,两个链表中的指针下移继续相加,知道两个链表都结束(其中一个链表结束视为与零做运算)。的链表,表示两个非负的整数。请你将两个数相加,并以相同形式返回一个表示和的链表。的方式存储的,并且每个节点只能存储。

2024-07-02 23:36:09 437

原创 java入门3-java语法基础学习(类型转换)

byte(1个字节)->short(2个字节)->int(4个字节)->long(8个字节)->float(4个字节)->double(8个字节)// byte b=a;//报错,说明大范围类型变量不能直接赋值给小范围类型变量,只能使用强制类型转换。char(2个字节)->int->long->float->double。System.out.println("int转换成byte后的值:");//强制转换公式:数据类型 变量1=(数据类型)变量2、数据。表达式的最终结果类型由表达式中的最高类型决定。

2024-07-01 21:54:33 290

原创 力扣Hot100-141环形链表(「Floyd 判圈算法」(又称龟兔赛跑算法)/哈希表)

方法二:使用快慢指针,慢指针一次走一步,快指针一次走两步,当快慢指针相遇时则说明存在环:(用时较短,但两者时间复杂度都是O(n))方法一:使用哈希表记录已经访问过的节点地址,遍历链表判断当前节点是否已经出现过,出现过则出来环,未出现则不存在环。

2024-06-24 16:20:22 291

原创 指针*使用情况总结

在C++中,*用于指针,指针是的数据类型。(1)声明当前变量为指针变量(2)作为间接访问符,用于访问指针变量指向的值1.动态内存分配在运行时动态分配内存时,2链表节点引用3.传递大型结构体4.标识空指针

2024-06-18 16:52:12 403

原创 力扣Hot100-有效的括号(栈stack)

思路:由于括号都配对的,且从头开始扫描可以发现,最后出现的左括号,他对应的右括号往往最先出现(eg:"{ ( { [,判断字符串是否有效。

2024-05-30 17:03:18 441

原创 力扣Hot100-搜索二维矩阵II

因此,通过从 “根节点” 开始搜索,遇到比 target 大的元素就向左,反之向右,即可找到目标值 target。链接:https://leetcode.cn/problems/search-a-2d-matrix-ii/solutions/2361487/240-sou-suo-er-wei-ju-zhen-iitan-xin-qin-7mtf/每轮 i 或 j 移动后,相当于生成了“消去一行(列)的新矩阵”, 索引(i,j) 指向新矩阵的左下角元素(标志数),因此可重复使用以上性质消去行(列)。

2024-05-29 11:36:57 433

原创 力扣Hot100_54螺旋矩阵(注意思想:重新定义边界)

这里的方法不需要记录已经走过的路径,所以执行用时和内存消耗都相对较小首先设定上下左右边界其次向右移动到最右,此时第一行因为已经使用过了,可以将其从图中删去,体现在代码中就是重新定义上边界判断若重新定义后,上下边界交错,表明螺旋矩阵遍历结束,跳出循环,返回答案若上下边界不交错,则遍历还未结束,接着向下向左向上移动,操作过程与第一,二步同理不断循环以上步骤,直到某两条边界交错,跳出循环,返回答案

2024-05-28 11:11:10 164

原创 力扣Hot100-73矩阵置零(标记数组)

用矩阵的第一行和第一列代替方法一中的两个标记数组,以达到 O(1)的额外空间。在实际代码中,我们首先预处理出两个标记变量,接着使用其他行与列去处理第一行与第一列,然后反过来使用第一行与第一列去更新其他行与列,最后使用两个标记变量更新第一行与第一列即可。,(若第一行中存在零,则对应的这一列也要值为零,所以也会被标记,若第一行不存在零也不会导致影响第一行原本存在的值)。注意,在使用第一行和第一列记录其他位置是否存在值为零的元素时,若存在应该将第一行和第一列对应的值置为。的矩阵,如果一个元素为。

2024-05-24 15:07:53 414

原创 力扣Hot100-只出现过一次的数(技巧)

由于哈希表在查找目标数据元素的时间复杂度是O(1),所以考虑用哈希表判断当前元素出现过几次,出现过两次则将该元素丢弃。,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。

2024-05-20 16:15:49 148

原创 java入门2-常用快捷键,IDEA的删除修改导入模块

(1)输入main,psvm后会自动补全内容:在英文状态写,点击回车,(2)sout回城后可以打印内容:可以在里面输入内容实现打印:其余同理。

2024-05-19 22:19:03 310

原创 力扣Hot100-T10和为k的子数组(前缀和+哈希表)注意思路

使用前缀和+哈希表进行优化 (小红书社招二面出现过):(1)首先使用sum[i]统计i小标之前的所有数之和(包括下标i指向的数),因此某一段序列和为k转化为sum[p]-sum[q]=k,;有效解决负数带来的问题。在遍历过程中用value记录前i个数组值得总和,使用哈希表记录,其中sum[value]对应的值表示和为value的数组段。(2)遍历一遍sum,当前sum[p]已知,k已知,只要判断是否存在sum[q]=sum[p]-k,就能判断当前下标作为开始,是否存在一段数组之和等于k,出现次数ti

2024-05-12 23:28:15 200

原创 力扣Hot100-T8无重复字符的最长子串(经典)

以 abc(a)bcbb 开始的最长字符串为 abc(abc)bb;以 abcabc(b)b 开始的最长字符串为 abcabc(b)b;以 (a)bcabcbb开始的最长字符串为 (abc)abcbb;以 a(b)cabcbb开始的最长字符串为 a(bca)bcbb;以 abca(b)cbb开始的最长字符串为 abca(bc)bb;以 abcab(c)bb开始的最长字符串为 abcab(cb)b;以 abcabcb(b)开始的最长字符串为 abcabcb(b)。因为无重复字符的最长子串是。

2024-05-11 10:45:01 208

原创 力扣Hot100-T7接雨水(动态规划,单调栈)

思路:根据图可以找到规律:当前指针指向下标t时,求t所能接到雨水的高度,由min(t左边最高,t右边最高)-height[t]所决定,eg:上面例子中下标t=2(下标从零开始),时左边最高为1,右边最高为3,所以所能接的雨水为min(1,3)-height[2]=1-0=1;对于后面的每一个下标t有RightMaxheight[t]=max(RightMaxheight[t+1],height[t]) (注意:因为是逆向,所以先知道t+1的右边最大高度,才能知道t的右边最大高度)

2024-05-10 14:12:40 337

原创 Hoot100-T6三数之和

经过上诉操作可以获得所有满足要求的序列,但由于三元组中排列顺序不重要,因此需要去除重复,将数组进行有序排列,当指针i或指针j指向的元素与上一个相同说明在上一轮已经判断过,直接跳过即可,有效避免重复判断(eg:-1,0,1,2,-1,-4 排列后为:-4,,0,1,2 其中(-1,0,1)是一个三元组,-1两次出现,当i指向第二个-1时由于其上一个也是-1,因此跳过对第二个-1的判断)不同的三元组是 [-1,0,1] 和 [-1,-1,2]。注意,输出的顺序和三元组的顺序并不重要。

2024-05-09 14:01:02 305

原创 力扣Hot100-T3最长连续序列()

正确思想:借用哈希表方便查找所需元素值value(将需要判断存在与否的元素Value作为哈希表的键,哈希表的值均为1表示当前元素存在),遍历一遍数组,指针i指向的数组元素value判断其是否是连续序列中的第一个(即value-1不存在),则忽略(eg:若当前value=9,若8存在则9不是连续序列的开头,忽略9继续遍历数组);对于超时的问题,添加判断,当前数字不是连续序列中的第一个时就跳过,同时要注意在第一个循环中要去重,判断哈希表中不存在当前nums[i]作为键时再插入。请你设计并实现时间复杂度为。

2024-05-08 17:21:59 230

原创 力扣Hot100-T5乘最多水的容器

二:(建议画图理解)还是使用双指针,但是改变移动策略,由于要使面积最大就要尽可能地使长和宽最大,因此一开始让i指向最左,j指向最右,使得Length最大;此时若还存在面积更大的2那只肯可能是在宽度上调整,宽度更高才能使面积更大,因此选择移动两个指针中高度较低的那个(i向右移,j向左移),当两个指针重合时就能保证找到面积最大的。时间复杂度为O(n).图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。轴共同构成的容器可以容纳最多的水。

2024-05-08 14:14:26 159

原创 力扣Hot100-T4移动零

移动到数组的末尾,同时保持非零元素的相对顺序。,必须在不复制数组的情况下原地对数组进行操作。你能尽量减少完成的操作次数吗?,编写一个函数将所有。

2024-05-07 11:11:24 153

原创 力扣hot100-T2字母异位词分组

思路:根据题目可以知道将“字母组成相同,顺序不同的字符串”分为一组,所以一组的字符串排序后的字符顺序必然相同(eg:"aacbd"和“badca”将字符串中字母元素排序后均为“aabcd”),所以使用哈希表,将排序后字符串(“aabcd”)作为键,对应的同为一组的所有字符串({"aacbd",“badca”})作为值.最终有几个键就有几个分组。是由重新排列源单词的所有字母得到的一个新单词。可以按任意顺序返回结果列表。给你一个字符串数组,请你将。

2024-05-06 10:35:26 165

原创 java入门-常用Dos命令

(2)切换盘符:eg:切换到D盘 (英文模式下)进入Dos窗口的快捷键:Win+R 输入cmd。(4)进入当前盘下的某个目录(当前在D盘)进入多级目录:D/try/test1。当只输入部门目录时使用Tab键补全。进入单极目录:D/try 的命令。(3)查看当前目录的文件信息。

2024-05-05 19:52:59 129 1

原创 力扣hot100-T1两数之和

由于题目说数组中a+b的和是target,说明当前已知的任意值a,和target,另一个数必然为target-a,即b=target-a。在这里将所有数组存入哈希表中,nums中的元素值作为哈希表中的索引,nums中的索引作为哈希表中元素值。为解决上诉代码中的问题,此处选择将值存入哈希表的同时进行判断:由于要实现a+b=target需要保证a,b同时出现,因此在遇到第一个数a时可以先将a和a的数组下标存入哈希表,当遇到b时判断哈希表中有没有所需要的b,有则查找成功,没有则将b存入哈希表,继续往下遍历数组。

2024-05-03 14:30:02 376

原创 169. 多数元素-面试经典150

在这之后,我们遍历哈希映射中的所有键值对,返回值最大的键。我们同样也可以在遍历数组 nums 时候使用打擂台的方法,维护最大的值,这样省去了最后对哈希映射的遍历。方法一:如果一个数组有大于一半的数相同,那么任意删去两个不同的数字,新数组还是会有相同的性质,即原来的“多数元素”在删除任意两个不同元素后数组中的“多数元素”的值不变。对于哈希映射中的每个键值对,键表示一个元素,值表示该元素出现的次数。你可以假设数组是非空的,并且给定的数组总是存在多数元素。,返回其中的多数元素。多数元素是指在数组中出现次数。

2024-01-30 20:36:19 269 1

原创 80.双指针实现删除有序数组中的重复项 II(中等)-面试经典150题

给你一个有序数组nums,请你删除重复出现的元素,使得出现次数超过两次的元素,返回删除后数组的新长度。不要使用额外的数组空间,你必须在并在使用 O(1) 额外空间的条件下完成。为什么返回数值是整数,但输出的答案是数组呢?请注意,输入数组是以方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。你可以想象内部操作如下://是以“引用”方式传递的。也就是说,不对实参做任何拷贝// 在函数里修改输入数组对于调用者是可见的。// 根据你的函数返回的长度, 它会打印出数组中的所有元素。

2024-01-29 18:16:21 513

原创 26. 删除有序数组中的重复项()-双指针

如果不相等,将 q 位置的元素复制到 p+1 位置上,p 后移一位,q 后移 1 位。// 长度正确的期望答案。要求删除重复元素,实际上就是将不重复的元素移到数组的左侧。解:首先注意数组是有序的,那么重复的元素一定会相邻。不需要考虑数组中超出新长度后面的元素。1.比较 p 和 q 位置的元素是否相等。不需要考虑数组中超出新长度后面的元素。,返回删除后数组的新长度。删除重复出现的元素,使每个元素。

2024-01-28 20:07:03 368

原创 27移除元素(简单)-经典面试150题

你不需要考虑数组中超出新长度后面的元素。例如,函数返回的新长度为 2 ,而 nums = [2,2,3,3] 或 nums = [2,2,0,0],也会被视作正确答案。i用于从下标0开始对数组nums[]进行遍历,k用来指向当前可存放不等于val值的其他数组元素。你不需要考虑数组中超出新长度后面的元素。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。// 根据你的函数返回的长度, 它会打印出数组中。的元素,并返回移除后数组的新长度。

2024-01-28 19:01:19 495

原创 88.合并两个有序数组(简单)-

注意,因为 m = 0 ,所以 nums1 中没有元素。nums1 中仅存的 0 仅仅是为了确保合并结果可以顺利存放到 nums1 中。,5,6] ,其中斜体加粗标注的为 nums1 中的元素。最终,合并后数组不应由函数返回,而是存储在数组。需要合并 [1,2,3] 和 [2,5,6]。需要合并的数组是 [] 和 [1]。个元素表示应合并的元素,后。需要合并 [1] 和 []。中,使合并后的数组同样按。使用上面的二路归并可以实现。合并结果是 [1]。合并结果是 [1]。的算法解决此问题吗?

2024-01-26 13:50:09 228

原创 python入门-列表与元组(append,pop,len等函数使用),字典,集合使用

list2=["黑科技",2,32,[1,2,3]] #最后一项是一个列表,说明列表中还可以嵌套列表。list1=[1,2,3,4,5]#每一项使用逗号隔开。#注:列表中每一项可以是任意的类型。

2024-01-17 21:13:27 855

原创 Python入门-字面量,函数,类

ps:类与实例的关系:实例是类的一个具体例子(比如人是一个类,而张三是一个具体的人,属于其中的一个实例)(1)字符串需要用英文的双引号包围起来,比如打印"helloworld"Python 中常用的有6种值(数据)的类型。(2)浮点数,整数,字符串等字面量的写法。(3)字符串定义及打印。

2024-01-16 01:38:38 433

原创 学习 Linux 内核的系统调用方法理解并掌握 Limux 系统调用的实现框架、用户界面、参数传递、进入返回过程使用编译内核法和内核模块法这两种添加系统调用的方法添加一个不用传递参数的系统调用

在内核编译法添加系统调用的步骤中,我首先进入了根目录并进入kernel目录,然后打开sys.c文件并添加了打印"hello world"的函数。在内核模块法添加系统调用的步骤中,我编写了hello.c文件,并查询了sys_call_table的地址。在实验内核模块的系统调用时查询系统调用的地址后出现三个地址,其中,x32_sys_call_table是x32架构下的系统调用表,而sys_call_table是默认64位的系统调用表。实验中出现最多的错误就是打错文件导致各种报错,因此实验中最重要的就是细心。

2024-01-11 01:01:09 922

原创 基于开源的 RISCV 核 piRV32,搭建一个完整的片上系统(SOC)。学生需要进行硬件设计、软件编程,并验证系统的正确性。在本实验报告中,将详细介绍实验的设计流程、实验环境以及实验原理。

模块定义了处理器核与外部环境之间的输入输出接口,包括时钟信号(clk)、复位信号(resetn)、陷阱信号(trap)、存储器读写控制信号和数据信号(3)

2024-01-11 00:52:26 1177

帆软FR技术支持考核练习题

习题1 基本原理理解 2 1.2原理理解及报表实现 2 1.2知识点 3 习题2新建多源报表 4 2.1实验过程 4 2.2实验结果: 6 习题3:动态格间运算 7 3.1实验过程 7 3.2实验结果 8 习题4:图表 8 4.1实验过程 8 4.2实验结果 12 习题5:参数联动 13 习题6:超级链接 15 6.1主表 15 6.2子表 15 6.3结果图 17 6.4小结 17 习题7:图表热点链接 18 7.1主表 18 7.2子表 19 7.3热点链接 20 习题8:填报 21 8.1表单制作: 21 8.2数据库连接 23 8.3结果截图 23 习题9:填报校验 23 总结 26

2024-05-08

(1)学习 Linux 内核的系统调用方法 理解并掌握 Limux 系统调用的实现框架、用户界面、参数传递、进入返回过程

使用编译内核法和内核模块法这两种添加系统调用的方法添加一个不用传递参数的系统调用,其功能是简单输出类似“hello wold”这样的字符串。 三. 实验步骤 3.1内核编译法添加系统调用 (1)通过su root 输入密码后进入根目录 (2)使用cd /usr/src/linux-5.4.1/kernel进入kernel目录并打开sys.c文件加入打印”hello world”的函数 (3)使用命令gedit syscalls.h中添加上述函数的函数声明 (4)在调用表中选择一个空的可用的调用号(因为调用号是唯一的标识符所以不能多个使用同一调用号) (5)使用make工具配置内核并得到可视化配置窗口 (6)使用make moudules等命令实现编译和安装内核 (7)重启系统并编写调用函数:(下图是使用vi编辑器打开的调用函数) (8)使用gcc hello.c命令编译示例代码并用./a.out执行代码得到输出结果:返回值为1,说明调用成功 3.2内核模块法添加系统调用 (1)编写hello.c文件 其中hello.c文件实现的整体流程如下: 1.调用 call_

2024-01-11

专家系统原理及实现,利用人工智能的产生式系统、图搜索算法以及专家系统的框架,建造一个小型医疗诊断或水果识别专家系统,具有知识库、

综合利用人工智能的产生式系统、图搜索算法以及专家系统的框架,建造一个小型医疗诊断或水果识别专家系统,要求系统具有知识库、推理机和动态数据库三部分。 2、 算法描述 2.1:实验原理 专家系统是一种基于人工智能的计算机程序,旨在模仿人类专家在特定领域中所做的决策。专家系统的核心是一个知识库,其中存储了该领域的专业知识,以及一组推理机制,以根据这些知识和采集的信息做出推理和决策。本文将介绍专家系统的实验原理,包括知识表示、推理机制和知识获取,以及专家系统的应用和局限性。不确定性规则知识产生式 (1)如果 该动物有毛发,那么 它是哺乳动物规则 (2)如果 该动物能产乳,那么 它是哺乳动物规则 (3)如果 该动物有羽毛,那么 它是鸟类动物 (4)如果 该动物能飞行,它能生蛋,那么 它是鸟类动物 规则5到8 把哺乳动物又进一步分为更细的类食肉动物和有蹄动物: (5)如果 该动物是哺乳动物,它吃肉,那么 它是食肉动物 (6)如果 该动物是哺乳动物,它长有爪子,它长有利齿,它眼睛前视,那么 它是食肉动物 (7)如果 该动物是哺乳动物,它长有蹄,那么 它是有蹄动物 (8)如果 该动物是哺乳动物

2024-01-11

深度学习设计(VGG19)智能计算系统

一、目的及要求 理解深度学习原理,完成VGG 19的代码实现,并且进行图像分类任务 二、环境(软、硬件平台) Python 三、内容及步骤(包括程序流程及说明) 1. 导入数据集和划分数据 1.1导入数据集:通过继承torch.utils.data中的Dataset类,重写init, len, getitem实现对数据集的加载。 1.2划分数据:应用的数据集包含猫,熊猫和狗三类动物,每种动物图片各1000张。其中将三种动物的前900张作为训练集(训练集共2700张),后一百张图片作为测试集(测试集共300张)。 本次实验主要分为Model模型结构定义,数据集加载,数据训练和数据测试,以及数据分类五个部分。其中,model中主要实现定义VGG类,以及实现神经网络的前向传播(将图片数据输入到网络中,经过层层卷积、池化、全连接等各种操作得到输出)函数设计(尝试自定义函数设计,e.g., 自定义数据集加载等) (1)在Vgg_Model中:定义函数初始化VGG19的模型和前向传播网络函数 Inin():定义卷积层,池化层,全连接层三层。 根据图像的特点设置卷积层输入维度(in-chan

2024-01-11

基于XML/注解的AOP模拟银行账户

实验要求 1、根据实验内容中提出的要求﹐使用IDEA集成开发环境编写相应的Java程序; 2、根据实验内容中提出的要求﹐使用IDEA编译、运行自己所编写的Java程序; 3、根据编译与运行过程中所获得的错误信息修改程序直至获得正确的结果; 4、记录实验中遇到的各类问题并以及解决办法。 (1) 基于XML方式的AOP编程模拟银行账户的存钱和取钱操作前后的信息提示的给出。在每次账户余额变动前后给出账户余额信息。 (2)基于注解方式的AOP编程模拟银行账户的存钱和取钱操作前后的信息提示的给出。在每次账户余额变动前后给出账户余额信息。

2024-01-11

java,航空订票系统,Java Swing、MySQL、Dijkstra算法

本文基于实验要求设计和实现了一款航空订票系统,采用Java Swing框架进行界面开发,并通过JDBC连接MySQL数据库实现数据的存储和检索。通过Java Swing框架,系统实现了页面跳转、用户交互和界面美化等功能。利用JDBC连接MySQL数据库,实现了数据的持久化存储和查询操作,确保系统能够可靠地保存和检索用户和航班相关信息。 系统提供了登录与注册、订票主页、航班选择、用户管理、航班管理、订票记录查询、订/退票和酒店预订等功能。其中采用了Dijkstra算法实现城市节点的最短路径及最少费用计算 此外,系统还引入了时间选择器组件,用于方便用户选择航班的出发日期。时间选择器基于Swing框架的组件进行开发,并提供了直观的界面和用户友好的操作方式 本文实现的航空订票系统具备了完善的功能和用户友好的界面,能够满足旅客订票、管理和查询的需求,并且通过数据库的支持,数据的安全性和稳定性得到了保障。 关键词:航空订票系统、Java Swing、MySQL、Dijkstra算法

2024-01-11

一款航空订票系统,采用Java Swing框架进行界面开发,并通过JDBC连接MySQL数据库实现数据的存储和检索

本文基于实验要求设计和实现了一款航空订票系统,采用Java Swing框架进行界面开发,并通过JDBC连接MySQL数据库实现数据的存储和检索。通过Java Swing框架,系统实现了页面跳转、用户交互和界面美化等功能。利用JDBC连接MySQL数据库,实现了数据的持久化存储和查询操作,确保系统能够可靠地保存和检索用户和航班相关信息。 系统提供了登录与注册、订票主页、航班选择、用户管理、航班管理、订票记录查询、订/退票和酒店预订等功能。其中采用了Dijkstra算法实现城市节点的最短路径及最少费用计算 此外,系统还引入了时间选择器组件,用于方便用户选择航班的出发日期。时间选择器基于Swing框架的组件进行开发,并提供了直观的界面和用户友好的操作方式 本文实现的航空订票系统具备了完善的功能和用户友好的界面,能够满足旅客订票、管理和查询的需求,并且通过数据库的支持,数据的安全性和稳定性得到了保障。

2024-01-11

八数码问题求解,要求:设计估价函数,给出算法伪代码,并采用c或python编程实现,演示A算法的搜索过程,代码要适当加注释,实验

八数码问题求解:在3×3方格棋盘上,分别放置了标有数字1,2,3,4,5,6,7,8的八张牌,初始状态S0可自己随机设定,使用的操作有:空格上移,空格左移,空格右移,空格下移。试采用A算法编程实现搜索过程。 要求:设计估价函数,给出算法伪代码,并采用c或python编程实现,演示A算法的搜索过程,代码要适当加注释,实验结果分析与体会。 2、 算法描述 (包含:状态描述,启发函数设计,规则判断条件等,并给出伪代码) 2.5A算法实现问题步骤 (1)把初始节点S0放入Open表中,f(S0)=g(S0)+h(S0); (2)如果Open表为空,则问题无解,失败退出; (3)把Open表的第一个节点取出放入Closed表,并记该节点为n; (4)考察节点n是否为目标节点。若是,则找到了问题的解,成功退出; (5)若节点n不可扩展,则转到第(2)步; (6)扩展节点n,生成子节点ni(i=1,2,……),计算每一个子节点的估价值f(ni) (i=1,2,……),并为每一个子节点设置指向父节点的指针,然后将这些子节点放入Open表中; (7)根据各节点的估价函数值,对Open表中的全部节点按

2024-01-11

八数码问题求解:设计估价函数,给出算法伪代码,并采用c或python编程实现

八数码问题求解:在3×3方格棋盘上,分别放置了标有数字1,2,3,4,5,6,7,8的八张牌,初始状态S0可自己随机设定,使用的操作有:空格上移,空格左移,空格右移,空格下移。试采用A算法编程实现搜索过程。 要求:设计估价函数,给出算法伪代码,并采用c或python编程实现,演示A算法的搜索过程,代码要适当加注释,实验结果分析与体会 八数码问题求解:在3×3方格棋盘上,分别放置了标有数字1,2,3,4,5,6,7,8的八张牌,初始状态S0可自己随机设定,使用的操作有:空格上移,空格左移,空格右移,空格下移。试采用A算法编程实现搜索过程。 要求:设计估价函数,给出算法伪代码,并采用c或python编程实现,演示A算法的搜索过程,代码要适当加注释,实验结果分析与体会

2024-01-11

成电(电子科技大学)820操作系统填空题汇总

2018年820填空题 1.进程控制块(PCB)是进程存在的唯一标志。 2.逻辑页面16个,物理块64个,页的大小为 4KB,逻辑页号占12位,物理页号占4位。 3. 2016年820填空题 1.若信号量S的初值为4,当前有6个进程在等待信号量S,则当前信号量S的值为-6。 2.某系统中共有11台打印机,X个进程共享此打印机,每个进程最多请求使用 3台打印机,则该系统中不会发生死锁的最大X值是5。 3.虚拟存储管理系统的基础是程序的局部性理论。 4.为满足2“地址空间的作业运行,采用多级分页存储管理方式,假设页面大小 为4KB,在页表中的每个页表项需要占8字节。那么,为了满足系统的分页存储管理,至少应采用6级页表。2 /21-2页,一页可存2/2=22页表项[52/9]=6 5.某文件系统的文件控制块占64B,单个盘块大小为 1KB,采用·一级目录结构。 假设文件目录中有3200个目录项,则查找一个文件平均需要访问100次磁盘。

2023-11-28

多媒体技术+pr,Dw,flash,ps

本次实验主要通过flash,dw,ps等软件对图像,音频等做处理实现在线书刊 (1)Photoshop 是 Adobe 公司旗下最为出名的图像处理软件之一,他的应用领域很广泛的,在图像、图形、文字、视频、出版等各方面都有涉及。 (2)Flash 软件是一种动画创作与应用程序开发于一身的创作软件,为创建数字动画、交互式 Web站点、桌面应用程序以及手机应用程序开发提供了功能全面的创作和编辑环境。。 Flash 可以包含简单的动画、视频内容、复杂演示文稿和应用, (3)DW是集网页制作和管理网站于一身的所见即所得网页代码编辑器。利用对 HTML、CSS、JavaScript等内容的支持,设计师和程序员可以在几乎任何地方快速制作和进行网站建设 (4) Premiere提供了采集、剪辑、调色、美化音频、字幕添加、输出、DVD刻录的一整套流程,并和其他Adobe软件高效集成用于视频段落的组合和拼接,并提供一定的特效与调色功能。Premiere和AE可以通过Adobe动态链接联动工作,满足日益复杂的视频制作需求。

2023-07-07

SQL+邮局订报子系统+Qt

本系统的设计初衷是希望邮局的订阅报刊功能能够适应数字化时代的发展,满足客户 的需求,实现更加快捷的浏览模式,简单易懂的操作模式,清晰的订报流程。能够为客户 提供更好地服务体验。在本系统中客户不仅可以看到所有报刊的信息,还可以实现在线付 费订阅报刊,通过管理员查询自己的订报情况等。同时管理员还可以对订购的报刊进行查 询统计,对报刊信息进行修改,更新,删除,统计等功能。 (1)能够对报刊信息,用户信息等进行添加,删除,查询,打印等基本操作 (2)能够根据订报要求进行订购报纸,并完成一次订购任务后的汇总总金额,模拟付款 等功能 (3)能够查询某客户的定刊情况并显示相关报刊信息 (4)能够实现用户管理功能:例如用户登录,个人信息修改页面等 (5)设计界面友好,能够对错误操作进行提示,功能操作较合理,考略到了系统的安全 性,完整性,备份,恢复等方面的功能要求

2023-07-07

基于卷积神经网络(CNN)的超分辨率图像

本文总结了超分辨率下的图像重构研究现状,SRCNN的实现原理,并结合深度学习的基础知识描述SRCNN中特征提取和表示,非线性映射,及对映射后的特征进行重构的具体操作,研究基于卷积神经网络(CNN)的超分辨率图像重构的实现方法,通过与插值重构算法(以最近邻插值法、双线性插值法,双三线性插值为例)和CT重构(反投影,迭代重建,解析法)进行比对总结SRCNN及插值重构算法的优缺点。 在研究方法模块对SRCNN的原理,卷积网络结构,SRCNN算法实现的步骤(数据预处理,实验结果分析,图像质量评估)进行叙述。并以插值,重建算法为例详细介绍了其他可实现图像重构的方法原理。在实验分析模块对三种算法的优缺点进行总结比对。

2023-07-07

江南大学实验指导书实验一

江南大学实验指导书实验一

2023-06-30

空空如也

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

TA关注的人

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