自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【Git】基础操作

版本控制的方式:集中式版本控制工具:版本库是集中存放在中央服务器的,team里每个人work时从中央服务器下载代码,是必须联网才能工作,局域网或者互联网。个人修改之后要提交到中央版本库例如:SVM和CVS分布式版本控制工具:分布式版本控制系统没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这样工作的时候,不需要联网了,因为版本库就在你的电脑上。多人协作只需要各自的修改推送给对方,就能互相看到对方的修改了例如:GitGit的工作流程图。

2024-06-16 16:56:11 1112

原创 【数据结构】图论入门

完全图:任意两个点都有一条边相连无向完全图:n个结点就有n * (n - 1) / 2 条边有向完全图:n个结点就有n * (n - 1) 条边稀疏图:有很少的边或者弧的图(通常 m 远小于nlog(n))稠密图:有较多的边或者弧的图(通常 m 大于nlog(n))连通图:在无(有)向图G = (V,{E})中,若对任意两个顶点v、u,都存在v到u的路径,则称G是连通图(强连通图)建立一个顶点表(记录各个顶点信息)和一个邻接矩阵(表示各个顶点之间的关系)

2024-06-07 21:59:24 1335

原创 Java 多线程

我们写的代码存放到了内存当中,需要在CPU上运行,为每一个功能的代码实现时,二者之间开辟了一个通道,方便CPU去内存中提取代码做计算,这个通道称之为“线程”

2024-06-02 13:42:12 1092

原创 Java集合

含有泛型的类1.定义:public class 类名<E>{2.什么时候确定类型:new对象的时候确定类型1. 定义: public class 类名 < E > {} 2. 什么时候确定类型: new 对象的时候确定类型 import java . util . Arrays;int size;size ++;int size;size++;@Override//1含有泛型的方法。

2024-05-26 15:37:23 1198

原创 数据结构KMP算法

在学习数据结构串部分的时候,我们经常遇到经典题型,字符串匹配。我们立刻会想到采用双层循环遍历的方式去匹配,即当字串与主串出现字符不匹配的时候,主串回溯到第二个字符,字串回溯到第一个字符再进行一一匹配,以此类推,设字串长度为n,母串长度为m,则最坏的时间复杂度为O(m * n),没有占用多余的空间,因此空间复杂度为O(1)。当字符串非常长时,所需时间就会很长。步入正题:KMP算法。举一个例子吧:字串为abcabcnm,母串为abcabcdabcabcnm,在匹配时abcabcdabca。

2024-05-17 19:43:32 863

原创 Java语言的三大特性

1.前提:必须有子类继承或者接口实现关系必须有方法的重写(没有重写,多态没有意义),多态主要玩的是重写方法new对象:父类引用指向子类对象Fu fu = new Zi()理解为大类型接收了一个小类型的数据比如:double b = 102.注意:多态下不能直接调用子类特有功能@Override //判断是否为方法重写dog.eat();dog.walk();cat.eat();cat.aaa();

2024-05-12 15:21:26 1129 1

原创 动态规划背包问题之01背包

背包问题(Knapsack problem)是一种组合优化的NP完全问题。问题可以描述为:给定一组物品,每种物品都有自己的重量和价格,在限定的总重量内,我们如何选择,才能使得物品的总价格最高。问题的名称来源于如何选择最合适的物品放置于给定背包中。相似问题经常出现在商业、组合数学,计算复杂性理论、密码学和应用数学等领域中。也可以将背包问题描述为决定性问题,即在总重量不超过W的前提下,总价值是否能达到V?它是在1978年由Merkle和Hellman提出的。

2024-05-03 12:52:31 1076

原创 Java学习之基础必备

Java各整数类型有固定的表述范围和字段长度,不受具体操作系统的影响,以保证Java程序的可移植性。定于long类型的变量,赋值时需要以“l”或“L”作为后缀。Java程序中变量通常声明为int型,除非不足以表示较大的数,才使用long。Java的整型通常默认为int型。

2024-04-28 16:11:50 802

原创 Java数组(基础篇)

​ 概念:是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一的管理。​ 简称:多个数据的组合。​ Java中的容器:数组、集合框架:在内存中堆多个数据的存储。

2024-04-27 13:40:28 846 2

原创 考核题(力扣算法题大一上)

本题一开始采用双层循环遍历的方式去解决,但是会超出时间限制,因此采用所求数字的前缀乘积乘上它的后缀乘积。注意在第一个数字的前缀乘积与最后一个数字的后缀乘积应初始化为1,第一次循环是求数字的前缀乘积,在第二次循环时,不再次设立数组存放后缀乘积,直接让前缀乘积乘上后缀即可。

2024-04-20 21:26:54 637 2

原创 动态规划(股票买卖)

一. 确定dp数组及其下标的含义。(在股票问题当中,数组下标的含义尤为重要,需要明确每一个下标的含义)二. 找出数组元素之间的关系式。(股票问题的关系式相对来说不是很复杂,但是对股票不同时期的划分尤为重要)三. 找出数组元素的初始值。(不同情况下的同一含义的下标初始情况也会不同,具体情况具体分析所得)

2024-04-20 19:20:00 881

原创 考核题(力扣算法题)

如果无需进行插入操作,则直接使p(所要插入数字的前一个结点)与c(所要插入数字的结点)指针都向后移动一位,如果进行了插入操作,此时p指针所指向的结点已经变成了下一个结点,因此只需要使c指向p的下一个结点。当一个链表为空时,直接返回另一个链表,当两个链表都不为空,进行链表的合并,先设立一个虚拟头结点,进入循环,使其都位于头结点的位置,比较两结点的数字大小,将小的数字结点接在我们所设立的链表之后,再让此数字的指针指向此链表的下一个结点,不断循环,只当有一个指针指向为空,即代表有一个链表为空,退出循环。

2024-04-17 23:14:35 758

原创 单链表的排序(快速排序与插入排序)

(以从小到大为例)插入排序为以第二个数字开始,将每一个数字插入到比它小的数字之前,curr指针所指向的为被插入的结点位置,与前一个结点进行比较,如果它比前一个结点数字小即代表它需要插入。进入内层循环,prev所指向的结点为插入位置的前一个结点,当prev的下一个结点的数字大于我们所要插入的结点数字时,进行插入操作。(以从小到大排序为例)取一个结点设其为关键结点,将所有结点的数字与其比较,比关键结点数字大的放在结点的右边,比关键结点数字小的放在关键结点的左边。因为3比4小因此将3进行插入操作。

2024-04-13 11:38:34 465

原创 单链表的排序(冒泡排序与选择排序)

令所排序列的头指针为原链表的head位置,在一开始排序时所排序列的尾指针也为head,即tail=head,每次查找到未排序数字的最小值时,将这个最小值插入到tail的后面,tail也向后移动一位。内层循环是为了查找除已经排序过的数字中最小的数字,每次设tail的后一个数字为最小值(由min指针所指向),让x指针不断后移,使x指针所指向的数字与min指针所指向数字进行对比,若x所指向数字小于min所指向数字,则使min指向x所指数字。x,y两个指针分别代表所要比较的两个数字的结点位置。

2024-04-07 18:42:08 612

空空如也

空空如也

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

TA关注的人

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