自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 问答 (1)
  • 收藏
  • 关注

原创 hash表(base之后去看看,好像有基本位运算)

最近的有些东西要用到这玩意,于是又重新来复习了。。。。以下代码按照我自己对于hash表的印象打出来的,代码不多,中间有些小遗忘才翻了翻别人的代码。底层代码可能需要看看(毕竟我想知道怎么做到超大数据查询优化效果的hh),位运算和泛型都在底层代码里体现了,可我不太熟悉哈哈。。另外不知道有没有迭代器来简化搜索的过程。一:链地址法:package hashtable;import java.util.*;//拉链法哈希存储,求出一个hash值,后来如果有相同hash值的,在这个拉链下面找是否

2022-04-14 13:46:48 139

原创 fisher判别分析(门都没入,感觉好难。。。)

fisher前置知识点:协方差矩阵:协方差矩阵本身的含义,即随机变量之间的线性相关关系。如何来用统计量描述这种离散程度呢?很直观可以想到:那就把每一个样本点与均值点的“距离”统计在一起看一看就清楚了。在统计学中,方差是用来度量单个随机变量的离散程度,而协方差则一般用来刻画两个随机变量的相似程度我的理解:如果协方差矩阵是N x N,这里的N在这里就简单理解成数据的类别数量。(wo'zai)...

2022-04-04 23:41:05 878

原创 (二):K-Means

aaa

2022-03-12 12:34:03 390

原创 KNN与NB(一):KNN分类器

监督学习:从给定的训练数据集中学习出一个函数(模型参数), 当新的数据到来时,可以根据这个函数预测结果。监督学习的训练集要求包括输入输出,也可以说是特征和目标。训练集中的目标是由人标注的。PCA和很多deeplearning算法都属于无监督学习knn(k近邻算法):它是一个监督学习(Supervisedlearning)类的算法,该算法的思想是: 一个样本与数据集中的k个样本最相似, 如果这k个样本中的大多数属于某一个类别, 则该样本也属于这个类别。(图不知道为啥插不上来。。。)因此,..

2022-03-01 23:59:00 1026

原创 排序(四):堆排序,归并排序

一:堆排序:有一说一,这个堆排序看了别人的思路看了有一会儿才懂,不搞清楚顺序这个是真的麻烦。了解完代码后,给我最直接的感觉就是从局部到整体,整个堆排序的核心无疑就是在heapSortPart里面了。这里贴上别人给的解释:堆排序——Java实现 - Lvan灬 - 博客园 (cnblogs.com)假如有5个节点,此时最后一个非叶子节点即为5/2-1=1,从这个节点使用heapSortPart,这一小部分就排好了(堆的顺序),之后的进展都建立在前面堆已经排好的情况下。 //tempC

2022-02-17 16:06:11 258

原创 排序(三):快速排序,选择排序

一:快速排序:(6条消息) 快速排序---(面试碰到过好几次)_nrsc-CSDN博客_快速排序这个我是根据原理来搞的,最后的顺序是对的,可能一些小bug没有被我发现。 public void quickSort(int start,int end) { int tempKey; int tempArray; if(start>=end) { return; } int tempLeft = start+1; int tempRight = end

2022-02-15 19:39:14 85

原创 排序(二):插入排序,希尔排序,冒泡排序

一:插入排序: //接下来是插入排序,简单来说就是将数放置在已经排好序的数组当中的位置,重新排序得到新的数组,依此类推,后面差不多。 public void insertionSort() { DataArrayNode tempNode;//担任哨兵,存储要放入的数字,与其他的数字进行比较。 int j; for(int i = 2;i < dataLength;i++) {//因为第一个不需要去比,自己和自己比没意思。所以从i=2开始 tempNode =

2022-02-15 00:42:12 405

原创 排序(一):顺序查找与折半查找,哈希表

一:顺序查找和折半查找:折半查找也称二分法查找,是一种在有序数组中查找某一特定元素的搜索算法。这种方法要求待查找的表顺序存储而且必须是有序的。顺序查找也就是按照顺序依次来查找咯。代码十分简单,就不多说了。package dataArray;public class DataArray { DataArrayNode[] data; int dataLength; public DataArray(int[] key,String[] content) { dataLe

2022-02-13 16:48:10 720

原创 图的尝试(四) Dijkstra 算法与 Prim 算法和关键路径

一:Dijkstra 算法与 Prim 算法:二:关键路径:

2022-02-12 22:12:04 445

原创 图的尝试(三)邻接表和十字链表

一:邻接表:中间写链表连接最后输出的时候和我自己演算出来的结果不对等,找了半个小时的bug,发现是我在写程序的过程中把类似指针的地址改了,导致一直不对,幸好最好还是对比出来了,bug已经被改掉,邻接表算是完成了。中间的广度遍历就当是一种验算吧。。。。package graph;//同包下就不用重新导包了。。。import queue.CircleObjectQueue;public class AdjacencyList {//邻接表 //使用链表重新进行存储,将原来的矩阵进行压缩?

2022-02-11 15:16:59 372

原创 图的尝试(二)图的广度优先和深度优先遍历以及m点着色问题

我在代码里面写了注释,这里就不多废话了。一:图的广度优先遍历:public String breadthFirstTraverse(int StartIndex) {//为什么不直接用数组,我想是因为遍历的结果要建立在上一次遍历的结果上面,广度遍历需要存储上一次的结果,这样在之后才能正常进行广度遍历。 String result = ""; CircleObjectQueue tempQueue = new CircleObjectQueue();//创建一个栈存储 int numNo

2022-02-10 21:46:56 532

原创 图的尝试(一)(矩阵的基础运算和图的连通性检测)

一:矩阵的基础运算:先来编写一段矩阵相乘和相加以及初始化的代码(后面附上结果图),以此为基础,开启图的学习:package matrix;import java.util.Arrays;public class IntMatrix { int data[][]; public IntMatrix(int row, int colunm) { data = new int[row][colunm]; }// 规定行列初始化。 public IntMatrix(int[][]

2022-02-09 18:21:24 244

原创 哈夫曼编码和汉诺塔初步了解(原理啥的也只是初步了解的程度,代码如果我写的有问题的话见谅)

对哈夫曼编码和汉诺塔问题进行初步的了解

2022-01-27 22:56:08 164

原创 意义不明的帖子

1.21

2022-01-21 22:20:02 56

原创 二叉树深度遍历非递归实现

二叉树遍历使用递归的思想就非常简单。比如前序遍历,先节点,再左子树,最后右子树。其他遍历同理,但是非递归就不一样了,要能正确的实现遍历,就肯定要对一些基本的数据结构有认识,还要去学会辨别不同的数据结构(我觉得最难的地方就在这里)。又是一个大难题,哎。。。慢慢来吧。。非递归实现中序遍历: public void inOrderVisitWithStack() { ObjectStack os = new ObjectStack();//栈我自己设置的是默认最大长度是10个长度。 Bi

2022-01-21 19:18:51 537

原创 二叉树的创建,遍历,存储方式(java)(2.0 version)

对前面顺序存储二叉树的重写,有了更深的理解。

2022-01-19 00:47:11 178

原创 二叉树的创建,遍历,存储方式(java)(1.0 version)

1:二叉树的创建和递归遍历(测试用例已经放在了main方法当中),以及节点计数:二叉树的其他操作之后再来补充。package basic;public class BinaryCharTree { public static void main(String[] args) { int[] a = new int[] {1,2,-1,-1,3,4,-1,-1,5,-1,-1}; BinaryTree btree = new BinaryTree(); TreeNode node1=

2022-01-09 20:48:40 276

原创 过渡篇(1),初步了解Java泛型

一:泛型:如何正确使用Java泛型 - JJian - 博客园 (cnblogs.com) <--点击可以查看别人写的泛型文章java中强制类型转换 - 易小川 - 博客园 (cnblogs.com) <--强制类型转换1:集合中也可以放类的实例化对象。任何一种数据类型或者对象放进容器中后都会失去原有的类型,变成 Object,用的时候从容器中取出后进行转型成所需的类型就可以了,在Java中由于继承和向上转型,子类可以非常自然地转换成父类,但是父类转换成子类则需要强制...

2022-01-02 23:33:45 123

原创 基本数据结构(第二部分带小总结)(链队列循环队列的实现和字符串截取匹配的实现)

一:递归:(只是说一下,不作为正式内容)递归的关键部分是核心计算加上边界条件比如要计算斐波那契数列,可以使用迭代计算出来(保存数值和计算)。也可以用递归,设定边界值为1,从5开始,要计算5那里的值,就必须知道3和4位置的值,要知道3和4位置的值,就必须知道1 2 和 2 3位置的值,依此类推,在计算出所有基本的值过后,最后再顺推回去就可以知道5位置的值了。package basic;public class Recursion { public int ssum(int n) {

2021-12-30 22:32:15 579

原创 第二次博客,基本数据结构(顺序表,链表,栈以及部分相关应用)

2021.12.26第 11 天: 顺序表(一)日志:完成了对顺序表的创建,我发现自己还是没有明白对象到底该怎么用,感觉这个和c语言的结构体差不多,但又差很多。。。将顺序表相关操作全部在这个类中实现,以后创建对象时,对象就可以用相关操作了。package basic;public class SequentialList { public static final int MAX_LENGTH = 10;// 定义顺序表最大值,是常数 int length; int[] dat

2021-12-25 21:42:33 272

原创 第一周,基本知识复习

这篇博客写得很仓促,对某些部分可能掌握不是很好请见谅。部分代码经过转载,已进行说明。本人使用eclipse编写java(也要用记事本写,就是效率有点低),环境早已经配置完毕,就不做截图演示了。2021.12.22以下是一些java基础编程题编写HelloWorld.java. 一定要注意变量的写法.一:以下创建了一个HelloWorld.java文件(现在什么还没有):package basic;public class HelloWorld { publ...

2021-12-24 23:20:54 283

空空如也

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

TA关注的人

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