自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

gdy的博客

大学生的学习日常

  • 博客(49)
  • 收藏
  • 关注

原创 聚类的性能度量和距离计算

聚类也许是 器学习中"新算法"出现最多,最快的领域,一个重要原因是聚类不存在客观标准;给定数据集 ,总能从某个角度找到以往算法未覆盖的某种标准从而设计出新算法,相对于机器学习其他分支来说,聚类的知识还不够系统化,但是聚类技术本身在现实任务中非常重要。文章目录一,聚类任务二、性能度量三,距离计算四,原型聚类五,密度聚类六, 层次聚类一,聚类任务`聚类是一类“无监督学习”(unsupervised learning),常见的无监督学习任务还有密度估计(density estimation),异常检测.

2022-05-03 17:33:28 1282

原创 操作系统的功能,特性,发展和分类,结构设计

本文章只是为了期末复习用的,如果能帮到你,那我很荣幸文章目录一,操作系统的功能处理器管理功能(重要)存储管理功能(重要)设备管理功能文件管理功能网络与通信管理功能二、操作系统的主要特性2.1 并发性2.2 共享性2.3异步性2.4虚拟性三、操作系统的发展和分类3.1.操作系统的分类3.2操作系统的分类3.2.1 批处理操作系统3.2.2 分时操作系统3.3.3 实时操作系统总结一,操作系统的功能操作系统的功能体现为资源管理功能。根据硬件类别,OS功能包括:处理器管理功能(重要)处理器管理的硬.

2022-05-03 17:06:47 1125 1

原创 Java 实用语法小总结

学习了一学期的Java,慢慢的从开始的浑浑噩噩到现在觉得Java的博大精深和有趣,所谓温故而知新,期末伏羲重新看一遍书还是有很大收获的。比如:遍历m>n ? m:n

2022-05-03 11:14:35 330

原创 操作系统概论

文章目录一、操作系统的定义二、操作系统在计算机系统中的位置三,操作系统的资源管理技术四,操作系统运行程序的服务五,搭建Linux环境一、操作系统的定义操作系统(Operating System,OS)是管理系统资源,控制程序执行,改善人机页面,提供各种服务,合理组织计算机工作流程和为用户有效使用计算机提供良好工作环境的一种系统软件。OS对资源进行管理,而系统又将资源分为软件资源和硬件资源,硬件资源包括CPU,内存,外存,I/O设备。软件资源包括程序,文档,数据,这些软件资源全部存放在外存上,使用时复

2022-05-03 10:02:36 488

原创 机器学习引入

在之前的文章里我们介绍了机器学习的支持向量机算法,但是可能有新来的小伙伴对机器学习不是很理解,那我们这篇文章就来介绍一下机器学习从最简单的开始带大家认识机器学习,当然还是从数学角度。文章目录一,机器学习两大派频率派 (统计机器学习)贝叶斯派(概率图模型)二,线性回归 (最小二乘估计)二,由线性回归引起的一系列机器学习一、pandas是什么?二、使用步骤1.引入库总结一,机器学习两大派两种派系没有对错之分,只是对问题处理方式不同而已频率派 (统计机器学习)频率派把模型参数看成未知的定量,.

2022-04-10 17:41:01 1023

原创 机器学习——支持向量机——软间隔与正则化

软间隔与正则化,核函数

2022-04-03 11:16:02 3123 1

原创 机器学习——支持向量机——硬间隔与支持向量

SVM硬间隔与支持向量的数学推导

2022-04-02 18:12:25 1611

原创 机器学习——支持向量机

主要是本rookie对SVM的一点拙见,文章水平不高,如果没必要搞懂其中的数学原理,我相信本文章能够且足够带你了解SVM了。

2022-03-26 09:56:19 4884

原创 kNN分类器

kNN这种简单暴力的分类器对我这种rookie来说已经很友好了

2022-03-18 21:13:55 2885

原创 查找与排序 所有源码

package dataStructure.search;/** * Data array for searching and sorting algorithms.用于搜索和排序算法的数据数组 * * @author goudiyuan */public class DataArray { /** * An inner class for data nodes. The text book usually use an int value to * represent the d

2022-03-18 20:25:38 164

原创 查找与排序 归并排序

简述归并排序(1)算法思想 归并排序采用了分治策略(divide-and-conquer),就是将原问题分解为一些规模较小的相似子问题,然后递归解决这些子问题,最后合并其结果作为原问题的解。 归并排序将待排序数组A[1..n]分成两个各含n/2个元素的子序列,然后对这个两个子序列进行递归排序,最后将这两个已排序的子序列进行合并,即得到最终排好序的序列。具体排序过程如下图所示:操作代码/** ********************* * Merge sor.

2022-03-18 20:23:50 150

原创 查找与排序 堆排序

简述堆排序1、首先了解堆是什么堆是一种数据结构,一种叫做完全二叉树的数据结构。2、堆的性质这里我们用到两种堆,其实也算是一种。大顶堆:每个节点的值都大于或者等于它的左右子节点的值。小顶堆:每个节点的值都小于或者等于它的左右子节点的值。对于大顶堆:arr[i] >= arr[2i + 1] && arr[i] >= arr[2i + 2]对于小顶堆:arr[i] <= arr[2i + 1] && arr[i] <= arr[2i +

2022-03-18 20:06:01 1058

原创 查找与排序 选择排序

简述选择排序选择排序的基本思想是:每一趟(例如第i趟)在后面的 n-i+1 个待排序元素中选取关键字最小的元素,作为有序子序列的第i个元素,直到第 n-1 趟做完,待排序元素只剩下一个,就不用再选了。这里主要讲简单选择排序和堆排序(重点,面试中问到过)一、简单选择排序基本思想:假设排序表为 L[1…n] ,第i趟排序即从L[i,n] 中选择关键字最小的元素与 L(i) 交换,每一趟排序可以确定一个元素的最终位置,这样经过 n-1 趟排序就可以使整个排序表有序。空间效率为O(1)元素移动次数很少,

2022-03-18 19:58:03 79

原创 插找与排序 快速排序

简述快速排序快速排序是对冒泡排序的一种改进, 它是不稳定的。由C. A. R. Hoare在1962年提出的一种划分交换排序,采用的是分治策略(一般与递归结合使用),以减少排序过程中的比较次数,它的最好情况为O(nlogn),最坏情况为O(n^2),平均时间复杂度为O(nlogn)。基本思想:选择一个基准数,通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小。然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以达到全部数据变成有序。

2022-03-18 19:51:07 134

原创 查找与排序 冒泡排序

简述冒泡排序:依次比较相邻的数据,将小数据放在前,大数据放在后;即第一趟先比较第1个和第2个数,大数在后,小数在前,再比较第2个数与第3个数,大数在后,小数在前,以此类推则将最大的数"滚动"到最后一个位置;第二趟则将次大的数滚动到倒数第二个位置…第n-1(n为无序数据的个数)趟即能完成排序以下面5个无序的数据为例:40 8 15 18 12第1趟: 8 15 18 12 40第2趟: 8 15 12 18 40第3趟: 8 12 15 18 40第4趟: 8 12 15 18 40运行代码

2022-03-18 19:24:54 2419

原创 查找与排序 希尔排序

简述基本思想:希尔排序是把序列按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量的逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个序列恰好被分为一组,算法便终止。我们用几张图片来理解这就是全过程实战代码/** ********************* * Shell sort. We do not use sentries here because too many of them are need. ********************* */

2022-03-18 19:08:30 284

原创 查找与排序 插入排序

简述插入排序原理很简单,将一组数据分成两组,我分别将其称为有序组与待插入组。每次从待插入组中取出一个元素,与有序组的元素进行比较,并找到合适的位置,将该元素插到有序组当中。就这样,每次插入一个元素,有序组增加,待插入组减少。直到待插入组元素个数为0。当然,插入过程中涉及到了元素的移动。特点1.代码非常短,因为是简单直接的排序方式2.每次要保证前i个数据是有顺序的3.先做简单的事情(第一轮最多有一次移动),在做麻烦的事情(最后一轮有n-1次移动)4.下标0的数据为岗哨,与前面的顺序查找和折半查找

2022-03-18 18:58:09 732

原创 查找与排序 哈希表

哈希表的基本概念哈希表(Hash table,也叫散列表):是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。给定表M,存在函数f(key),对任意给定的关键字值key,代入函数后若能得到包含该关键字的记录在表中的地址,则称表M为哈希(Hash)表,函数f(key)为哈希(Hash) 函数。哈希表的本质上上一个数组(元素是Entry)Hash Table的查询

2022-03-18 18:43:07 942

原创 顺序查找与折半查找

1.顺序查找使用岗哨可以节约一半的时间. 为此, 第 0 个位置不可以放有意义的数据, 即有效数据只有 length - 1 个.2.顺序查找时间复杂度为 O ( n ) O(n)O(n).3.折半查找时间复杂度为 O ( log ⁡ n ) O(\log n)O(logn).4.书上为简化起见, 只关注键. 这里使用键值对来表示一条完整的数据. 实际应用中可以把 content 改成任何想要的数据类型.5.102 行是一个空语句. 这里提供了一种更简洁的写法, 可以把 101-103 并作一行 (

2022-03-15 20:36:08 779

原创 图论——关键路径

1.拓扑排序是关键路径的一部分.2.关键路径长度, 其实是最远路径长度. 然而, 它并非最短路径的对偶问题. 我尝试修改 Dijkstra 算法来解决, 然后发现自己傻了.3.正向算每个节点的最早开始时间, 逆向算每个节点的最晚开始时间, 设计太牛了.4.最晚开始时间的初始化容易弄错, 经典算法果然是不好对付的. /** ********************* * Critical path. Net validity checks such as loop check not .

2022-03-15 20:23:47 171

原创 Dijkstra算法与Prim算法

1.又需要画个几个图, 换几个例子.2.Dijkstra 算法需要有向图, Prim 算法需要无向图. 代码中也需要更换后者.3/两个算法的结构相同. 不同之处是比较距离的时候, 是用累计的 (Dijkstra) 还是当前边的 (Prim). 建议先写 Dijkstra, 然后拷贝、修改变成 Prim. 到这个阶段, 应该已经具备这样的能力.package dataStructure.graph;import java.util.Arrays;import matrix.IntMatrix

2022-03-15 20:19:54 256

原创 十字链表

package dataStructure.graph; /** * Orthogonal List for directed graph. * @author goudiyuan */public class OrthogonalList { /** * An inner class for adjacent node. */ class OrthogonalNode { /** * The row index. */ int row; /** .

2022-03-15 20:11:20 58

原创 Java第37天——邻链表

相当于图的压缩存储. 每一行数据用一个单链表存储. 重写了广度优先遍历. 可以发现, 使用队列的机制不变. 仅仅是把其中的 for 循环换成了 while, 避免检查不存在的边. 如果图很稀疏的话, 可以降低时间复杂度. 深度优先遍历可以当作作业, 这里不写了.package dataStructure.graph;import dataStructure.queue.CircleObjectQueue;public class AdjacencyList { /** * An.

2022-01-15 22:25:19 57

原创 Java第36天——图的m着色问题

经典的回溯算法. 万能的暴力解题法, 一定要掌握啊! 调拭时注意 +1, -1 之类的下标控制. 单独写一个冲突检测方法. 由于它仅使用了图的连接性, 所以放在这个部分. /** ********************* * Coloring. Output all possible schemes. * * @param paraNumColors The number of colors. ********************* */ public vo.

2022-01-14 19:11:00 225

原创 Java第35天——图的深度优先遍历

图的深度优先遍历

2022-01-14 19:06:13 136

原创 Java第34天——图的广度优先遍历

与树的广度优先遍历类似. 温故而知新. 应该看懂了自己写一遍. 为每个核心方法写一个测试方法吧. 这叫单元测试 /** ********************* * Breadth first traversal. * * @param paraStartIndex The start index. * @return The sequence of the visit. ********************* */ public String breadthFi

2022-01-11 20:53:49 78

原创 Java第33天——图的连通性检测

图的连通性检测

2022-01-10 20:38:33 137

原创 Java第32天——整数矩阵及其运算

有了前面的基础,现在理解这个还是轻松,不像前面的Huffman树。1,矩阵对象的创建.2,getRows 等: getter, setter 在 java 里面很常用. 主要是为了访问控制.3,整数矩阵的加法、乘法.4,Exception 的抛出与捕获机制.5,用 this 调用其它的构造方法以减少冗余代码.6,代码看起来多, 但矩阵运算我们以前写过(其实去掉注释也就只有100多行).7,把数据类型修改成 double, 获得 DoubleMatrix.java, 以后会很有用.8,get

2022-01-09 21:10:21 251 2

原创 Java第31天——Huffman编码(建树,编码和解码)

这个着实有点恼火

2022-01-08 21:16:20 263

原创 Java第30天——Java Character类

由于我的Huffman树又出bug了,所以先水一下,写一下其他我前面遇到过的东西,但是我不知道的。

2022-01-07 20:05:27 159

原创 Java第29天——Huffman编码(节点定义与文件读取)

这里看的眼睛都花了,因为我是觉得第一天的还好,后面就多看了一点,没有想到啊,害

2022-01-06 17:07:44 198

原创 Java第28天——hanoi塔问题

Java实现简单hanoi塔问题

2022-01-05 17:14:43 95

原创 Java第26天——问题整理

其实有很多问题,只是我还没有发现

2022-01-05 16:57:56 302

原创 Java第27天——二叉树的深度遍历的栈实现(前序和后序)

我找到为什么了

2022-01-04 22:29:43 467

原创 Java第25天——二叉树深度遍历的栈实现(中序)

还是深度遍历,想要看泛型可以看21天

2022-01-02 21:01:27 466

原创 Java第24天——二叉树的建立

这一篇也很顶

2022-01-01 21:37:15 1108 1

原创 Java第23天——使用具有通用性的队列

总算是把逻辑搞清楚了

2021-12-31 22:22:17 285 1

原创 Java第22天——二叉树的存储

着的是越来越难了,希望我能够坚持下去,Hurry

2021-12-30 21:56:29 656

原创 Java第21天——二分搜索树深度优先遍历

二分搜索树深度优先遍历,这篇文章是我参考的菜鸟教程里面的。使用泛型的格式我还是不怎么看得懂

2021-12-30 20:55:03 439 1

原创 Java第20天——二叉树的深度遍历的递归实现

二叉树的深度优先遍历递归实现

2021-12-28 18:47:04 167

空空如也

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

TA关注的人

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