自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 java实现冒泡排序、选择排序、二分法查找

🧁 本文介绍了利用Java实现两种排序和一种查询🍔 分别介绍了冒泡排序、选择排序、二分法查找🌭 文中还包括方便理解的相关例子。

2023-07-10 09:18:28 189

原创 Java如何访问通过子类对象访问父类的私有变量

Java如何通过子类对象访问父类的私有变量

2023-07-07 10:32:52 1852

原创 Java中的访问权限控制符<public、protected、praivate>

Java中访问权限控制符

2023-07-06 13:56:30 365

原创 Java三大特征-----------多态性

🥩 大伙知道变形金刚吧,我们将Java多态比作变形金刚变形金刚Java多态车形态编译阶段人形态运行阶段1️⃣多态的定义必要条件:存在父子继承关系表现:在编译和运行阶段状态表现呈现多态2️⃣多态表现例子🧂 存在练习生父类()和IKUN子类(class IKUN🍿 练习生父类拥有Sing、Dance方法,IKUN子类拥有Sing、Dance、Rap方法🥚 IKUN子类中的Sing、Dance方法是对父类的重写,Rap方法是IKUN独有练习生父类(/** 练习生类。

2023-07-05 15:18:38 137

原创 语法分析器【编译原理】

实验内容:输入单词流文件,输出语法树。采用自顶向下分析方法中的递归下降法或LL(1)方法实现语法分析程序。(1)、能发现语法错误,并将错误信息输出到屏幕上,自定义错误处理模式;(2)、建立抽象语法树并输出抽象语法树。实验目的:(1)、通过设计、编制、调试一个典型的语法分析程序,实现对词法分析程序所提供的单词序列进行语法检查和结构分析。(2)、检查可能出现的语法错误,并显示。(3)、通过特定的算法实现语法树的输出。实验相关理论知识:递归下降分析法的原理是利用函数之间的递归调

2022-02-04 09:23:51 4494 2

原创 词法分析器【编译原理】

实验内容:基于TEST语言设计相应的词法输入器并且输出二元组实验目的:1、理解词法分析器的基本功能2、理解简单的词法规则的描述方法3、理解状态转化图及其实现4、能够编写简单的词法分析器实验原理:根据DFA构造词法分析程序1、直接编程的词法分析程序(1)、适合词法比较简单的、手工实现、比较精简,分析速度快(2)、与要识别的语言单词密切相关,一旦词法规则发生变化,则要重新编写程序(3)、通过程序的控制流转移来完成对输入字符的响应,程序中的每一条语句都要与识...

2022-01-28 11:00:03 6743 2

原创 使用回溯法解决(递归方式) 皇后问题【算法设计与分析】<图搜索算法>

实验问题:任何两个皇后放的位置不能在同一行、同一列、同一对角线。每个皇后放在不同行上,一行放一个。问题分析:首先考虑第一个皇后的位置,将其放在第一行不同列上,考虑不同列的情况。确定第一个皇后,在依据条件确定第二个皇后,一直某个皇后的无法放在棋盘上(不满足条件),那么就回溯到不满足皇后的上一个皇后,再确定另一个合适的位置。不断循环。直到找到最后一个皇后合适的位置,即找到所有皇后合适的位置。数学建模:建立函数Queue(n)用于求8皇后问题;建立函数place(k)用于判断放置的皇后

2022-01-19 22:33:54 986

原创 利用广度优先和深度优先算法解决迷宫问题【算法设计与分析】<图搜索问题>

实验问题:给定一个n*n的迷宫,要求利用广度优先和深度优先算法解决迷宫问题问题分析:对于此问题首先要明确搜索顺序可以分为两种方法求解问题:1.广度优先算法2.深度优先算法(1)对于深度优先算法来说:<如果规定遍历顺序为下,右,上,左>首先对于起始节点寻找其下节点,如果此节点能走,将其压入堆栈,并以此节点为准,在寻找其下节点,如果能走压入,不能走,就依次寻找右,上,左节点。直到找到最后一个节点即出口,将堆栈的值依次输出就是迷宫的路径。(2)对于广度优先算法来说:<

2022-01-18 23:38:15 3838 1

原创 资源分配问题【算法设计与分析】<动态规划问题>

问题分析:(要把问题分为多步解决,每步求出子问题的多个最优策略后一步依赖于上一步的最有策略,最后一步得出问题的解)(1)首先要考虑分配给项目A的资金与利润的关系。得到此时投资数x与其相对应的 的关系。(2)其次要考虑分配给前两个项目A,B的总资金 与利润的关系。得到此时投资数x与其相对应的 的关系。(3)最后考虑分配给第三个项目C的资金 与利润的关系得到此时投资数x与其相应的 的关系。最终利润为 此时x为投资C项目的资金。数学建模:开辟二维数组q来存储原始利润的数据另开辟一维

2022-01-18 11:18:57 4451 1

原创 最长公共子序列问题【算法设计与分析】<动态规划问题>

实验问题:给定两个序列,找出它们最长的公共序列<公共序列不一定连续>问题分析:给定两条子序列A={ },B={ }他们的公共子序列为Z={ }分为三种情况:(1) ,则 且 是 和 的最长公共子序列(问题减小);(2) 若 则 是 和 的最长公共子序列(问题减小);(3) 若 则 是 和 的最长公共子序列(问题减小)。数学建模:建立一个数组c[i][j]来存储A和B的公共子序列,i,j分别用来指向A,B序列。从而可以递归地求解c[i][j]

2022-01-18 11:11:29 2060 1

原创 static关键字【C学习】

1、静态全局变量在全局变量前加上static就可以成为静态全局变量#include<stdio.h>static int x;int fun(){ int a; printf("%d\n",a); }int main(){ int b printf("%d\n",b); } <其中x就是静态全局变量>特点:(1)未初始化时会被自动初始化为0(2)在全局数据区分配内存(3)其作用域在整个文件,文

2022-01-17 11:00:52 418

原创 计算序列第 k 小的元素【算法设计与分析】

实验问题:给定一个序列,求出此序列第k小的元素问题分析:可以利用快速排序,随机取一个元素将比它小的数放在它的右边,比它大的数放在左边。根据左子集的元素个数可以分为三种情况:第一种:nleft=k-1 那么分界数据即为问题的答案;第二种:nleft>k-1 那么第k小的数存在于左子集中问题规模减小;第三种:nleft<k-1 那么第k小的数存在于右子集中,问题变为选择第k-nleft-1小的数。数学建模:建立函数get_kSmall(arr,begin,end,

2022-01-17 10:00:15 1707

原创 棋盘覆盖问题[算法设计与分析]

实验问题:用缺了一个格子的正方形去覆盖一个n*n的棋盘,问需要多少个才能覆盖全部棋盘问题分析:第一步:可以将棋盘平分为4个象限,然后判定残缺位置落在哪个象限内。第二步:去填充中间的四个方块中的三个,残缺位置所处的象限的方块不填充。那么问题就转化为四个相同性质的子问题第三步:顺序处理四个象限,递归实现数学建模:建立函数Triomino(r,c,i,j,n) 其中(r,c)是每个象限第一个点,(i,j)是残缺点的坐标,n是棋盘的规模。第一步:找一个基准格子坐标(n/2,n/2)

2022-01-17 09:51:34 1957 1

原创 分治法求解序列最大最小元素【算法设计与分析】

实验问题:给定一个序列求出此序列的最大最小值<要求利用分治法求解>问题分析:为了得到更小的比较次数,采用分治法求解问题;将序列等分为两组,目的是分别求解两组的最大最小值;再递归分解直到每组个数不大于2,就可以找到最大(小)值;再回溯将分解的两组解大者的值取大,解小的取小,合并解。数学建模:建立函数MAXMIN(i,j,a)<其中i是一段序列的头指针,j是这段序列的尾指针,a是最开始输入的数组>当没有分解完全时(i!=j||i!=j-1)递归分解

2022-01-16 10:31:11 6434

原创 n个数的r组合[算法设计与分析]

实验问题:不超过n的r组合,且组合不能重复问题分析:共有r个位置可以放数,从大数到小数放;第r个位置可以固定数 n,n-1,n-2…i…n-r(i>=r);第r-1个位置可以固定数 i-1,i-2…i-r-1(对于i);依次类推,到最后一个位置即r=1时可以固定数 i,i-1…1。数学建模:建立函数comb(n,r) n代表几个数,r代表几个组合;先固定第一个数:可以为n,n-1…i…n-r;再固定后r-1个数:comb(i-1,r-1);只需从小于i-1的数中

2022-01-16 10:20:07 478

原创 汉诺塔问题【算法设计与分析】

实验内容:分别计算 4阶/6阶汉诺塔问题,统计各自需要多少移动步数问题分析:可以把n个盘子抽象为两个盘子,上面“一个”由1~n-1号组成,下面的“一个”由n号盘子组成。问题就转化成先借助B将 1~n-1号盘子从A移动到C,然后将n号盘子从A移动到B,再将1~n-1号盘子借助A从C移动到B。数学建模:定义汉诺塔函数hannota(n,a,b,c) n为几层汉诺塔,a,b,c是盘子。(1)第一步:hannota(n-1,a,c,b);(2)第二步: n号盘子从a到b;(3)第

2022-01-12 16:57:52 1676 1

原创 整数划分问题【算法设计与分析】

实验内容:整数分划, 要求给出分划方式与分化数目的总和问题分析:对于n不超过m的划分可以分为三种情况:(1)n<m相当于n不超过n的划分(2)n=m结果就是{n,x1,x2…},而{x1,x2…}就是n不超过n-1的划分,问题规模减小(3)n>m 结果分为两部分,一部分是包括m的划分:{m,x1,x2…},而{x1,x2…}就是n-m不超过m的划分。另一部分是不包括m的划分,就相当于n不超过m-1的划分。数学建模:针对三种情况建立相应函数:定义函数Q(n,m)

2022-01-12 16:51:12 2033

原创 中断控制器实验【汇编语言与微机原理】8259A芯片<基于proteus仿真实验>手把手教学

实验内容:按动按钮模拟发送一次外部中断,控制小灯的的变换实验思路:外部(开关)向8259发送中断信号,8259处理之后向CPU发出中断请求信号INTR,CPU之后向8259发送中断响应信号INTA*,在第二个INTA*脉冲到来之前8259向CPU发送中断类型号,CPU根据中断向量表找到相应中断服务程序的地址并且转到相应的程序运行,程序中选中IO2*接口输出相应数据控制小灯的亮暗。实验过程:(1)画电路图(2)在EMU8086中写好代码并且编译完(点击compile)形成MS-DOS程

2022-01-11 20:48:05 6979 10

原创 32位无符号整数以十进制形式打印输出屏幕【微机原理与汇编语言】<针对大学8086处理器>

实验内容:有一个32位的二进制数,将其转换为十进制形式并且输出实验难点:我们直到二进制转换为十进制一般采用 除法指令DIV,但DIV指令只适用于二进制数低于或等于16位。因为DIV指令特点是DX存放商、AX存放余数。如果我们用32位的二进制数除以10则理应得到的商可能还是一个32位数,但没有足够空间大下的寄存器储存其中。实验思路:总体思路:就是采用减法去代替除法,可以将我们要处理的32位数不断减去10,每当减一个10,商计数器就加1,这样当数减到小于10时我们就可以得到相应最高位。

2022-01-11 19:31:13 2364

原创 Linux管道通信【操作系统】利用pipe

实验内容:编写一程序,建立一个管道。同时,父进程生成子进程 p1,p2,这两个子进程分别向管道中写入各自的字符串,父进程读出它们。实验相关的系统调用:(1)pipe的创建 pipe(fd)<其中fd是文件对象数组指针> fd[0]:pipe 的出口, 控制读操作 fd[1]:pipe 入口, 控制写操作(2)pipe的读写 写操作:write(fd[1],buf,size)buf:存放消息的空间,size :...

2022-01-11 09:58:15 2469 4

原创 动物专家系统C实现【人工智能】建立相应的规则和简易数据库<正向推理和逆向推理>

实验内容:要求:设计一个动物识别专家系统,规则库至少包含15条规则,可以识别至少7种动物,规则可增加;界面显示要求:1)有若干选择动物特征的选择列表;2)表现判断动物时,使用了哪些规则;3)表现数据库的变化;4)显示规则的调用次序;5)显示最后的结果,包含动物能识别出来和动物不能识别出来两种情况;6)至少检查两个例子实现正向推理和反向推理的区别 实验思路:(1)、建立知识库利用二维数组features[][11]储存,其中存放的是定义的动物特征, ...

2022-01-10 21:29:57 5881 4

原创 A和A*算法C实现【人工智能】8数码问题和15数码问题

实验目的和要求: (1)熟悉掌握启发式搜索算法A*及其可采纳性  (2)编写程序实现8数码和15数码问题,采用至少两种估价函数 (3)分析估价函数求解问题时候的效率差别,分析估价函数对搜索算法的影响实验思路: (1)、用结构体变量存储每个结点的状态值(错位棋牌或者移动步骤) 定义两个队列CLOSE表和OPEN表用来记录和操作结点 (2)、初始化:建立只包含初始状态节点s的搜索图G:={s} 将s入OPEN...

2022-01-10 21:12:13 1973 1

原创 循环程序设计【微机原理与汇编语言】<针对大学8086处理器>键入十进制数求其二进制表示1的个数、实现1到35的累加

实验一:键入十进制数求其二进制表示1的个数实验代码:.model small.stack.data INF1 db "Please input a number(0-65535):$" INF2 db 0ah,0dh,"Number of 1 in binary number:$" IBUF db 6 db 0 db 6 dup(0).codeSTART: MOV ax,@data MOV d

2022-01-10 20:54:39 1004 1

原创 循环程序设计【微机原理与汇编语言】<针对大学8086处理器>1+2+3+4+...+n=result

实验要求:键入一个十进制数得出1加到次数的结果 即键入10则得出1+2+3+...+10=result的result值实验思路:分为三部分 (1)第一部分:将键入的值转换为二进制<方法见我上篇发布文章> (2)第二部分:实现加法运算,通过循环实现 (3)第三部分:将结果(二进制)转换为10进制输出<方法见我上篇发布文章>实验代码:....

2022-01-10 20:40:22 1559 3

原创 循环程序设计【微机原理与汇编语言】<针对大学8086处理器>十进制转换为二进制、二进制转换为十进制

实验一:实验内容:输入一个十进制数把它转换为二进制数并且输出在控制台中实验要点:(1)利用乘法(2)从高位开始处理实验思路:(1)通过调用10号功能调用,将键入的十进制数存入定义的缓冲区IBUF中 (2)缓冲区IBUF由三部分组成,第一个字节空间是分配的缓冲区字节数,第二个字节 空间是实际使用的字节数,后面的空间则是数据内容。IBUF DB 6,0,6,DUP(0)6是分配字节数(1B),0是实...

2022-01-10 20:18:19 2884 1

原创 分支程序设计【微机原理与汇编语言】<针对大学8086处理器>

实验二:实验内容:在屏幕上显示信息“Do you really want to exit?”,然后从键盘输入一个字符, 若输入“Y”或“y”, 显示“Thank you for your using!”后程序结束; 若输入“N”或“n”,显示“Let’s continue!”后程序 结束; 若输入其它字符,显示“You press an error key!”后程序结束。实验代码:...

2022-01-10 19:01:16 686 1

原创 分支程序设计【微机原理与汇编语言】<针对大学8086处理器>

实验一: 实验内容:从键盘输入一个字符,判断该字符是小写字母、大写字母、数字或其它字符。 若输入为小写字母, 显示“You Input a Lowercase Letter!”; 若输入为大写字母,显示“You Input an Uppercase Letter!”; 若输入为数字,显示“You Input a Digit!”; 若输入为其它字符,显示“...

2022-01-10 18:49:46 802 2

空空如也

空空如也

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

TA关注的人

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