自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 java笔记异常处理

异常

2020-03-30 09:35:11 145

原创 java笔记数字与静态2

包装的静态实用方法Integer.pareInt()取用String并返回primitive主数据类型eg:将String转换为primitive主数据类型String s="2";int x=Integer.parseInt(s);//将“2”解析为2double d=Double.parseDouble("420.24");boolean b=new Boolean("true...

2020-03-17 17:42:45 129

原创 java笔记数字与静态

Math方法:最接近全局的方法在Math这个类中的所有方法都不需要实例变量值,因为这些方法都是静态的,所以你无需Math的实例,你会用到的只有它本身;...

2020-03-14 17:26:44 144

原创 java笔记构造器与垃圾收集器

abstract public class Canine extends Animal{ public void roam(){ }}public class MakeCanine{public void go(){Canine c;c=new Dog();//这两个是可以的,因为你乐意复制子类对象给父类的引用,即使父类是抽象的c=new Canine();//这个类以及被标记为...

2020-03-11 17:10:19 104

原创 java笔记4

重载1.返回类型可以不同2.不能只改变返回类型3.可以更改存取权限public class Overloads{String uniqueID;public int addNums(int a,int b){return a+b;}public int addNums(double a,double b){return a+b;}public void setUniqueI...

2020-03-10 22:53:21 119

原创 java笔记3

使用java函数库有一个类ArrayList(理解为删除元素时自动缩小)部分样本add(Object elem)//像List中加入对象参数remove(int index)//在索引参数中移除对象remove//移除该对象contains//如果list中没有元素返回“true”isEmpty//如果list中没有元素返回“true”indexOf(Object ele...

2020-03-03 23:34:02 185

原创 java笔记2

28~29

2020-02-29 22:51:34 108

原创 数据结构

博客:https://blog.csdn.net/m0_45983010/article/details/104514365https://blog.csdn.net/m0_45983010/article/details/104579223https://blog.csdn.net/m0_45983010/article/details/104579845https://blog.csd...

2020-02-29 22:41:04 70

原创 散列表(哈希表)

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

2020-02-29 19:58:12 183

原创 二分查找

二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。过程首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。重复以...

2020-02-29 19:46:40 110

原创 赫夫曼树

路径:从树的一个结点到另一个结点之间的分支构成这两个结点的路径。结点的路径长度:两节点间路径上的分支数目。树的路径长度:从树根到每一个结点的路径长度之和叫做树的路径长度。(结点数目相同的二叉树中,完全二叉树的路径长度最短的二叉树)权:树中的结点的值,这个数值叫做该结点的权。结点的带权路径长度:从根结点到该结点之间的路径长度与该结点的权的乘积。树的带权路径长度:树中所有叶子结点的带权路径长...

2020-02-29 19:32:04 190

原创 二叉树遍历知二求一

根据后序和中序遍历输出先序遍历#include<stdio.h>int qian[1010],mid[1010],ho[1010];int n;int y(int mid[],int n,int m,int s){ int i; for(i=n;i<=m;i++) if(mid[i]==s) break; return i;...

2020-02-29 19:14:27 155

原创 排序

归并排序void f(int n,int m){ int i,j,k,mid; if(n<m) { mid=(n+m)/2; int i=n,j=mid+1,k=n; f(n,mid); f(mid+1,m); while(i<=mid&&j<=m) ...

2020-02-29 18:46:41 89

原创 汉诺塔

递归实现#include<stdio.h>void move(char x,char y);void hanoi(int n,char one,char two,char three){ if(n==1) move(one,three); else { hanoi(n-1,one,three,two); m...

2020-02-27 17:21:31 73

原创 java笔记1

Head First Java书26号到50页目前运行的简单小代码

2020-02-26 21:55:15 128

原创 KMP算法

KMP算法相对比与朴素算法,KMP就快许多代码#include<stdio.h>#include<string.h>char w[10001],t[10001];int next[10001];int lenw,lent;void getnext(int lenw){ int i=0,j=-1; next[i]=-1; while(...

2020-02-26 12:11:59 107

原创 二叉树

二叉树二叉树是一种非常重要的数据结构,非常多其他数据结构都是基于二叉树的基础演变而来的。对于二叉树,有深度遍历和广度遍历,深度遍历有前序、中序以及后序三种遍历方法,广度遍历即我们寻常所说的层次遍历。由于树的定义本身就是递归定义,因此用递归的方法去实现树的三种遍历不仅easy理解并且代码非常简洁,而对于广度遍历来说,须要其他数据结构的支撑。比方堆了。所以。对于一段代码来说,可读性有时候要比代码本身...

2020-02-20 21:34:31 201

原创 最短路径

最短路径Floyd-Warshall算法缺点:时间成本大,容易时间超限核心代码for(k=1; k<=n; k++) for(i=1; i<=n; i++) for(j=1; j<=n; j++) if(e[i][j]>e[i][k]+e[k][j]) e[i][j]=e[i][k]+e...

2020-02-20 20:00:25 106

原创 简单计算器

简单计算器有中缀表达式与后缀表达式之间的转换,或者两个单独计算对于一些题型,这个还没有考虑分母不为0,“(”与“)”与“…^”,等到完善了在来修改例题https://vjudge.net/contest/351438#problem/D完整代码#include <stdio.h>#include <string.h>#include<stdlib.h&...

2020-02-20 19:20:09 123

原创 栈和队列

栈和队列栈:先进后出;队列:先进先出典型例题https://vjudge.net/contest/351438#problem/Ahttps://vjudge.net/contest/351438#problem/D#include<stdio.h>#include<string.h>int main(){ int s; scanf("%d...

2020-02-20 17:18:07 89

原创 线性表的链式存储

线性表的链式存储顺序存储就是数组来,好理解但插入和删除数据多就不方便,链式存储就很方便。表长查找插入/* 带头结点的插入 *//*注意:在插入位置参数P上与课程视频有所不同,课程视频中i是序列位序(从1开始),这里P是链表结点指针,在P之前插入新结点 */bool Insert( List L, ElementType X, Position P ){ /* 这里默认L有头结点...

2020-02-20 17:05:11 128

原创 线性表的顺序存储

线性表的顺序存储存储List MakeEmpty(){ List PtrL; PtrL=(List)malloc(sizeof(struct LNode)); PtrL->Last=-1; return PtrL;}查找int Find(ElementType X,List PtrL){ int i=0; while(i<=...

2020-02-20 16:25:30 276

原创 最大子列和

最大子列和与尺取不一样,尺取是有固定长度的,而最大子列和长度未知,需要自己去找;下面则按照时间复杂度递减的算法,当然复杂度越低越不能想到;123也算二分嘛,容易理解,但代码比较麻烦代码int Max3( int A, int B, int C ){ /* 返回3个整数中的最大值 */ return A > B ? A > C ? A : C : B &g...

2020-02-20 15:38:15 65

原创 dfs与bfs

第一章时间,最大连续子序列#include<stdio.h>#include<string.h>int main(){ int n; char a[100002],b[10]= {"xtCpc"}; while(~scanf("%d%s",&n,a)) { int i,j,k,w=0,t=n/5; ...

2020-02-19 17:14:43 54

原创 拓扑排序

拓扑排序借鉴https://blog.csdn.net/qq_38984851/article/details/82844186拓扑排序的实现步骤1,在有向图中选一个没有前驱的顶点并且输出2,从图中删除该顶点和所有以它为尾的弧(白话就是:删除所有和它有关的边)3,重复上述两步,直至所有顶点输出,或者当前图中不存在无前驱的顶点为止,后者代表我们的有向图是有环的,因此,也可以通过拓扑排序来...

2020-02-19 17:05:08 98

原创 2.18号

11h搞了好久也没弄出啥,也看了一会群里的电子文档Head First java23h看大话数据结构(257-273)和啊哈算法(148-160)3h主要针对最短路径的Floyd-Warshall算法和Dijkstra算法的理解和代码实现;了解了拓扑排序,目前还没敲代码;33.5h写题组B题少考虑一个点,耗时比较长D题时间超限用另一种算法A题自我感觉代码正确,可是运行...

2020-02-18 22:33:54 92

原创 二叉堆

二叉堆二叉堆是一种特殊的堆,二叉堆是完全二元书(二叉树)或者近似完全二元树(二叉树)。二叉堆有两种最大堆和最小堆。最大堆:父节点的键值总是大于或等于任何一个子节点的键值;最小堆:父节点的键值总是小于等于任何一个子节点的键值。基本操作:插入节点,删除节点,取出值最小的节点,减小节点的值等;...

2020-02-06 16:52:44 110

原创 快速乘

快速乘快速乘与快速幂原理相似,不多解释了;核心代码int f(int a,int b,int c){ int ans=0; a%=c; while(b) { if(b&1) ans=(a+ans)%c; a=(a+a)%c; b>>=1; } retu...

2020-02-04 12:24:20 101

原创 字符串Hash

字符串Hash把一个字符串转换为一个整数。如果我们通过某种方法,将字符串转换为一个整数,就可以确定某个字符串是否重复出现,这是最简单的字符串Hash应用。方法给定一个字符串S=s1s2s3…sn,对于字母x,我们规定idx(x)=x-‘a’+1。(我们也可以直接用si的ASCII值)公式hash[i]=hash[i-1]*p+id(s[i])%modp和mod均为质数,且p<m...

2020-02-02 15:56:33 136

原创 单调栈

单调栈完整代码#include<stdio.h>#include<string.h>int main(){ int n; while(scanf("%d",&n)!=EOF) { if(n==0) break; int i,top[100010],t=-1,l[100010],...

2020-01-31 15:51:11 68 1

原创 并查集

并查集原理完整代码#include<stdio.h>#include<string.h>char a[100000],b[50000];int next[100000];int getnext(int n){ next[0]=-1; int j=-1,i=0; while(i<n) { if(j==-1|...

2020-01-22 23:59:20 69

原创 2020.1.15~1.20学习总结

学习总结这五天,首先是将10~13号学的内容通过啊哈算法和大话数据结构这两本书重新仔细理解一次,然后做了几个补题,我发现对于KMP算法和归并排序我已经熟练一些,但也只会解决一些简单问题,而二叉树和栈和队列我仍然不熟练,就是理解思路却不会代码,接下来仍从补题,书籍还有博客继续学习这些内容;每日一题和博客学习的算法有快速幂取模,尺取,归并排序,其实这些算法就是在我们已知的可解决的问题中优化代码,提...

2020-01-21 20:37:16 224 1

原创 归并排序

归并排序原理图解代码实现void f(int n,int m){ int i,j,k,mid; if(n<m) { mid=(n+m)/2; int i=n,j=mid+1,k=n; f(n,mid); f(mid+1,m); while(i<=mid&&...

2020-01-19 17:26:04 123 1

原创 尺取

尺取例题代码实现#include<stdio.h>int a[2000002];int main(){int n,m,i,j;while(~scanf("%d%d",&n,&m)){long long int sum=0;for(i=0;i<n;i++){scanf("%d",&a[i]);if(i<m)sum+=a[i];...

2020-01-18 12:17:25 90

原创 快速幂与快速幂取模

快速幂快速幂取模

2020-01-16 23:15:35 141

空空如也

空空如也

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

TA关注的人

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