自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 资源 (3)
  • 收藏
  • 关注

原创 组合总和

深度递归 剪枝深度递归 剪枝 50% 72.27%深度递归,不断减去数组序列中的值,直到减到 target < 0,剪枝的过程:idx 为简直过程;如:深度为 1 时,递归 for 循环第一层,会将所有减1的情况包含,所以 for 循环第二次时候,从 index=2 开始(即candidates[2]),不用再减去 candidates[1] 的数。for 循环第三次时候,index=3, 不用减 candidates[1]、candidates[2] 的元素……class Solut

2021-07-24 19:13:50 101

原创 深度优先 求 图中强连通子图的个数

说明输入矩阵形式的图,matrix[i][j] 值为 1 说明边 i 与边 j 相连。定义一个 visited[] 的 Boolean 数组,为 true 表示此边已经访问过。算法时间复杂度: n的平方可以优化为: n的平方/2步骤1、访问每行数据,如果已经访问过,跳过;2、如果没有访问过:连通子图数量+1,将此边 visite 设置为 true。并深度遍历此连通子图,将此连通子图的所有边设置为 visited。public class Practice { public stat

2021-07-18 21:08:54 590

原创 mvc起手 IDEA部署

IDEA部署springframwork1、建立maven项目2、maven pom文件导入依赖包,设置项目packaging打包为war包3、resources目录下建立 applicationContext.xml 的spring配置文件4、File -> Project Structure -> Modules 中加入spring,并选择上一步已创建的applicationContext.xml文件;再加入Web配置,在Web Resource Directories中配置生成w

2021-06-13 08:29:19 1228 1

原创 内容摘抄:数据加密技术

概念:明文 P:原始的数据或信息;密文 Y:对明文加密后得到的文本;加密算法 E:实现从明文(密文)到密文(明文)转换的公式、规则或程序,密钥是加密和解密算法的关键参数。加密密钥 Ke, 解密算法Kd。对称加密加密算法和解密算法之间存在一定相依关系,即加密算法和解密算法往往都使用相同的密钥,或者知道加密密钥Ke后,就很容易推导出解密密钥Kd。它具有加密速度快的优点,但密钥的分配和管理比较复杂。比较有代表性的就是数据加密标准DES。非对称加密加密密钥Ke和解密密钥Kd不同,难以从Ke推导出

2021-03-18 23:39:18 254

原创 C语言:KMP模式匹配

KMP模式匹配:时间复杂度O(n+m)意义:已匹配的指针i不用回退了概念解释主串标记i,模式串标记j前缀:除最后一个字符外,字符串的所有头部子串;后缀:除最后一个字符外,字符串的所有尾部子串;部分匹配值:字符串前缀和后缀最长相等前后缀长度。下次移动位数:已匹配部分数据段长度-部分匹配值先统计已匹配i个模式串字符时,该i个模式串字符的部分匹配值next[j]下次移动位数=(j-1)-next[j-1]移到j发现不匹配了,所以已匹配长度=j-1,若用原始算法,i应退回(i-j+1)+1

2020-11-29 17:07:18 105

原创 一道面试题

//输入:{ ‘A’: 1, ‘B.A’: 2, ‘B.B’: 3, ‘CC.D.E’: 4, ‘CC.D.F’: 5}//输出:{‘A’:1,‘CC’:{‘D’:{‘E’:4,‘F’:5}},‘B’:{‘A’:2,‘B’:3}}思路是将其转化为树结构,然后按照规则打印树的信息import java.util.*;public class Main4 { //字典转化, { ‘A’: 1, ‘B.A’: 2, ‘B.B’: 3, ‘CC.D.E’: 4, ‘CC.D.F’: 5}.

2020-11-13 19:48:45 59

原创 线程入门

线程六态new:创建;runnable(start):此状态线程正在执行,但可能在等待操作系统其他资源blocked(阻塞):监听等待锁,进入synchronized资源waiting(等待):wait()、join()方法时间内或处于LockSupport的park中;线程等待可以是object.wait()等待其他线程唤醒,也可以是thread.join()等待其他线程结束;timed-waiting:sleep,wait(time),join(time),LockSupport.parkN

2020-10-28 13:14:23 83

原创 仿源码重写 HashMap java实现

自定义HashMap方案采用:定址:除留余数法冲突:拉链发自动扩容:threshHold阈值,超过容量0.8则自动扩容public class MyHashMap<K,V> { Node<K,V>[] table; int size = 8; //初始大小8 int threshHold = 0; public MyHashMap() { table = new Node[size]; } /* * put前先resize,

2020-08-08 20:48:01 285

原创 TCP服务:Socket实现文件上传下载

客户端package ServerClient;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.InputStream;import java.io.InputStreamReader;import java.io.Obje

2020-07-07 23:32:06 313

原创 日期、格式化输出的写法

import java.text.MessageFormat;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;public class Format { public static void main(String[] args) { String message = "{0}{1}{2}{3}{4}{5}{6}{7}{8}{9}"; Object[] arr

2020-05-27 16:05:12 153

原创 hashtable、hashset

HashSet的三种遍历import java.util.HashSet;import java.util.Iterator;public class traverseSet { public static void main(String[] args) { HashSet<String> hsArr = new HashSet<String>(); hsArr.add("hahah"); hsArr.add("dabadaba"); hsArr.a

2020-05-26 19:51:03 254

原创 归并排序非递归

import java.util.Arrays;public class MergeSort非递归 { public static void main(String[] args) { int[] arr = {7,10,4,2,9,6,100,70,50,22,13,11,19,900}; Merge_Sort(arr); System.out.println(Arrays.toString(arr)); } /* * @temp 数组用于存储调序后的arr */

2020-05-22 10:54:39 226

原创 归并排序的递归调用

import java.util.Arrays;public class MergeSort{ public static void main(String[] args) { int[] arr = {7,10,4,2,9,6,100,70,50,22,13,11,19}; Merge_Sort(arr); System.out.println(Arrays.toString(arr)); } /* * @temp 数组用于存储调序后的arr */ public s

2020-05-21 22:45:02 287

原创 简单哈希表(散列表)的理解

在线性表、树等数据结构中,记录在结构中的相对位置是随机的,和记录的关键字之间不存在确定的关系,因此在结构中查找记录时需进行一系列和关键字的比较。它们查找的效率都依赖于查找过程中所进行的比较次数。那么,在理想的情况下有没有不经过任何比较,一次存取便能得到所查记录。这种情况就必须在记录的存储位置和记录的关键字之间建立一个确定的对应关系f(K),由此,便可不需要比较便直接取得所查记录。这个f,我们称之为哈希函数,按照这个思想来建立哈希表。但对于不同的关键字,可能得到同一哈希地址,即k1≠ k2,而f(k1) .

2020-05-20 21:57:48 311

转载 快速排序

转自:链接: https://www.cnblogs.com/hjy9420/p/5032309.html.import java.util.Arrays;public class QuickSort { public static void main(String []args){ int[] arr = {12,20,5,16,15,1,30,45,23,9}; int start = 0; int end = arr.length-1;

2020-05-19 22:35:29 112

原创 简易Sedgewick希尔排序

希尔排序希尔排序法(缩小增量法) 属于插入类排序,是将整个无序列分割成若干小的子序列分别进行插入排序的方法。希尔排序实质是应用增量序列加快插入排序的算法。希尔排序的好坏主要取决于获取增量序列的方法。步骤:1、定义增量序列;2、按增量序列的间隔选取数组元素;3、对选取的数组元素进行插入排序,缩小增量值;重复步骤3,直到增量序列=1;增量序列种类:原始希尔排序增量:第一次 D1=M(数组长度)/2; 后序:Dk=Dk+1      &

2020-05-19 15:00:41 793

原创 简单插入排序

package sort;import java.util.Arrays;public class InsertSort { public static void main(String[] args) { int[] arr = {7,10,4,2,9,6,100,70,50,22,13,11,19}; Insert_Sort(arr); System.out.println(Arrays.toString(arr)); } /*算法思想:从第一个元素开始,该元素可以认为

2020-05-19 10:39:24 111

原创 C语言:二叉树的线索化过程与遍历

二叉树的理解线索化的实质:将二叉链表中的空指针改为指向前驱或后继的线索。由于前驱和后继信息只有在遍历该二叉树时才能得到,所以,线索化的过程就是在遍历的过程中修改空指针的过程。二叉树的作用:将二叉树线索化后,减少空指针数量,赋予二叉树新的意义。如:在中序线索化后,可以用以近队列存储的方式访问二叉树,加快访问速度和查找效率。线索化过程:线索化过程于中序递归遍历没太大区别,先递归调用左子树,递归后执行线索操作,再递归调用右子树。线索操作:二叉树的存储结构结构特点:相较于普通二叉树增加左右标记位,l

2020-05-18 18:00:39 423

原创 简单冒泡排序

package sort;import java.util.Arrays;public class Bubble{ public static void main(String[] args) { int[] arr = {7,10,4,2,9,6,100,70,50,22,13,11,19}; BubbleSort(arr,1); //正:升序;负:降序 System.out.println(Arrays.toString(arr)); } public static

2020-05-18 15:27:12 103

原创 简单二分法查找

package find;public class 二分法查找{ public static void main(String[] args) { int[] a = { 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 }; int loc; for( int i=1; i<=a.length; i++){ loc = BinarySearch( a , i ); System.out.println(loc); } } public

2020-05-18 11:57:15 82

原创 翁恺老师 狐狸和兔子练习

习题描述狐狸、兔子都有年龄;到达一定年龄上限会自然死亡;狐狸随机吃掉周围一只兔子;狐狸、兔子可以随机生一只小的放在旁边格子;如果不吃不生,狐狸、兔子可以随机向旁边格子移一步会随机吃掉Animal抽象类animal抽象类是fox,rabbit的父类:属性:ageLimit(生存时间),breedableAge(生育年龄),age(现年龄),isAlive;方法:**构造方法:**生存时间、生育年龄;**简单方法:**获取年龄、年龄百分比、成长(到年龄死亡)、见耶稣、确定没死、确定能生、寿

2020-05-15 21:19:27 1580 4

原创 C语言:二叉树的线索化过程与遍历

#include <stdio.h>#include <stdlib.h>typedef struct LNode{ int data; struct LNode *leftchild; struct LNode *rightchild; int ltag,rtag;}LNode;//-----------------------树...

2020-04-27 22:56:55 120

原创 C语言:二叉树的非递归调用

#include <stdio.h>#include <stdlib.h>//---------------------------------树----------------------------------------typedef struct Node{ int data; struct Node *leftchild; st...

2020-04-23 11:49:52 201

原创 c语言实现:二叉树的建立与递归调用

typedef struct Node{ //结构体类型int data;struct Node *leftchild;struct Node *rightchild;}Node; //-------------------------------------------------------- 初始化 ---------------------...

2020-04-20 22:56:57 288

原创 C语言实现:KMP算法

#include <stdio.h>#include <stdlib.h>#define NOTHAVE 0int strlen(char *c){ int i=0; while(c[i] != '\0'){ //字符串以'\0'结尾 i++; } return i;}/*------------------...

2020-04-17 16:00:28 160

原创 拉依达找异常值

    occupy=xlsread('C:\Users\Hasee\Desktop\rs\占有率.xlsx');    follow=xlsread('C:\Users\Hasee\Desktop\rs\流量.xlsx');    A=occupy;    B=follow;    %std(A,flag,dim) A矩阵,flag0为除N-1的标准差,dim1按列求标准差    M...

2019-01-05 22:19:15 339

原创 BP神经网络应用

每层神经元数目(输入层,隐含层,输出层)转移函数σ:(每一层的神经元基本上都会用同一个转移函数)训练方法:traingdx(梯度下降)、trainlm(Levenburg-Marquardt,一种结合了梯度下降法和牛顿法的方法)其他可选部分:误差函数(默认MSE),训练过程作图,等等。%生成训练集、测试集speed=xlsread('C:\Users\Hasee\Desktop\...

2019-01-05 22:15:07 1304

原创 C语言学习:子串判断

/*从键盘输入两个长度小于80的字符串A和B,且A的长度大于B的长度,编程判断B是不是A的子串,如果是,则输出”Yes”,否则输出”No”。这里所谓的该串的子串是指字符串中任意多个连续的字符组成的子序列。函数原型:int IsSubString(char a[], char b[]);函数功能:判断b是否是a的子串,是则返回1,否则返回0*/#include&lt;stdio.h&gt...

2018-12-25 22:36:25 4987

原创 C语言学习:奇偶数分离

/*输入n个整数(n从键盘输入,假设n的值不超过100),按奇偶数分成两组并输出。输出两行,第一行为所有奇数,第二行为所有偶数,保持数据的相对顺序与输入顺序相同。函数原型如下所示:void Seperate(int a[], int n); //数组a[]存放用户输入的n个整数解题思路:用两个循环分别输出奇数和偶数,在输出第一个数时用"%d"格式字符,在输出其余数时用",%d"格式字符,...

2018-12-25 17:32:58 5316 2

原创 C学习语言:山地训练

/*为了能在下一次跑步比赛中有好的发挥,小白在一条山路上开始了她的跑步训练。她希望能在每次训练中跑得尽可能远,不过她也知道农场中的一条规定:  女孩子独自进山的时间不得超过M秒(1 &lt;= M &lt;= 10,000,000)。  假设整条山路划分成T个长度相同的路段(1 &lt;= T &lt;= 100,000),并且小白用si表示第i个路段的路况,  用u、f、d这3个字母分别...

2018-12-25 16:42:52 989 1

原创 C语言学习:凯撒密码

/*凯撒密码是罗马扩张时期朱利斯•凯撒(Julius Caesar)创造的,用于加密通过信使传递的作战命令,其原理很简单,就是通过将字母表中的字母移动一定位置而实现加密。例如,每个字母按字母表顺序向后移3位,如a加密后变成d,b加密后变成e,……x加密后变成a,y加密后变成b,z加密后变成c。请编写一个程序,将用户从键盘输入的文本字符串(只包含a~z的字符且长度小于100)进行加密后输出。函数...

2018-12-24 23:26:06 2785

转载 C语言学习:统计重复数字

#include &lt;stdio.h&gt;#include &lt;string.h&gt;int CountRepeatStr(char str[], int *tag);#define N 80main(){    char instr[80];    int tag=0;    int max=0;    printf("Input a string:\n");  ...

2018-12-24 22:28:10 4480

原创 C语言学习:检查重复数字

/*输入提示:"Input n:\n"输入格式: "%ld"输出格式:有重复数字,输出信息: "Repeated digit!\n"没有重复数字,输出信息: "No repeated digit!\n"*/#include &lt;stdio.h&gt;int main(){    int i,j,l;    long int n;    printf("Input n:\n&quo

2018-11-04 15:40:34 8162 1

ServerClient.zip

Java利用ServerSock实现文件上传和下载。

2020-07-07

计算机操作系统.docx

此资源为考研笔记,理论性强,含进程线程、处理机调度、存储器管理、文件系统、IO设备等理论知识,内容详实,都为干货,笔记条理性强,可供查阅预习复习等用。

2020-07-02

翁恺老师狐狸与兔子.txt

狐狸和兔子java代码,拿来可以直接复制粘贴用,还可以关注我,直接在我的博客里查看啊,我的博客里的还有详细解释!!!-----------------------------------------------------------

2020-05-15

空空如也

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

TA关注的人

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