- 博客(30)
- 资源 (3)
- 收藏
- 关注
原创 编译原理语法分析程序LL0 LL1 java版
编译原理语法分析程序LL0 LL1链接:https://pan.baidu.com/s/1el5Tl6pMEZkYqJGT3mEIJQ提取码:qjy2
2022-01-13 11:34:06
578
原创 编译原理词法分析程序
编译原理词法分析程序C++链接:https://pan.baidu.com/s/1U56takQV52cmTcouurusBA提取码:o5t0
2022-01-13 11:19:39
132
原创 leetcode剑指offer(第二版)题解(一)
这段时间写完了力扣的剑指offer,写几篇博客记录一下解题思路和代码。offer 09 用两个栈实现队列这道题比较基础,我们知道栈的特点是先进后出,队列的特点是先进先出,刚好相反。再用两个栈模拟队列的时候,可以进行以下操作假设两个栈的名字为A,B1.模拟 入队时,向A栈入栈2. 模拟出栈时,将A栈的所有内容出栈,并且依次压入B栈,之后弹出B栈的第一个元素,再将B栈的所有内容出栈,依次压入A栈。每次出栈根据上述流程,可以完成用两个栈模拟队列。class CQueue { Stack<
2021-08-22 12:26:44
195
1
原创 北邮-cpu模拟器单双核-源代码
百度云连接:https://pan.baidu.com/s/1RewfZi5wYGQmDhb-_P2fYQ提取号:tb2a
2021-05-14 17:17:16
485
原创 android调节项目字体大小并且保存到手机,下次打开app仍保留之前设置
在做一个Android项目的时候遇到了一个需求,需要有一个界面可以调控全局的字体大小,在这个界面里挑选合适的字体大小,然后点击“应用”按钮,可以将整个app的字体大小统一修改。这个功能应该是大多数app都有的,但是实现起来还要好好想想。一开始我的思路比较麻烦(其实是java不熟练www),想着通过intent与bundle传递数据,但是通过这个方法在activity之间传递数据时避免不了需要打开activity,即通过startactivity()函数,在activity1的页面中打开activity2,
2021-02-11 17:52:42
435
1
原创 由前序遍历与中序遍历确定后序遍历 洛谷P1827 洛谷P1030
我们有时会遇到给出一颗二叉树的前序遍历与中序遍历,或者中序遍历与后序遍历让我们给出这棵树的另外一种遍历的情况,这将是这篇博客的主要问题。我们先给出一个例子,洛谷P1827,这是一道给出前序遍历与中序遍历要求出后序遍历的题目,这些遍历究竟是什么这里不在赘述,我们直接来看这道题的思路。因为给出了前序遍历与中序遍历,我们有一种直觉就是要从根节点入手,容易知道,先序遍历的第一个元素是整个树的根节点,我们可以再中序遍历中找到他,找到整个树的根节点之后,在中序遍历中,在根节点左边的就是这棵树的左子树,在根节点右边
2020-09-01 21:33:06
656
原创 洛谷 P1364医院设置 C语言题解
只是一道在一棵树上选取一个节点作为重心,然后求得周围节点到重心的加权距离最小的题目,如果用一般的树结构来存储的话,因为要同时寻找某个节点的儿子节点和父亲节点,所以会涉及到双向的树。为了将题目简化,我们用邻接表来储存这棵树,邻接表中的元素分别储存树的权值,左右孩子(如果没有,就是0,有的话就是对应节点的编号),父亲节点(如果没有,就是0,有的话就是对应节点的编号),用二维数组来表示邻接矩阵。对于邻接矩阵的每一个节点进行广度优先搜索,bfs,在每次计算的时候还要将目前访问的节点与重心的相对距离传入函数,完成
2020-08-21 23:34:29
579
原创 数据结构 折半插入排序 快排 归并排序 基数排序 堆排序
这篇博文拖了好久了,终于今天上午有时间写下来,回顾一下数据结构的大多数排序算法。如标题所说,这篇博文包括了很多排序算法,我们一个一个来说。折半插入排序第一个是折半插入排序,看到“折半”这两个字,就能感觉到他和熟悉的折半查找有相似之处。在折半查找中,我的数组是从1开始的,而不是0,而我的数组的0号位则是用来储存每次读入的新的数据。这个可以自己决定,代码要做相应的小调整。下面是插入搜索的核心代码。void BInsertSort(int a[],int n)//n为当前输入的第几个数字 { if
2020-07-23 23:14:17
1540
1
原创 深度优先搜索和广度优先搜索C语言 (紫皮书)
深度优先搜索又叫depth first search,是一种在开发爬虫早期比较常用的方法,这里我会用最易懂的方法让大家理解深度优先搜索**,所谓深度优先搜索,就是找到图中的一个节点,然后依此寻找与他相关的下一个节点,形象地来说就是一条路走到黑**,而广度优先搜索就是以一个节点开头,一次访问这个节点所有有关系的节点,先横向发展,在纵向延伸。需要用图举一个例子这是一个无向图,现在要对这个无向图进行深度优先搜索。如果我们把1当作开头的节点,那么可能的寻找顺序为1->2->5->3是深度优先
2020-07-16 15:02:42
3702
1
原创 哈夫曼树与哈夫曼编码原理与代码
哈夫曼编码是一种编码方式,哈夫曼编码是可变字长编码(VLC)的一种。Huffman于1952年提出一种编码方法,该方法完全依据字符出现概率来构造异字头的平均长度最短的码字,有时称之为最佳编码,一般就叫做Huffman编码,是一种很好的文件压缩得到编码形式。举一个例子:哈夫曼编码根据不同的字母(汉字)在文章中出现的频率不同构建不等长的编码,给出现频率最高的字最短的编码,给出现频率最低的字最长的编码,这样可以有效的节省空间,并且所有较短的编码都不是较长的编码的前缀,避免了二义性的问题。哈夫曼编码需要通过哈夫
2020-07-09 17:02:04
1420
转载 KMP算法详解
大多数据结构课本中,串涉及的内容即串的模式匹配,需要掌握的是朴素算法、KMP算法及next值的求法。在考研备考中,参考严奶奶的...
2020-07-03 12:21:05
513
原创 洛谷 P1449 后缀表达式
这道题是一道比较简单的计算器模拟,因为他没有涉及到括号的输入,也不需要判断符号之间的优先级,只需要将不同的数字计算出来,然后每次读取到运算符号的时候就从栈中弹出两个数字进行计算,将计算的结果压入栈中,只需要一个数字栈就可以,而不需要符号栈。用题中所给的测试数据来模拟一下这个过程:在程序中需要注意的是输入中的 “.”,它代表了数字的结束,要转换成对应的更高位数的数字,还有就是运算之后要把运算过的数字全部清零,只是移动指针是不行的。下面附上源码#include<stdio.h>int
2020-07-02 10:53:37
193
原创 基本爬虫爬取有道翻译
对于我这个爬虫新手,今天要记录一篇在学习爬虫中的一个小实例,尝试用爬虫爬取有道翻译在写爬虫之前,我们先要打开有道翻译,看一看在翻译的过程中我们的电脑发出了怎样的请求,是对于那个网址发出的,以及电脑收到的response在那个地方,我们先打开有道翻译,打开控制台进行抓包,看到如下画面我们看到一共发送了五个请求,而我们所需要的翻译结果在第一个请求中,我们要求翻译的内容是“人生苦短,我用python”,在这个请求的preview中,可以看到翻译的结果。那这个请求对应的url就是写爬虫所需要的url,找到这
2020-05-08 22:30:18
1154
原创 C语言多线程编程基础
这篇文章是我看了b站一个up主 正月点灯笼 的多线程教学视频之后写的一篇学习总结,供大家参考指正。视频链接在此:https://www.bilibili.com/video/BV1kt411z7ND?p=3通常我们写的基础C语言程序都是只有一条线程,但是因为我们的计算机cpu不只有一个内核,所以如果我们可以写出来多线程的程序,就可以让cpu的几个核同时工作运算,可以比单线程程序更好的发挥cpu...
2020-04-27 23:46:45
752
1
原创 洛谷 P1033 自由落体 C语言题解
附上代码#include<stdio.h>#include<math.h>double height,s,v,l,k;int n;int get(double distance)//知道小球与车前端的距离和小球的平抛速度,计算是否能落在车里 { double time1,time2;//time1是落到地上的时间,time2是落到总高减车高的地方的时间 ti...
2020-03-26 23:07:05
780
原创 洛谷 P1011 车站 C语言题解
附上代码一定要看下面的文字题解,单看代码有些晦涩#include<stdio.h>int sa[2002],sx[2002],da[2002],dx[2002];int main(){ int initnum,stanum,peo,loc;//开始有多少人,即a,总战术,最后一站下车的人数,计算第几站 scanf("%d%d%d%d",&initnum,&...
2020-03-15 11:41:33
735
原创 洛谷 P1071 潜伏者 C语言题解
附上代码#include<stdio.h>#include<string.h>#include<stdlib.h>typedef struct{ char pre,cur;//分别对应原来的字母和现在的字母 }dic;int cnt = 0;char a[101];char b[101];char message[101]; int ex...
2020-03-10 16:05:15
1025
原创 洛谷P1020 导弹拦截 n2算法 C语言题解
附上代码#include<stdio.h>int a[100002];int dp[100002];//用于动态规划的数组int dp2[100002]; int cnt = 0;//计数器int max(int x,int y){ return (x > y) ? x : y;}int main(){ int result1 = 1; int resu...
2020-03-07 15:49:57
366
原创 洛谷 P1115最大子段和 C语言
附上代码#include<stdio.h>long int a[200002];long int dp[200002];//动归数组int max(int x,int y){ return (x > y) ? x : y;}int main(){ int n; scanf("%d",&n); for(int i = 1;i <= n;i++)...
2020-02-21 17:50:29
596
2
原创 洛谷 p1604 B进制星球 C语言
附上代码#include<stdio.h>#include<string.h>char temp1[2002];char temp2[2002];char a[2002];char b[2002];char c[2002];int max(int x,int y){ return (x > y) ? x : y;}int main(){ in...
2020-02-19 21:41:26
316
原创 洛谷 P1091 合唱队形 C语言
附上代码,又是一篇C语言题解#include<stdio.h>int max(int x,int y)//返回最大值的函数{ return (x > y) ? x : y;}int main(){ int n; scanf("%d",&n); int a[n]; for(int i = 0;i < n;i++) scanf("%d",&am...
2020-02-17 15:16:40
701
原创 洛谷 P1583 魔法照片 C语言题解
附上代码#include<stdio.h>typedef struct{ int W,num;}peo;//结构体 W是权值,num是编号 void QuickSort(peo a[],int s,int e);//快排 int main(){ int n,k; scanf("%d%d",&n,&k); int E[11]; for(int i =...
2020-02-15 17:56:53
342
原创 洛谷 P1031 均分纸牌 C语言
#include<stdio.h>int main(){ int N; scanf("%d",&N); int a[N]; int total = 0; for(int i = 0;i < N;i++) { scanf("%d",&a[i]); total += a[i]; } int average = total / N;//算出牌...
2020-02-11 21:52:25
452
原创 洛谷 P1803 线段覆盖 C语言
附上代码#include<stdio.h>typedef struct{ int s_time;//结构体定义,开始的时间,结束的时间,时间间隔 int e_time; int interval;}game;void QuickSort(game a[],int s,int e);//快排 int main(){ int n; scanf("%d",&n...
2020-02-09 11:56:14
893
原创 洛谷·P1094 纪念品分组 python代码
附上代码w = eval(input())#最大的礼物价格n = eval(input())#礼物个数ls = []for i in range(n):#向列表中加入礼物 temp = eval(input()) ls.append(temp)ls = sorted(ls)#使用sorted函数将列表排序i = 0#指向列表的第一个元素p = n - 1#指向列表的最...
2020-02-08 09:26:05
526
原创 洛谷P1090合并果子,贪心算法 纯C语言
附上C语言代码#include<stdio.h>int total = 0;//搬运果子需要的总力气,设为全局变量 void MergeSort(int a[],int s,int e,int temp[]);//归并排序基本操作 void Merge(int a[],int s,int m,int e,int temp[]);// 归并排序基本操作 int main(){...
2020-02-07 16:11:59
2329
1
原创 洛谷P1605 迷宫 纯C语言题解
#include<stdio.h>#include<stdlib.h>int cnt = 0;//记录有多少条路线,初始为0int N,M,T;//N行 M列 T个障碍int a[6][6];//先建立一个二维数组,因为不知道参数不能传递数组,就在函数外建立,可以直接调用int judge(int x,int y);//看看当前的位置有没有障碍void move...
2020-02-07 09:47:10
557
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人