- 博客(35)
- 收藏
- 关注
原创 十大排序
文章目录归并排序快速排序堆排序归并排序/** * 归并排序 参考博客 https://www.cnblogs.com/chengxiao/p/6194356.html */public class MergeSort { public void mergeSort(int[] arr){ int length = arr.length; int[] temp = new int[length]; sort(arr,0,length-1,te
2020-08-10 22:26:41
567
1
原创 字符串
文章目录字典树字典树/** * 字典树 */public class Trie { int size; Node root; class Node{ char c; Node[] childrens; int num; //通过此节点的单词个数 boolean isWord; Node(){ childrens = new Node[size]; }
2020-08-10 22:23:37
140
原创 图
文章目录一、无向图1.1无向图的边1.2 最小生成树的边1.3 无向图1.4 Dijkstra算法二、有向图2.1 有向图顶点2.2 有向图的边(拓扑边)2.3 拓扑排序一、无向图1.1无向图的边public class Edge { Integer value; Integer weight; Edge next;}1.2 最小生成树的边public class MST_Edge implements Comparable<MST_Edge>{ I
2020-08-10 22:21:22
209
原创 树
树节点public class Node { int data; Node left; Node right; public int getData() { return data; } public void setData(int data) { this.data = data; } public Node getLeft() { return left; }
2020-08-10 22:11:13
156
1
原创 Redis常见用法
文章目录一、基础和Value二、Key通用操作三、数据库通用操作四、Jedis使用五、Linux安装Redis六、持久化七、事务八、删除策略逐出算法九、高级数据类型十、主从复制和哨兵十一、企业级解决方案十二、性能指标监控命令十三、springboot整合Redis一、基础和Value二、Key通用操作三、数据库通用操作四、Jedis使用五、Linux安装Redis六、持久化七、事务八、删除策略逐出算法九、高级数据类型十、主从复制和哨兵十一、企业级解决方案十二、
2020-07-30 23:07:24
308
原创 Redis设计
文章目录第一部分:编码一、简单动态字符串(SDS)1.1 SDS定义(结构体)1.2 SDS 与C字符串的区别1.2.1 常数获取字符串1.2.2 杜绝缓冲区溢出1.2.3 减少字符串修改带来的内存重分配次数1.2.4 二进制安全1.2.5 兼容部分C字符串函数1.2.6 区别总结1.3 SDS常用API总结二、链表(双向链表)2.1 链表的结构2.2 链表的特点2.3 链表和链表节点的API总结三、字典3.1 字典的结构体3.1.1 哈希表节点3.1.2 哈希表3.1.3 字典3.1.4 字典结构图3.2
2020-06-30 01:36:38
3817
原创 个人作品
面向校园学生的组队平台灵感来源:对于一个已经经历大学三年摸爬滚打的老油条,发现校园内的组队现象还是比较多的。竞赛为例子,各种各样的学生竞赛群数不胜数,如果想参加比赛却不知去哪里寻找队伍,是否有一个平台可以浏览各种比赛的组队需求,查看队伍信息,选择自己感兴趣的比赛参加?对于想考研的你,是否想寻找一个研友互相激励互相监督,这时候又该上哪里去寻找抑或是“外面的世界那么大,我想出去看看”,有什么渠道可以在校园内寻找可靠的驴友?或者是想跟隔壁学校的驴友一起组队呢?实习生、毕业生在这里找同学
2020-06-18 23:44:45
272
1
原创 剑指OFFER——孩子们的游戏(约瑟夫环)
参考博客https://blog.csdn.net/u011500062/article/details/72855826
2020-03-21 22:48:54
117
原创 剑指OFFER——二叉搜索树与双向链表
注意:返回的结果不是树的根节点,而是链表的头节点算法一:暴力破解法(脑子短路想不出好方法时当备用)算法思路:中序遍历二叉树,将二叉树的遍历节点顺序保存在数组链表中,然后在遍历数组修改各个节点的左右指针指向//中序遍历保存顺序节点到数组链表public void inorder(List<TreeNode> list,TreeNode root){ if(r...
2020-02-23 21:35:41
112
原创 剑指OFFER——包含min函数的栈
算法思路:1、采用两个栈:s1存储正常入栈顺序,s2存储最小值栈2、当添加数入栈时,先正常入栈s1,然后再根据添加数判断选择值入栈s2:如果添加的数比最小栈栈顶的数小,则将添加数入最小栈, 如果添加的数比最小栈栈顶的数大,则添加最小数入最小栈(即最小栈栈顶元素再入栈)。整个过程中确保s1和s2栈中的个数相同```javapublic class Solution { //...
2020-02-23 13:24:16
104
原创 剑指OFFER——顺时针打印矩阵
算法思路把矩阵看成好几个长方形嵌套在一起的,从外面的矩阵顺时针遍历,遍历完在遍历内在的矩阵,设立left、right、top、bottom分别为矩阵的边界,顺时针访问完一个外层的矩阵后,只需修改边界值,left+1,right-1,top+1,bottom-1public ArrayList<Integer> printMatrix(int [][] matrix) { ...
2020-02-23 01:22:52
155
原创 图——遍历算法、最小生成树
public class Edge { Integer value; Integer weight; Edge next;}/** * 最小生成树的边 */public class MST_Edge implements Comparable<MST_Edge>{ Integer begin; //begin end存放边的两个顶点 ...
2020-02-22 18:02:12
180
原创 剑指OOFFER——二进制中1的个数
算法一:时间复杂度O(n)预备知识:十进制的二进制形式与1进行与运算,若结果为1,则二进制的最后一位是1,若结果为0,则二进制的最后一位是0.原因:1的二进制前面全为0,只有最后一位为1,所以任何数跟1进行与运算,除了最后一位不一定为0,其他高位全部为0.例如:7(111) 跟 1(001)进行与运算结果为1(001);6(110)跟1进行与运算结果0(000);算法思路:将数的二进制...
2020-02-22 15:34:48
492
原创 图——拓扑排序和关键路径算法实现
/** * 拓扑排序(有向图) */public class TopologicalSort { int numEdge; //边的个数 int numVertex; //顶点个数 VertexNode[] vertexNodes; //顶点数组 /** * AOV网(Active on Vertex NetWork):无权有向图(无环...
2020-02-21 16:05:12
438
原创 图——Dijkstra算法实现
package graph;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Vector;public class Dijkstra { int max = 65535; int numVertex = 6; char V...
2020-02-20 18:08:09
191
原创 JAVA——泛型
泛型编译时确定类型注意:泛型要求包容的是对象类型,使用时不能指定基本数据类型泛型声明时不能使用在静态属性或者静态方法上在接口中泛型字母只能使用在方法上(方法的参数或者返回值上),不能用在全局常量泛型方法中<>在返回类型前面 public void test(){}...
2019-11-05 23:47:45
131
原创 JAVA——注解、反射
注解(Annotation)自定义注解@Target(value = {ElementType.METHOD,ElementType.TYPE}) //设置注解的位置,为方法上面和类接口上面@Retention(RetentionPolicy.RUNTIME) //设置注解在运行时public @interface MyAnnotation { int age()...
2019-10-22 21:50:24
137
原创 浮动和三种定位
标准流排版正常网页默认排版方式浮动排版1将行内元素设置为浮动会使行内元素具有块级元素特征2不设置宽度时,浮动元素的宽高由内容撑起3浮动元素脱离文档流,浮动后的子元素无法撑开父元素4针对第3里面的问题,可以设置父元素高度解决元素塌陷5浮动元素层级提升后,可以压住标准元素的背景,但文本会环绕浮动元素(因为html中元素由两层组成,一层是元素本身即“原素层”,另一层是元素上方的内容层,还...
2019-10-16 20:35:03
280
1
原创 操作系统实验1:添加系统调用编译内核
实验前准备编译内核需要比较大的内存,所以需要给ubuntu扩容首先要将虚拟机关机。然后点击虚拟机里的设置,然后选择扩容,给个60G吧(我这里没关机所以不能点击)扩容后打开虚拟机。点击左下角的这个搜索磁盘(disk)点击磁盘打开后,点击这个设置然后将这个拉到最大调到最大确认后要输入密码就可以。接下来进入实验:1、 在ubuntu中打开火狐浏览器https://www.ke...
2019-10-14 21:23:21
626
原创 SSM整合(基于IDEA下MAVEN构建的SSM)
在学习SSM框架后跃跃欲试想要亲手试试整合一个项目的过程,在这里分层次的介绍一下整个流程。GitHub源码:https://github.com/zzs2019/SSM.git首先介绍下代码目录结构:1、sql语句CREATE TABLE `account` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(20) DE...
2019-08-18 20:03:38
134
原创 Linux学习——(五)远程管理命令
shutdown命令shutdown 选项 时间 (没有制定选项和时间,默认表示1分钟之后关机) - 重新启动: -r - 取消之前关机计划:-c - 立刻关机:now - 再过10分关机:shutdown +10 - 系统在今天八点关机:shutdown 8:00ifconfig和ping命令 - ifconfig:查看或配置计算机当前的网卡配置信息 - ping IP...
2019-08-18 19:21:28
84
原创 数据库学习——增删查改
1. 增创建表:create table 表名(列名1 列的类型 [约束],列名2 列的类型 [约束],。。。列名N 列的类型 [约束])注意:最后一行没有逗号例子:create table Students(name varchar(10),age int,ID varchar(10))创建索引:create index &lt;索引名&gt; ...
2019-05-02 20:10:53
160
原创 Python数据可视化常用操作(Pandas)
import pandas as pd# 产生0-1的随机数10行5列dt = np.random.normal(0,1,(10,5))# 行索引row_index = ["股票{}".format(i) for i in range(10)]# 列索引,起始日期,时间长,column_index = pd.date_range(start='20190329',periods=5,f...
2019-03-30 22:29:08
523
翻译 python数据可视化常用操作(matplotlib)
plot:折线图scatter:散点图histogram:直方图pie:饼图bar:柱状图import matplotlib.pyplot as pltimport randomx=range(60)y=[random.uniform(15,18) for i in x]y2=[random.uniform(1,3) for i in x]# 创建画布plt.figure...
2019-03-27 14:11:17
313
原创 JAVA随手笔记
小数比较时使用BigDecimal.equal精确逻辑与&&逻辑或|采取短路运算从左到右运算,确定值就不会往下运算long型定义后需要加Lfloat型定义后需要加fSwitch语句:case标签必须是整数(byte,short,char,int)或者枚举,不能是字符串(JDK7.0可以使用字符串)标签outer用法,用于退出循环-内存分析栈:栈是方法执行的内存模...
2019-03-22 15:56:44
146
翻译 JAVA初识垃圾回收机制
垃圾回收器负责回收所有“不可达”对象的内存空间即没有使用的内存空间垃圾回收算法一般要做两件基本事情: 1. 发现无用的对象 2. 回收无用对象占用的内存空间垃圾回收机制保证可以将“无用的对象进行回收”,无用的对象指没有任何变量引用该对象。垃圾回收相关算法引用计数法:堆中每一个对象都有一个引用计数,被引用一次计数+1,被引用变量值为null计数-1,直到计数为0,则成为无用对象。优点...
2019-03-18 23:02:21
97
原创 git常用命令
创建版本仓库在git目录执行git init命令版本创建git add 文件或目录git commit -m ‘版本说明信息’查看版本记录git log版本回退git reset --hard HEAD^ (HEAD指向当前版本,^ 可以换成 ~ +数字,~2回退两个版本)git reset --hard 版本序列号查看操作记录git reflog工作...
2019-03-17 23:44:05
92
翻译 Linux学习——(七)系统信息相关命令
时间和日期查看系统时间:date查看日历:cal (-y选项可以查看一年日历)磁盘信息显示磁盘剩余空间:df -h (disk free缩写)显示目录下的文件大小:du -h 目录名(disk usage缩写)进程信息查看进程的详细情况:ps aux(a显示终端上的所有进程,包括其他用户的进程,u显示进程的详细状态,x显示没有控制终端的进程)动态显示运行中的程序并进行排序...
2019-03-12 23:31:07
78
翻译 Linux学习——(六)用户权限
1中方框d表示是文件夹,-表示是文件2中方框表示用户权限3中方框表示组权限4中方框表示其他用户权限chmod命令 1. 修改用 户/组 对 文件/目录 的权限 2. 命令格式:chmod +/- rwx 文件名/目录名 3. chmod +x ./ceshi.txt 给用户对当前目录下的ceshi.txt文件增加可执行权限 4. chmod设置权限:chmod -R 755 ...
2019-03-10 23:10:23
111
原创 SSH用putty或XShell连接linux错误
之前一直连接Linux也连接不下,找了好多方法发现太麻烦了,啥都不如一键回复容易的多打开VM编辑中的虚拟网络编辑器2 选择VMnet8然后点击更改设置3 选中VMnet8下面选择恢复默认设置然后重新连接就可以了...
2019-03-08 15:00:08
455
翻译 Linux学习——(四)文件相关命令
touch1、文件不存在,可以创建一个空白文件2、文件以经存在,可以修改文件的末次修改日期mkdirmkdir -p a/b/c(递归创建目录,相当于mkdir a,cd a,mkdir b,cd b,mkdir c)注意:新建目录的名称不能与当前目录下已有的目录和文件同名rm命令1、 -f:强制删除,忽略不存在的文件,无需提示2、 -r:递归的删除目录下的内容,删除文件夹时必...
2019-03-05 21:02:50
121
翻译 Linux学习——(三)目录相关命令
自动补全在敲出文件/目录/命令的前几个字母下,按下tab键1如果输入的没有歧义,系统会自动补全2如果还存在其他文件/目录/命令,再敲下tab键系统会提示可能存在的命令曾经使用过的命令1按上/下光标键可以在曾经使用过的命令之间切换。2如果想要退出选择,并且不想执行当前选中的命令,可以按 ctrl + CLinux下文件目录的特点 1 以 “.”开头的文件表示隐藏文件 2...
2019-03-01 15:47:02
143
原创 Linux学习——(二)常用命令的基本使用
学习Linux终端命令的原因1、在职场中,大量的 服务器维护工作 都是在 远程 通过 SSH 客户端 来完成的,并没有图形界面,所有的维护工作都需要通过命令来完成2、在职场中,作为后端程序员,必须要或多或少的掌握一些 Linux 常用的终端命令3、Linux 发行版本的命令大概有 200 多个,但是常用的命令只有 10 多个而已学习命令的技巧1、对于常用的命令,用多了自然就记住了2、对...
2019-02-28 00:35:03
190
原创 Linux学习——(一)文件系统
1、Unix和Linux的设计初衷是多用户操作系统2、Windows XP之前的版本都是多用户系统3、在Linux下我们看不到类似Windows上的盘符,看到的只是文件夹。只有一个根目录/,所有文件都在这个根目录下面。...
2019-02-27 22:43:44
184
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人