自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 day16-Java(Hanoi塔问题)

文章目录Hanoi塔问题一、算法分析二、代码与运行结果Hanoi塔问题一、算法分析上图为3阶Hanoi塔其中A为初始塔,B为中介塔,C为最终塔 ,在塔座A上插有n个直径大小不相同,由小到大编号为1 ,2 ,3 ,··· ,n的圆盘,要求将A座上的圆盘移至塔座C并按同样的顺序叠排。圆盘移动必须遵守下列规则:每次只能移动一个圆盘圆盘可以插在任意一个塔座上任何时刻都不能将一个较大的圆盘放在一个较小的圆盘上以三阶Hanoi塔为例,完成整个过程所需要的7个步骤是:圆盘移动a

2022-03-09 23:36:05 106

原创 day15-Java(二叉树前序和后序遍历的栈实现)

文章目录二叉树前序和后序遍历的栈实现一、前序遍历的栈实现二叉树前序和后序遍历的栈实现一、前序遍历的栈实现Pre-order visit with stack: APre-order visit with stack: A BPre-order visit with stack: A B D这里注意与中序遍历的区别,虽然到目前为止,二叉树个节点的遍历顺序与站内元素都与中序遍历一样,但栈的作用完全不一样。在中序遍历中,栈中元素的出栈顺序即为遍历的顺序,而在前序遍历中,栈中元素的进栈顺序即为遍历

2022-03-08 21:54:40 512

原创 day14-Java(二叉树深度遍历的栈实现)

文章目录二叉树深度遍历的栈实现一、Object类栈的创建二、中序遍历实现三、代码与数据测试二叉树深度遍历的栈实现一、Object类栈的创建这个与之前的通用性队列实现相似,只需char[] data–>Object[] data,注意在适当的地方使用强制类型转换即可。前两天强制代码没有写清楚,这里再写一下:tempNode = (BinaryCharTree) tempStack.pop();表示ObjectStack类型转换为BinaryCharTree类型。二、中序遍历实现In-o

2022-03-07 22:48:23 405

原创 day13-Java(二叉树的建立)

文章目录二叉树的建立前言一、二叉树构造二叉树的建立前言今天的代码比较简单,经过前两天的代码的洗礼,这段代码属于是易理解代码了。一、二叉树构造构造函数的参数为两个数组,一个存储的是节点数据,一个是存储节点索引位置。如下图:创建树的节点,并将paraDataArray中...

2022-03-06 20:07:16 621

原创 day12-Java(使用具有通用性的队列)

文章目录前言一、Object类简介前言今天的这段代码初看与昨天的很相似,准确来说,所实现的功能确实都是一样的,但是今天的代码中传递了一个重要的编程思想,即类复用(代码复用)。一、Object类简介Object类是Javajava.lang包下的核心类,Object类是所有类的父类,任何一个类如果没有明确的继承一个父类的话,那么它就是Object的子类。例如public class CircleObjectQueue;等价于public class CircleObjectQueue exte

2022-03-05 20:26:39 372

原创 day11-Java(二叉树的存储)

文章目录二叉树的存储一、顺序存储结构二、BFS遍历三、代码与数据测试二叉树的存储一、顺序存储结构二叉树的顺序存储是指用一组地址连续的存储单元依次自上而下,自左至右存储完全二叉树上的节点元素,老师的代码中使用的是前面使用过的循环列表对二叉树进行存储。对于一般的二叉树(如代码中构建的二叉树),为了让数组下标能反映二叉树中结点之间的逻辑关系,只能添加一些并不存在的空节点,让其每个节点与完全二叉树上的结点相对照,再存储到一维数组的对应分量中。昨天的二叉树如下图:用一个向量来存储:[a, b, c, 0

2022-03-04 18:50:13 680

原创 day10-Java(二叉树的深度遍历的递归实现)

文章目录二叉树的深度遍历的递归实现一、二叉树前、中、后序遍历二、二叉树深度与节点总数三、代码与数据测试总结二叉树的深度遍历的递归实现一、二叉树前、中、后序遍历在学习二叉树的过程中,除去基本的概念,我们首先遇到的二叉树的基本问题就是遍历。树的遍历分为前序遍历、中序遍历和后序遍历。顾名思义,三种遍历的区别是根节点所处的位置。通过递归来实现二叉树的遍历,其代码就比较简单,如老师的这段代码所示,前中后序遍历所使用的方法相近,主要是输出语句的位置不同。以先序遍历为例,代码如下:public void preO

2022-03-03 17:06:32 563

原创 day9-Java(字符串匹配)

文章目录字符串匹配一、BF算法二、子串获取三、代码与数据测试总结字符串匹配一、BF算法在数据结构这门课中,关于串,模式匹配是其一个很重要的问题。针对这个问题,书上讲了两种模式匹配的算法,即BF算法和KMP算法,这段中使用的就是BF算法。BF算法,即暴力(Brute Force)算法,是普通的模式匹配算法,其实现过程没有任何技巧,就是简单粗暴地拿一个串同另一个串中的字符一一比对,得到最终结果。例如,使用普通模式匹配算法判断字符串A(“abcac”)是否为串B(“ababcabcacbab”)子串的判断

2022-03-02 18:25:26 569

原创 day8-Java(循环列表)

文章目录循环队列一、关于循环队列二、循环队列的实现三、代码与数据测试总结循环队列一、关于循环队列首先要确定的是,循环队列与一般队列相同,仍然是基于数组实现的,使用一组地址连续的存储单元一次存放队头到队尾的元素。通俗来说,循环队列可看作单向队列拉成一个环,如下图所示:在普通顺序队列中,如对操作就是先将尾指针tail右移一个单位,然后将元素值赋值给tail单位。出队时,则是头指针head后移一个单位。像这样进行了一定数量的入队和出队操作后,可能会出现“假溢出”现象,具体是:尾指针tail已指到数组的最

2022-03-01 15:55:39 655

原创 day7-Java(递归、链队列)

day7-递归、链队列递归一、关于递归二、递归求和与斐波那契数列三、代码与运行结果总结递归一、关于递归递归(Recursion)是指在函数的定义中使用函数自身的方法,通俗的说就是函数本身自己调用自己。格外重要的是,这个函数必须有明确的结束条件,否则就会导致无限递归的情况。如下:public static int sumToN(int paraN) { // 结束条件 if (paraN <= 0) { return 0; } // Of if // 在函数中调用自

2022-02-28 12:07:25 403

原创 day6-Java体验(228行)

十四:栈(95行)抄写结果:1.完成代码抄写并成功运行2.实现栈的创建以及进栈和出栈。遇到问题与体会:1.没有遇到问题,相较于昨天的链表,栈的创建更好理解,一个简单的数组,需要的注意的是出栈和进栈的规则,先进后出,后进先出。十五:栈的应用(133行)抄写结果:1.完成代码抄写并成功运行2.实现检测字符串中的括号匹配。遇到问题与体会:1.利用栈的先进后出,后进先出性质,循环检测字符串的每一个字符,若是左边括号则进栈,其他字符则无视,右边括号则使栈顶字符出栈检验是不是右边括号对应的左边

2022-02-27 17:28:49 305

原创 day5-Java体验(185行)

十三:链表(185行)抄写结果:1.完成代码抄写并成功运行。2.实现链表创建、初始化、定位、插入以及删除操作。遇到问题与体会:1.今天在抄写代码时出错了,toString函数中resultString应该是通过链表中字符逐个循环相加而形成的字符串,我抄漏了tempNode.data + ", ",导致输出一直为空表。2.在删除函数的代码段中,判断删除是否合法时,除了空表无法进行删除,还有有一种情况是当链表中只有一个节点则删除不了该节点。3.为节点创建一个类,一个节点是由一个需要存储你的对象d

2022-02-26 19:05:47 339

原创 day4-Java体会(271行)

十一:顺序表(1)(81行)抄写结果:1.完成代码抄写并成功运行2.创建顺序表并初始化.遇到问题与体会:1.toString方法会返回一个“以文本方式表示”此对象的字符串,它通常为了方便输出,比如System.out.println(xx),括号里面的“xx”如果不是String类型的话,就自动调用xx的toString()方法.十二:顺序表(二)(190行)抄写结果:1.完成代码抄写并成功运行2.完成顺序表查抄,定位增加,定位删除的基本功能。遇到问题与体会:1.这段代码中的插入与删

2022-02-25 17:20:55 174

原创 day3-Java体会(214行)

八:矩阵相乘(76行)抄写成果:1.完成代码抄写并成功运行2.与七中的相似,通过二元数组构造矩阵再通过for循环语句处理矩阵中的各个元素。遇到的问题与体会:1.与前面七中代码不同的是,这段代码需要实现矩阵相乘,而矩阵相乘需要两个矩阵满足条件,即第一个矩阵的列等于第二个矩阵的行。于是在两个矩阵进行乘法运算前需要检查,以保证两个矩阵能够相乘,即程序能正常运行。2.输出结果中出现一行空行,是因为println语句的换行与\r\n的换行叠加了。九:while语句(44行)抄写结果:1.完成代码抄

2022-02-24 18:07:05 142

原创 day2-Java体会(292行)

第4天:闰年的计算(94行)抄写结果:1.完成代码抄写并成功运行2.结合昨天所写的if与函数调用完成闰年的判断遇到问题与体会:1.前面抄写的代码中输出语句使用的是println,而这段代码中新使用print,一开始不知道两者的区别。查找资料后,明白print在输出结束后不换行,println则会换行。2.善用bool类型函数进行是与不是的判断,使得代码更加易懂明了。第5天:基本switch语句(71行)抄写结果:1.完成代码抄写并成功运行2.使用switch语句进行经典的成绩划分等级

2022-02-23 17:05:02 249

原创 day1-Java体会(99行)

第1天:环境搭建(8行)1.完成Eclipse的安装并配置好了环境2.成功运行day1.java遇到的问题与体会:1.package顾名思义后面是当前的包名,一开始跟着老师的代码输入basic出错,后面重建了一个名为basic的包。2.class后面是这个java的名,这个我写的与老师的不同,抄写老师的代码出错后发现。第2天:基本算数操作(48行)1.完成代码抄写并成功运行2.熟悉使用Java实现基本算数操作遇到问题与体会:1.没有遇见太大的问题,唯有一点是在输出代码中变量格式与输出

2022-02-22 20:38:11 249

原创 机器学习

学习报告 第三周线性模型3.1 基本形式一般向量形式:优点:形式简单、易于建模、蕴含机器学习的重要思想非线性模型可由线性模型通过引入层级结构和高维映射得到具有很好的解释性(哪一个参数更为重要)3.2 线性回归先考虑简单的情况,即每个样本只有一个属性,一元线性回归。给定数据集:线性回归则试图学得一个线性模型尽可能准确地将预测f(xi)去 逼近yi,即:显然,既然是逼...

2019-10-16 12:08:40 104

原创 机器学习

学习报告 第二周前言:第一章讲述了机器学习领域的基本概念,包括模型、数据集等重要的专有名词。在算法的帮助下,能从数据集中提取了模型;对于同一数据集而言,给定不同的算法,会提取不同的模型,甚至给定同一算法的不同参数,也能得到不同的模型。那么,在这诸多模型当中,如何选择最佳的模型呢?这个过程,称之为模型选择。模型选择,会遵循一定的标准:首先,要将数据集分为若干部分,其中一部分用于训练模型,另一部分...

2019-09-23 20:54:10 135

原创 机器学习

学习报告 第一周进度安排周数内容1~2周1~3章:机器学习基础知识7~8周4~10章:一些经典而常用的机器学习的方法6~7周11~16章:进阶知识目前进度目前完成了第一章的进度,正在第二章前段(2.2 评估方法)处第一章 绪论1.1 引言机器学习概念:一门致力于研究如何通过计算的手段,利用经验(通常以数据形式存在于计算机系统中)来改善系...

2019-09-16 16:01:17 166

空空如也

空空如也

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

TA关注的人

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