自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JAVA学习—51-60天

文章目录第 51 天: KNN分类器第 51 天: KNN分类器KNN(K-Nearest Neighbor)算法是机器学习算法中最基础、最简单的算法之一。它既能用于分类,也能用于回归。KNN通过测量不同特征值之间的距离来进行分类。对于任意n维输入向量,分别对应于特征空间中的一个点,输出为该特征向量所对应的类别标签或预测值。工作原理是利用训练数据对特征向量空间进行划分,并将划分结果作为最终算法模型。存在一个样本数据集合,也称作训练样本集,并且样本集中的每个数据都存在标签,即我们知道样本集中每一数据与所

2021-07-13 21:39:52 124

原创 JAVA学习—41-50天

第 41 天: 顺序查找与折半查找顺序查找顺序查找就是从数组的第一个元素开始,依次比较,直到找到目标数据或查找失败。折半查找假设查找的数组区间为 [min,max],min 代表起始索引,max 代表结束索引,T 代表需要查找的值。第一步:确定该区间的中间位置 K;第二步:将查找的值 T 与 array[k] 比较。若相等,查找成功返回此位置;否则确定新的查找区域,继续折半查找;第三步:若 array[k]>T,由数组的有序性可知 array[k,k+1,……,max] 中的每个值都大于

2021-07-04 22:25:54 148

原创 JAVA学习—31-40天

第 33 天: 图的广度优先遍历广度优先搜索遍历过程(1)从某个顶点V出发,访问该顶点的所有邻接点V1,V2…VN(2)从邻接点V1,V2…VN出发,再访问他们各自的所有邻接点(3)重复上述步骤,直到所有的顶点都被访问过若此时图中还有顶点未被访问,则在外控算法的控制下,另选一个未曾被访问的顶点作为起始点,重复上述过程,直到图中所有顶点都被访问完为止。 /** ********************* * Breadth first traversal. * * @param

2021-07-01 20:58:30 116

原创 JAVA学习—定义标准的POJO类—2021-06-30

JAVA学习—定义标准的POJO类—2021-06-30如何定义一个”标准的类”1.所有的成员变量都需要使用private关键字私有化(以确保数据安全)2.为每一个成员变量编写一对 Setter 、Getter 方法3.编写一个无参数的构造方法4.编写一个全参数的构造方法【注意】对于所有的数据类型,Getter都必须叫getxxx,Setter都必须叫setxxx,但是有一个特例如果数据类型是boolean值,那么setxxx的规则不变,而setxxx需要写成isxxx【练习】:两个对象的

2021-06-30 22:14:51 307

原创 JAVA学习—图的连通性检测—2021-06-27

JAVA学习—图的连通性检测—2021-06-27基本概念无向图连通图和非联通图: 如果无向图 G 中任意一对顶点都是连通的,则称此图是连通图(connected graph);相反,如 果一个无向图不是连通图,则称为非连通图(disconnected graph)。对非连通图G,其极大连通子图称为连通分量(connected component,或连通分支),连通分支数记为w(G)。割顶集与连通度: 设V’是连通图G 的一个顶点子集,在G 中删去V’及与V’关联的边后图不连通,则称 V’ 是 G

2021-06-27 10:29:22 514 1

原创 JAVA学习—构造方法—2021-06-26

构造方法构造方法就是专门用来创建对象的方法,当使用new创建对象时,其实就是在调用构造方法、如何定义一个构造方法,格式:public 构造方法名(参数类型 参数名称){ 方法体 }调用构造方法的格式就是创建对象的格式:new 类名称()注意:1.构造方法不能写返回值类型,void也没有2.构造方法的名称必须和所在类名称完全一样,大小写也要一样构造方法的重载构造方法也是一种方法,所以也可以进行方法的重载(overload)重载:方法的名称相同,但是参数列表不同(前面讲重载专门说过有

2021-06-26 23:55:34 56

原创 JAVA学习—this关键字—2021.06.25

this 关键字当局部变量和成员变量重名的时候,方法当中会根据“就近原则”使用如果想区分,就需要使用 this.成员变量名this关键字的金典作用就是将重名的成员变量和局部变量区分开通过谁调用的方法,谁就是this,this代表的就是“当前对象”例子package test4;/** * this * @author hengyuzuo * */public class person { //成员变量 String name; //成员方法 public void s

2021-06-25 21:42:15 60

原创 JAVA学习—private的用法—2021-06-24

JAVA学习—private的用法—2021-06-24举例创建一个类package test3;/** * * @author hengyuzuo * */public class Person { //成员变量 String name; int age; //成员方法 public void show() { // TODO Auto-generated method stub System.out.println("my name is: " + nam

2021-06-24 21:26:58 1867

原创 JAVA学习—矩阵运算—2021-06-20

JAVA学习—矩阵运算—2021-06-20整数矩阵的加法乘法package matrix;import java.util.Arrays;/** * Int matrix. For efficiency we do not define ObjectMatrix. One can revise it * to obtain DoubleMatrix. * * @author hengyuzuo. */public class IntMatrix { /** * The da

2021-06-20 21:18:03 257

原创 JAVA学习—huffman—2021-06-17

JAVA学习—huffman—2021-06-171.由给定的 n 个权值 {w0, w1, w2, …, wn-1},构造具有 n 棵扩充二叉树的森林 F = { T0, T1, T2, …, Tn-1 },其中每棵扩充二叉树 TI 只有一 个带权值 wi 的根结点, 其左、右子树均为空。2.重复以下步骤, 直到 F 中仅剩下一棵树为止:① 在 F 中选取两棵根结点的权值最小的扩充二叉树,做为左、右子树构造一棵新的二叉树。置新的二叉树的根结点的权值为其左、右子树上根结点的权值之和。② 在 F 中删

2021-06-17 22:12:03 93 1

原创 JAVA学习—Huffman 编码 (节点定义与文件读取)—2021-06-16

JAVA学习—Huffman 编码 (节点定义与文件读取)—2021-06-16代码package datastructure.tree;import java.nio.charset.StandardCharsets;import java.nio.file.Files;import java.nio.file.Paths;import java.util.Arrays;import java.util.stream.Collectors;/** * Huffman tree, en

2021-06-16 21:32:24 92

原创 JAVA学习—Hanoi 塔问题—2021-06-15

JAVA学习—Hanoi 塔问题—2021-06-15Hanoi 塔问题这个问题起源于一个类似传说故事,在Hanoi这个地方有一个寺庙,这里有3根柱子和64个大小不同的金碟子。每个碟子有一个孔可以穿过。所有的碟子都放在第一个柱子上,而且按照从上到下碟子的大小依次增大的顺序摆设。如下图:现在,假定寺庙里的僧侣要移动这些碟子,将它们从最左边移动到最右边的柱子上。不过移动的规则如下:1.每次只能从一个柱子的最上面移动一个碟子到另外一个柱子上。2.不能将大碟子放到小碟子的上面。按照前面这个规则,我们该

2021-06-15 10:41:12 1244 1

原创 JAVA学习—基础知识(持续更新中)

JAVA学习—基础知识—2021.6.15常量关于程序注释单行注释:以//开始,直到本行结束多行注释:以/*开始,以*/ 结束,中间内容都属于注释文档注释:以/**开始,以*/结束,中间内容都属于注释关于程序当中的常量1.字符串常量:凡是用双引号引起来的内容。2.整数常量:例如1000、-250。3.浮点常量:例如3.14。4.字符常量:凡是用单引号引起来的单个字符,只能有一个字符。5.布尔常量:只有两种取值,true、false。6.空常量:null。变量JAVA中的数

2021-06-15 10:29:37 167

原创 JAVA学习—二叉树深度遍历的栈实现 (前序和后序)—2021-06-14

JAVA学习—二叉树深度遍历的栈实现 (前序和后序)—2021-06-14前序与中序的区别, 仅仅在于输出语句的位置不同. 二叉树的遍历, 总共有 6 种排列: 1) 左中右 (中序); 2) 左右中 (后序);3) 中左右 (前序); 4) 中右左; 5) 右左中; 6) 右中左. 我们平常关心的是前三种, 是因为我们习惯于先左后右.如果要先右后左, 就相当于左右子树互换, 这个是很容易做到的. 如果将前序的左右子树互换, 就可得到 4) 中右左; 再进行逆序, 可以得到2) 左右中. 因此,

2021-06-14 22:03:49 1286

原创 JAVA学习—二叉树深度遍历的栈实现 (中序)—2021-06-13

JAVA学习—二叉树深度遍历的栈实现 (中序)—2021-06-13第一步建立具有通用性的对象栈package datastructure.stack;/** * Circle int queue. * * @author hengyuzuo */public class ObjectStack { /** * The depth. */ public static final int MAX_DEPTH = 10; /** * The actual depth.

2021-06-13 13:46:35 1127 1

原创 JAVA学习—二叉树的建立—2021-06-12

JAVA学习—二叉树的建立—2021-06-12先补点基础知识,后面来填坑关于程序注释单行注释:以//开始,直到本行结束多行注释:以/*开始,以*/ 结束,中间内容都属于注释文档注释:以/**开始,以*/结束,中间内容都属于注释关于程序当中的常量1.字符串常量:凡是用双引号引起来的内容。2.整数常量:例如1000、-250。3.浮点常量:例如3.14。4.字符常量:凡是用单引号引起来的单个字符,只能有一个字符。5.布尔常量:只有两种取值,true、false。6.空常量:nul

2021-06-12 16:34:48 63

原创 JAVA学习—使用具有通用性的队列(类与对象)—2021-06-11

JAVA学习—使用具有通用性的队列—2021-06-11使用一个通用性得队列来写不同的类那什么是类?一直写的 public class 就是一个类。类就是图纸,根据图纸来创造手机,根据类创造对象类的定义类包含两部分:成员变量和成员方法1.成员变量,将变量位置直接定义在类中,在方法外,即为成员变量。2.成员方法,将普通的方法去掉 static 关键字,即为成员方法。列子以学生为一个列子,那么学生的属性有年龄和姓名(只列举两项)。行为可以有吃饭和睡觉。对应起来成员变量就是:String

2021-06-11 12:31:33 148 1

原创 JAVA学习—二叉树的存储—2021-06-10

JAVA学习—二叉树的存储—2021-06-10存储方式采用层序遍历,按照满二叉树来算,对于每个位置都编上号,对不存在的节点取零代码package a20;/** * ******************* * Circle object queue. * @author hengyuzuo * ******************* */public class CircleObjectQueue { /** * The total space. One space can

2021-06-10 23:28:51 200 1

原创 JAVA学习(小白向)—二叉树的深度遍历的递归实现—2021-06-09

JAVA学习—二叉树的深度遍历的递归实现—2021-06-09基础知识树形结构是一种典型的非线性数据结构,树形结构是一对多的关系,树的定义本身就是递归的,一颗树可以由若干个子树构成,它的特点有:存在唯一一个被称为根节点的数据元素存在若干个被称为叶节点的数据元素除根节点外,集合中每个元素均只有一个前驱除叶节点外,集合中每个元素可以有若干个后驱对于二叉树来说,是一种每个节点只能最多只能有两个分支的树。遍历方式有:先序遍历(根左右);中序遍历(左根右);后序遍历(左右根)代码package

2021-06-09 21:37:28 96

原创 JAVA学习(小白向)—综合问题—2021-06-08

JAVA—综合问题—2021-06-08Q1.面向对象与面向过程相比, 有哪些优势?A1:个人感觉面向对象要更有结构Q2.比较线性表和链接的异同.优缺点A2:链表不用事先估计存储规模;而顺序表需要;顺序表可以顺序存取,也可以随机存取;链表只能从表头顺序存取元素。Q3.分析调拭程序常见的问题及解决方案.A3:常遇见的问题就是打错变量名称,str打成srt等,不过还好我、eclipse有自动监测问题Q4.分析链队列与循环队列的优缺点.A4:循环队列不会出现尾数组已满但头数组还是空的情况,能够节约

2021-06-08 20:38:11 78

原创 JAVA学习(小白向)—字符串匹配(敏感词屏蔽)—2021-06-07

JAVA学习—字符串匹配—2021-06-07如在S字符串中查找P字符串的位置,将P字符串依次往后移动,直到匹配完所有的元素。代码package a17;/** * ***************** * It's essentially a sequential list with char type elements. * @author hengyuzuo * */public class MyString { /** * The maximal length. */

2021-06-07 14:57:42 422

原创 JAVA学习(小白向)—循环队列—2021-06-06

JAVA学习—循环队列—2021-06-06循环队列原理head表示队列队首tail表示队列队尾当head=tail时表示队列为空上图中front相当于代码里的head,此时队列为空。当添加元素后,指针往后移动,执行tail++当移除元素时,同理head指针往前移动,执行head++代码package a16;/** * ******************************* * Circle int queue. * @author hengyuzuo * ***

2021-06-06 22:16:54 118

原创 JAVA学习(小白向)—链队列—2021-06-05

JAVA学习(小白向)—链队列—2021-06-05Q&AQ1:什么是链队列?A1:链队是指采用链式存储结构实现的队列,通常链队用单链表俩表示。一个链队显然需要两个分别指示队头和队尾的指针,也称为头指针和尾指针,有了这两个指针才能唯一的确定;入队仅操作尾部, 出队仅操作头部.Q2:链表和链队列的区别?代码package a15;/** * ******************** Linked list. * * @author hengyuzuo *************

2021-06-05 14:36:17 63

原创 JAVA学习(小白向)—递归—2021.6.4

JAVA学习(小白向)—递归—2021.6.4Q&AQ1:什么是递归?A1:递归是在一个方法内部对自身进行调用。利用递归可以用简单的程序来解决一些复杂的问题。比如:裴波那契数列的计算、汉诺塔、快排等问题。以fibonacci数列为例,当n>2时,后一个数字等于前两个数字之和。递归构造包括两个部分:定义递归头:什么时候不调用自身方法,如果没有头,将陷入死循环递归体:什么时候需要调用自身方法}if (paraN == 1) { //Basis. return 1;

2021-06-04 12:52:27 51

原创 JAVA学习(小白向)—栈的应用(括号匹配)—2021-06-03

JAVA学习—栈的应用(括号匹配)—2021-06-03任务描述: 检查一个字符串的括号是否匹配. 所谓匹配, 是指每个左括号有相应的一个右括号与之对应, 且左括号不可以出现在右括号右边. 可以修改测试字符串, 检查不同情况下的运行.仅在昨天的代码基础上增加了一个 bracketMatching 方法, 以及 main 中的相应调拭语句.操作系统的核心数据结构.对于计算机而言, 如何降低时间、空间复杂度才是王道.除了关注的括号, 其它字符不起任何作用.一旦发现不匹配, 就直接返回,不用罗嗦.

2021-06-03 11:26:59 93

原创 JAVA学习(小白向)—栈—2021.6.2

JAVA学习(小白向)—栈—2021.6.2Q1:什么是栈?A1:堆和栈都是Java用来在RAM中存放数据的地方。一、堆(1)Java的堆是一个运行时数据区,类的对象从堆中分配空间。这些对象通过new等指令建立,通过垃圾回收器来销毁。(2)堆的优势是可以动态地分配内存空间,需要多少内存空间不必事先告诉编译器,因为它是在运行时动态分配的。但缺点是,由于需要在运行时动态分配内存,所以存取速度较慢。二、栈(1)栈中主要存放一些基本数据类型的变量(byte,short,int,long,float,

2021-06-02 12:00:56 32

原创 JAVA学习(小白向)—链表—2021-06-01

JAVA学习(小白向)—链表—2021-06-01链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的大致分为单链表和双向链表1.单链表:每个节点包含两部分,一部分存放数据变量的data,另一部分是指向下一节点的next指针2.双向链表:除了包含单链表的部分,还增加的pre前一个节点的指针链表的优点在于,不需要连续的存储单元,修改链表的复杂度为O(1) (在不考虑查找时)但是缺点也很明显:无法直接找到指定节点,只能从头节点一步一步寻找复杂度为O(n

2021-06-01 21:07:04 68

原创 JAVA学习(小白向)—顺序表2—2021.5.31

JAVA学习(小白向)—顺序表—2021.5.31学习顺序表的基础操作代码:package a11;/** * * @author hengyuzuo * */public class datastructure { /** * ******************* * The maximal length of the list. It's a constant. * * ******************* */ public static fin

2021-05-31 21:59:36 37

原创 JAVA学习(小白向)—顺序表1—2021.5.30

JAVA学习(小白向)—顺序表—2021.5.30在《数据结构》中, 使用“抽象数据类型”来描述不同的数据结构. 在《面向对象程序设计》中, 用对象来存储数据及其上的操作. 我认为, 它们的本质都是相同的.对象: 数据及其上操作的总和. 例如, 我是一个对象, 具有身高、体重、年龄、跑步速度等数据; 同时,我具有吃饭、睡觉、送快递等功能. 从计算机的发展来看, 第一阶段以操作 (函数) 为中心, 一个计算导弹轨迹的函数,根据不同输入获得不同输出. 第二阶段以数据为中心, 即数据存放于数据库, 使用不同

2021-05-30 17:53:12 136

原创 JAVA学习(小白向)—成绩评比—2021-05-29

学生的成绩存放于一个矩阵,其中行表示学生,列表示科目。如:第 0 行表示第 0 个学生的数学、语文、英语成绩。要求:进行学生成绩的随机生成, 区间为 [50, 100]。找出成绩最好、最差的同学。但有挂科的同学不参加评比。代码如下:package a10;import java.util.Arrays;import java.util.Random;/** * * @author hengyuzuo * */public class MissionTODO { /**

2021-05-29 18:19:11 174

原创 JAVA学习—while语句—2021.5.28

JAVA学习(小白向)—while语句—2021.5.28while语句:只要指定条件为 true,循环就可以一直执行代码块。语法:while (条件){需要执行的代码}do/while 循环do{需要执行的代码}while (条件);do/while 循环是 while 循环的变体。该循环会在检查条件是否为真之前执行一次代码块,然后如果条件为真的话,就会重复这个循环。该循环至少会执行一次,即使条件为 false 它也会执行一次代码:package a9;/** *

2021-05-28 18:39:13 103

原创 JAVA学习(小白向)—矩阵相乘—2021-05-27

JAVA学习(小白向)—矩阵相乘—2021-05-27矩阵乘法的定义代码如下:package a8;import java.util.Arrays;/** * * @author hengyuzuo * */public class MatrixM { /** * ********************** * The entrance of the program. * * @param args Not used now. */ public sta

2021-05-27 19:15:26 49

原创 JAVA学习(小白向)—矩阵求和—2021.5.26

JAVA学习(小白向)—矩阵求和—2021.5.26分别是矩阵元素求和,两矩阵元素对应相加package a7;import java.util.Arrays;public class MatrixP { public static void main(String[] args) { // TODO Auto-generated method stub matrixSumTest(); matrixAdditionTest(); }// Of main /** *

2021-05-26 16:49:52 373

原创 JAVA学习—基本for语句—2021-05-25

JAVA学习(小白向)—基本for语句—02021-05-25累加和有步长的累加package a6;/** * * @author hengyuzuo * */public class forStatement { /** * ************************** * The entrance of the program. * @param args * ************************** */ public static v

2021-05-25 22:25:58 67

原创 JAVA学习(小白向)—Switch语句—2021.5.24

JAVA学习(小白向)—Switch语句—2021.5.24package a5;public class SwitchStatement { public static void main(String[] args) { // TODO Auto-generated method stub scoreToLevelTest(); }// Of main /** ****************************** * Score to level * @par

2021-05-24 13:52:07 49

原创 JAVA学习(小白向)—计算闰年—2021.5.23

JAVA学习(小白向)—计算闰年—2021.5.23计算闰年package a4;/** * * @author hengyuzuo * */public class a4 { /** * The entrance of the program. * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub //Test if Leap ye

2021-05-23 21:37:06 213

原创 JAVA学习—Java基本if语句(成绩划分)—2021.5.22

JAVA学习(小白向)—Java基本 if 语句—2021.5.22以取绝对值为例package a3;/** * The use of if statement * @author hengyuzuo * */public class Ifstatement { /** * The entrance of the program * @param args */ public static void main(String[] args) { // TODO Auto

2021-05-22 21:23:34 264

原创 JAVA学习(小白向)—Java的基本算术操作—2021.5.21

JAVA学习(小白向)—Java的基本算术操作—2021.5.21练习加减法System.out.println(tempFirstInt + "+" + tempSecondInt + "=" + tempResultInt);System.out.println("" + tempFirstInt + "+" + tempSecondInt + "=" + tempResultInt);问题:这两者的功能都是一样的,为什么后面那种写法前面要加两个""?练习乘除法练习求余//Modulu

2021-05-21 22:52:52 53

原创 JAVA学习—JDK、Eclipse的安装—2021.5.20

JAVA学习(小白向)—JAVA 的安装—2021.5.20安装网址:https://www.oracle.com/java/technologies/javase-downloads.html安装完成后进行配置新建环境变量变量名:JAVA_HOME;变量值:D:\JAVA\JDK16.0.1\bin(我装在D盘)变量名:CLASSPATH;变量值:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;设置路径C:

2021-05-20 21:43:38 140

空空如也

空空如也

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

TA关注的人

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