- 博客(22)
- 收藏
- 关注
原创 最小生成树(prim)
其实prim算法是贪心算法的一种,如何使得用最短路径走完所有结点,就是要将从第一个结点开始看作为一个集合,之后每一步找这个集合向外扩展的路径最小值(要注意不能重复走s[i]进行标记)。
2024-10-29 13:41:16
167
原创 分治递归相关算法
就是排列问题,先是进入一个for循环,通过递归step+1来进行4*3*2的全排列遍历,其中为了控制在递归过程中遍历字符串中每一个字母,使用book进行存储0未遍历,1已遍历,而其中第一个if条件进行了限制将重复的排列去除。首先,这个问题的思路是运用分治递归的思想将其划分为多个小问题,我们要输出的是众数num以及众数的个数maxCnt,a传入输入的非递减数组,n为数组的个数,将数组分为前中后三个部分,先计算中间的重复元素个数赋值为s。读取input里的一个数组,n为有多少个元素,m为划分为多少个集合。
2024-10-22 13:27:26
947
原创 连扔10次硬币 出现过连续3次正面的概率(递归问题求解)
这个公式的含义是:投掷 n+1 次硬币时,出现连续3次正面的概率等于投掷 n 次时的概率加上从1到 n−3 次都没有连续3次正面的概率乘以最后4次投掷是1个反面加上3个正面的概率。(3)如果投掷次数n等于4时,有三种情况:1为反,2-4为正;(2)如果投掷次数n等于3时,就只是三次正面,p = 0.5的三次方。公式为:P(n+1)=P(n)+(1−P(n−3))×1/16。(1)如果投掷次数n小于3时,不可能出现3次正面,则p=0.这里主要由递推公式求解,找寻P(n)和P(n+1)的关系。
2024-09-10 13:46:49
652
原创 Java基础——包装类
java中所讲万物皆对象,但其基本数据类型如int,short等并不属于类,为了方便使用java将基本数据类型进行一个封装,产生了一个新的类,这个类就叫包装类。
2024-08-28 13:32:30
403
1
原创 Java基础——泛型
在一种数据结构下,在传入不同数据类型时要改变其数据结构的类型,为了方便使用不同的数据类型的数据引入了泛型的概念。子类和父类的泛型类型要保持一致,父类不指定泛型类型的话默认为Object,和子类指定不同数据类型就会报错。其在创建对象传参时,栈里的数据只会是int型,如果想传入其他类型的数据如String则需要更改如下。拓展:甚至于在同一个栈中不同数据类型的数据也能存储 ,但前提是没有给泛型设置类型。类名 对象名 = new 类名();(1)在不使用泛型的情况下构建一个栈。
2024-08-28 11:53:26
179
原创 Java基础——抽象类
在父子类当中,如果父类的一个方法要被全部的子类继承重写,因为子类重写的方法会覆盖父类的方法,则为了方便可以将父类设置为抽象类,重写的方法设置为抽象方法,这样就避免了方法在父类中的完成,只需定义即可。测试类当中,创建了一个对象数组,包含的三个元素体现了多态的引用(抽象类不不能直接创建对象),最后遍历数组,调用每个子类的抽象方法。8.abstract修饰的方法不能被static修饰,static修饰的方法属于类。1.abstract修饰的类叫做抽象类,abstract修饰的方法叫做抽象方法。
2024-08-28 10:06:06
385
原创 java基础——多态
多态是java学习当中的重点,其涉及到了java当中包括类与对象,继承,重写以及数据类型等知识。概括来讲,多态就是在创建对象时用父类的数据类型,构造器却使用了子类的。原因:A类是父类,B类是子类,在堆中为子类开辟内存时会先为父类开辟内存,而此时数据类型为A的变量就可以调用A类当中的方法了(不能调用B类当中的,重写方法除外)。
2024-08-26 13:09:50
459
原创 Java基础——继承,构造器,重载重写
person类(父类)studentstudent类(子类)测试类继承的本质就是代码的复用,是子类复用父类的代码,父类无法使用子类的代码。
2024-08-23 11:58:35
348
原创 Java基础——static关键字
首先,对Test类进行扫描(其中有main方法),发现其有父类Base,扫描Base(直到没有父类为止),接着编译为Base.class放入方法区执行static代码块 base static(static代码块优先main执行),然后编译Test.class,放入方法区,执行static代码块 test static。(在方法区中类信息只是存储不能直接到内存中调用,但在静态常量池变量和方法可以)方法和变量的信息存储在方法区中,他们只有在对象当中才会被分配到内存空间,因此只有对象才能调用。
2024-08-22 17:05:25
616
原创 Java基础——存储
一些字符如果用像素点表示的话太大故而采用字符集表示(ASCll编码),存储位置只记录文档左上角的坐标,颜色则单独存储。计算机进行存储时是将源码转化为补码进行计算,最后再从右向左以存储数据类型的大小保留位数。反码:对于正数来说不变,负数来说除第一位符号位不变以外0->1,1->0.1.局部变量在栈中存字符串常量池里面的地址,相同字符串共用,减少内存损耗。a和b是引用类型,引用类型作比较是判断地址,而基本数据类型则是判断值。3. == 基本数据类型比较的是数值,而对于引用类型则是判断地址。
2024-08-21 22:40:54
704
原创 CSS常见样式和选择器
3、 background - repeat 设置景图片是否平铺 no - repeat 不平铺 repeat 平铺 repeat - x x 轴平铺。找最后一个 last - of - type = nth - last - of - type (1)找最后一个: last - child = nth - last - child (1)找第一个 first - of - type = nth - of - type (1)找第一个: nth - child (1)= first - child。
2024-08-04 03:19:34
737
原创 HTML(基础标签)
href设置资源路径,target设置打开窗口方式(self本窗口,blank新窗口,窗口名指定窗口)。controls 手动播放 autoplay 自动播放 loop 循环播放。controls 手动播放 autoplay 自动播放 loop 循环播放。用于编写文本,不会换行,span标签之间无空隙,换行后有。cellspacing=“0”单元格之间间距0表示挨在一起。src引用图片路径,alt图片不能显示时显示其中内容。前一种圆点式,后一种数字式。rowspan 把行合并。
2024-08-04 02:21:17
117
原创 八大排序(Java)
快排要以第一个元素为基准数,分成左右两波比基准数小和大,最后将i和j相等位置的数据和基准数交换,之后不断递归新基准数的左侧和右侧。第二层循环将数组从头开始两两比较,交换最后得到一个最大值在数组最后,再在第一层循环里循环n次。(但越小的数在后面移动的越多,改良希尔排序)。将第一个元素当作最小值,遍历之后的元素当找到最小的值后将其与之交换,之后不断重复。将数组不断按照组长的一半(一半的一半....)为间隔进行分组,每组进行插入排序。分两步,其一建立一个函数用来维护堆的性质,然后开始建堆,将最大值放在数组最后。
2024-06-10 20:26:41
271
原创 数据结构——队列(数组)
队列结构——先进后出,通过(isFull(),isEmpty(),add(int value),remove(),peek()来实现对应的判断是否满,空,添加,删除,回显队头的功能)同样用余除来进行循环队列,且flag值改为0,队列空只有在删除元素之后,且判断空时,为避免返回值的麻烦使用异常处理。队满时有两种情况,一种是一开始添加元素到队满,另一种是删除某一元素后再添加分别对应或语句的后面和前面。这里是用余除来进行循环队列,且flag值改为1,队列满只有在添加元素之后。
2024-06-03 23:32:40
127
原创 数据结构——数组
数组增删改查,创建一个ArrayList方法,写出(add()增加,insert()插入,delete()删除一个元素,deleteall()删除这个数组中所有相同元素,orderInsert()有序数组插入的操作)。首先判断是否要满,然后判断插入的位置最大就在最后,没有元素就是第一个,都不是,就从头遍历,插入位置及其之后的数据统一向后移动,因为是要插入一个元素,而函数第一步就确保数组一定会有大于一的空位,所以不会溢出。4,删除数组中所有相同元素。通过字符串拼接来打印数组。如何确保打印出来数组。
2024-06-02 20:57:35
138
原创 jouery--绑定事件
3,使用统一的on函数绑定事件,通过已有元素给未来元素(动态元素)绑定事件。1,使用事件函数 .click() .dblclick() ...on函数可以一次绑定多种事件类型,多个事件类型空格隔开。on函数可以一次绑定多种事件类型,多个事件类型用空格隔开。2,使用on函数绑定事件 on(事件类型,事件函数)注:只支持JavaScript原生事件类型。on(事件类型,未来元素选择器,事件函数)注:只支持JavaScript原生事件类型。$里放未来元素的父级元素。jquery绑定事件。
2024-06-01 21:47:12
164
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人