自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

菜鸟算法

一个学android不学改学算法的coder

  • 博客(121)
  • 资源 (4)
  • 收藏
  • 关注

原创 考研——如何事半功倍成功上岸985?硬核干货输出!

考研想上名校,不这么干怎么行?!个人情况简介心路历程时间安排“肝”数学“悔”英语“搞”专业“玩”政治心态爆炸?你需要自我调整!考完嗨?你想多了!我是如何复试逆袭留在北京?心灵鸡汤 or “毒”鸡汤?个人情况简介你好,我是一名本科三非(非985、非211、非双一流)的普通群众,凭着自己总结的各种方法(殊不知,考研是信息战、心态战各种“战”的综合“战争”),用了大部分人半数的时间成功上岸北理工计算机学院软件工程;距离拟录取已经过去了一个月的时间,自己也从考研中慢慢冷静下来,我觉得只有自己从这件事情中抽取出来

2020-06-15 22:19:15 1735 1

原创 DFS原理白话解析

前言看了许多的关于dfs的博客,自己也研究了好多遍,最终算是入门了,下面就简单的个人理解的原理以及结合一个简单的全排列实例进行讲解。原理简介dfs基于递归思想,递归思想就是把一个事拆分成若干见相同的小事共同组合完成,具体见下图的斐波那契的图文解决这就是一个最典型的递归,入口f(5)出口就是每次递归的return;说完递归就是dfs,其有两个重要的标志,也就是两个数组,一个用来标记该点是...

2018-11-04 11:20:57 74285 35

原创 备战秋招之算法篇-动态规划(3)

3.动态规划-二维递增子序列:信封嵌套问题本文内容来自github:labuladong 的算法教程,学习完之后做的笔记,大家可以去github看一下写的非常好。3.1 题目描述    给出一些信封,每个信封用宽度和高度的整数对形式(w,h)表示。当一个信封A的宽度和高度都比另一个信封B大的时候,则B就可以放进A里,请问最多能套几层?    比如输入envlopes = [[5,4],[6,4],[6,7],[2,3

2021-05-18 21:28:00 184

原创 备战秋招系列之算法篇-动态规划(2)

2.动态规划–最长递增子序列本文内容来自github:labuladong 的算法教程,学习完之后做的笔记,大家可以去github看一下写的非常好。2.1 题目描述输入一个无序的整数数组nums=[10,9,2,5,3,7,101,18],找到其中最长递增子序列的长度。2.2 动态规划解法       动态规划的核心解法是数学归纳,类似的我们在设计动态规划的时候,不是需要一个dp数组吗?我们可以假设dp[0…i-1]已经被算出来了,然后我们需要知道如何通

2021-05-17 20:31:47 178

原创 备战秋招系列之算法篇--动态规划(1)

1.动态规划–套路框架本文内容来自github:labuladong 的算法教程,学习完之后做的笔记,大家可以去github看一下写的非常好。前言       动态规划的问题一般形式是求最值;核心问题是穷举;所以遇到求最值的问题就穷举。       但是在动态规划中,最终的穷举结果会存在重叠的问题,暴力穷举的话效率会非常的低,所以需要使用“备忘录”或者“DP table”,优化我们的穷举过程;其次动态规划中一定会有最

2021-05-16 22:09:49 218

转载 Federated Learning for Vision-and-Language Grounding Problems

转载自此处文章背景这篇文章的背景是这样的,首先我的每个客户端输入的都是图像,这些图像可以是不同类型的,作者在实验中是用了两个不同的数据集来表示这一点。其次是每个客户端的任务也可以是不同的,比如一部分做视觉问答,另一部分做图像描述。因为他们的任务不一样,所以传统的联邦学习方法就不适用了。作者的方法概括的说就是让服务端去学习一个对应于不同任务的图像表示。具体的我们看下面这张图,可以简单的分为三个阶段,首先第一个阶段客户端在自己的模型上得到一个原始图像表示,也就是一个向量。然后把这个向量发送给服务端。第二个阶

2020-10-10 17:24:31 720

原创 TFHE学习简单记录

1.Fully Homomorphic Encrypyion over the Tours,FHE表示全同态加密,T代表环面。2.实数环面 the real tours T=R/Z=R Mod 1,把实数环面记为(T,+,·)的形式。T表示环面里的结构,+·分别表示加法和数乘(从Z和T到T的映射(外积)),Z表示整数集。3.实数环面有三个性质:是一个阿贝尔群;拥有Z-module结构;不是一个环(环上的元素之间的乘法没有定义)。4.除了实数环面我们还可以定义多项式环面。5.TLWE密文的对称加密:1

2020-09-24 08:39:14 1429

原创 复试上机指南之2的幂次方

上海交通大学复试上机137=2(2(2)+2+2(0))+2(2+2(0))+2(0)#include<stdio.h> void put(int num, int n); int main(){ int num; scanf("%d", &num); put(num, 0); return 0;} void put(int ...

2020-03-28 16:33:17 309

原创 复试上级指南之递归字符串全排列

北京大学复试上级题给一个由不同小写字母组成的字符串,输出字符串的全排列。#include<iostream>#include<vector>#include<algorithm>#include<cstdio>#include<cstring>#include<queue>using namespace std...

2020-03-28 15:47:51 176

原创 复试上机指南之惊喜

今天在做之前的题,有一道题网上的一种做法,让我惊了,不是怎么怎么复杂而是感觉脑回路很惊奇,很牛逼,看代码。题意是输入一组英文单词,按字典顺序输出(大写与小写字母具有相同大小写),排序输出。例如:输入:Information Info Inform info Suite suite suit 输出:Info info Inform Information suit Suite suite/...

2020-03-24 19:58:33 218

原创 复试上机指南之中缀、后缀表达式

输入表达式,输出值。分两种情况:中缀表达式和后缀表达式。中缀表达式求值:先将中缀表达式建立二叉树转后缀表达式,然后再求值。code#include <iostream>#include <string>#include <string.h>#include <math.h>#include <stdlib.h>using...

2020-03-24 16:47:40 186

原创 复试上机指南之小技巧(3)

String使用技巧关于一些使用的技巧,在上机的时候关于字符串的题目一般还是比较多的,其实做了一些题,感觉字符串用不好的根本原因还是在一些库函数没有真正的了解,思维固然重要,但是有的时候方法就摆在那,但是不知道就很颓,所以大道至简还是基础的问题,总结就是为了发现不足弥补不足,纯干活输出。输入的一些技巧截取特定的字符串截取空格前后的字符串、截取串中特定的一些字符串片段字符串的拼接、赋值+...

2020-03-17 22:57:01 267

原创 复试上机指南之搜索

宽度优先搜索从起点开始,依次搜索其临近的邻居结点,再按照访问顺序访问该结点的临近结点,直到搜索完毕整个空间。农夫约翰被告知逃跑奶牛所在的位置,希望立刻抓住。约翰刚开始站在N,奶牛站在同一直线的K,约翰有两种方式:步行和传送:步行:1分钟内从任意一个点X移动到X+1或者X-1;传送:1分钟内从任意一个点X移动到2X;假设奶牛不动。约翰需要多长时间才能追上他。输入5 17;输出4。#inc...

2020-03-16 17:09:44 158

原创 复试上机指南之贪心、动态规划

简单贪心

2020-03-16 16:11:21 158

原创 复试上机指南之数据结构二

二叉树

2020-03-15 21:53:00 213

原创 复试上机指南之小技巧篇(2)

一、进制转换(字符串的操作)在进制转换的过程中,操作的数字可能大于int的边界,所以我们需要使用字符串进行进制转换的操作。string divide(string s,int x){ int re=0; for(int i=0;i<s.length();i++){ int current = re*10+s[i]-'0'; s[i]=current/x+'0'; re=c...

2020-03-14 11:35:28 181

原创 复试上机指南之小技巧篇(1)

一、输入一组整数这个就是输入一组整数,数组的话没法用,因为数组是定长的,所以我们采用vector结合cin.get()进行判断。int input;vector<int> vec;//vector的好处就在是一个动态数组,我们可以在不指定长度的情况下,输入任意长度的数字while(cin>>input){ vec.push_back(input); if(c...

2020-03-07 20:01:41 738

原创 复试上机指南C++STL(二)

关于本文第二篇主要介绍序列容器(vector、deque、list、array)。vector1.1 是什么1.2 为什么1.3 常用的操作1.3.1 初始化1.3.2 插入、遍历等常用操作插入遍历常用操作...

2020-03-06 20:35:11 346

原创 复试上机指南-C++STL(一)

前言最近在准备复试,博主的复试是C/C++,考虑到C++自带的STL操作的方便性,所以选择了用C++作为机试的语言,预计会做成一个系列,内容包括但不限于:STL:set、map、序列容器(vector、deque、list、array)、string类、容器适配器(stack、queue、priority_queue)常用的数据结构:链表、数组、栈、队列、树、图等常用的数据结构,部分会在前...

2020-03-03 19:55:32 1325

原创 2020C语言--指针、结构体、文件之指针

从今天开始就是C语言的指针了,今年博主考数据结构和C语言,对一些难点重点进行了总结,这次的C语言写完了就开始过代码了,一起加油吧。

2019-09-20 21:44:14 464

原创 2020数据结构-栈和队列

一、栈和队列1.栈1.1 栈的基本概念定义:栈是一种线性表,只允许在一端进行插入或者删除操作的线性表。栈顶:线性表允许进行插入删除的一端。栈底:固定的,不允许进行插入和删除。空栈:不含任何元素的空表。栈的操作特性是后进先出。1.2 栈的顺序存储结构顺序栈的实现:采用顺序存储的栈称为顺序栈,它利用一组连续的存储单元存放自栈底到栈顶的数据元素,同时附设一个指针(top)指示当前...

2019-09-20 16:53:46 269

原创 2020数据结构--树

一、树1.树的基本概念1.1树的定义树是n(n>=0)个结点的集合,n=0时,称为空树,这是一种特殊情况。在任意一棵非空树中应该满足:有且仅有一个特定的称为根的结点。当n>1时,其余结点可分为m(m>0)个互不相交的有限集合T1,T2…Tm其中每个集合本身又是一棵树,称为根结点的子树。树的定义是递归的,是一种递归的数据结构。树作为一种逻辑结构,同时也是一种分层结构...

2019-09-19 19:24:28 706

原创 2020数据结构-图之基本概念

一、图1.图的基本概念1.相关定义图是由顶点的有穷非空集合以及顶点之间的边的集合组成的,通常表示为:G(V,E),其中,G表示一个图,V是图中的顶点的集合,E是图G中边的集合。线性结构中,元素仅有线性线性关系,每个元素仅有一个直接前驱和直接后继。树形结构中,数据元素(结点)之间有着明显的层次关系,每层上的元素可能和下一层中多个元素相关,但只能和上一层中的一个元素相关。图...

2019-09-18 17:21:54 2454

原创 2020数据结构-查找之串

串1.串的定义串(字符串):是零个或多个字符组成的有限序列。记作:S=“a1a2a3…”,其中S是串名,ai(1≦i≦n)是单个,可以是字母、数字或其它字符。串值:双引号括起来的字符序列是串值。串长:串中所包含的字符个数称为该串的长度。空串(空的字符串):长度为零的串称为空串,它不包含任何字符。空格串(空白串):构成串的所有字符都是空格的串称为空白串。注意:空串和空白串的不同,例如“...

2019-09-17 20:27:56 236

原创 2020数据结构-查找之散列表

一、散列表1.基本概念线性表和树表的查找中,记录在表中的位置与记录的关键字之间不存在确定的关系,因此,在这些表中查找记录时需要一些关键字比较。这类查找建立在“比较”的基础上,查找的效率取决于比较的次数。散列函数:把查找表中的关键字映射成该关键字对应的地址的函数(这里的地址可以是数组下标、索引或内存地址等)。冲突:散列函数可能会把两个或两个以上的不同关键字映射到同一地址。同义词:上述发生...

2019-09-17 19:44:15 1522

原创 2020数据结构-查找之B树和B+树

一、B树和B+树1.B树应用场景查找磁盘中地海量数据。基本思想1.若根结点不是终端结点,则至少有2棵子树。2.除根节点以外的所有非叶结点至少有 M/2 棵子树,至多有 M 个子树(关键字数为M-1)。3.所有的叶子结点都位于同一层。与平衡二叉树的对比(图片来自网络,侵删)B 树的每个节点可以表示的信息更多,因此整个树更加“矮胖”,这在从磁盘中查找数据(先读取到内存...

2019-09-17 17:47:30 388

原创 2020数据结构-查找之顺序查找和折半查找

一、顺序查找和折半查找1.顺序查找顺序表查找分为对一般的无序线性表的顺序查找和对关键字有序的顺序表的顺序查找。1.1 一般线性表的顺序查找基本思想从线性表的一端开始,逐个检查关键字是否满足给定的条件。若查找到某个关键字满足的给定条件,则查找成功,返回该元素在线性表中的位置;若已经查找到表中的一端,还未找到则返回查找失败的信息。算法分析对于有n个元素的表,给定的key值与表...

2019-09-17 16:47:25 3476

原创 2020数据结构-排序算法之外部排序

一、外部排序概念外部排序指待排序文件较大,内存一次放不下,需要存放在外部介质的文件的排序。在排序过程中需要进行多次外村和内存之间的交换,对外存文件的内容进行排序后结果仍然被存放到原文件。方法由于外部设备的不同,通常又可分为磁盘文件排序和磁带文件排序不同之处在于:初始归并段在外存介质中的分布方式,磁盘是直接存取设备,磁带是顺序存取设备。后续再更。。。...

2019-09-16 20:30:38 135

原创 2020数据结构-排序算法之内部算法的比较

一、内部排序算法的比较(一)时间复杂度简单选择排序、直接插入排序、冒泡排序平均情况下的时间复杂度都为O(n·n)。希尔排序对较大规模的排序都可以达到很高的效率。快排在实际应用中常优于其他算法。(二)空间复杂度简单选择、插入、冒泡、希尔、堆排序都仅借助常数个辅助空间。快速排序在空间上仅使用一个小的辅助栈,用于实现递归。(三)稳定性插入、冒泡、归并、基数是稳定的排序方法。...

2019-09-16 20:23:58 487

原创 2020数据结构-排序算法之归并排序、基数排序

一、归并排序和基数排序1.归并排序基本思想归并算法的中心是归并两个已经有序的数组。归并两个有序数组A和B,就生成了第三个数组C,数组C包含数组A和B的所有数据项,并且使它们有序的排列在数组C中。举例效率分析空间:O(n)时间:每趟归并的时间复杂度为O(n),共需进行log2n(向上取整)趟归并,所以时间复杂度为O(nlog2n)。稳定性:稳定。2.基数排序...

2019-09-16 20:01:13 221

原创 2020数据结构-排序算法之选择排序(简单选择、堆排序)

一、选择排序(简单选择、堆排序)1.简单选择基本思想假设排序表为L[1…n],在第一次取min=i,L[i]为最小元素,之后设置一个标志位j循环与L[min]进行比较,若发现L[j]<L[min],则令min=j,如果min != i,就交换L[min]与L[i]的位置。效率分析空间效率:O(1)时间效率:O(n·n)稳定性:不稳定。2.堆排序基本思想是一种...

2019-09-16 19:37:58 243

原创 2020数据结构-排序算法之交换排序(冒泡、快排)

二、交换排序(冒泡、快排比较常见,简单分析即可)1.冒泡排序基本思想从后往前两两比较相邻元素的值,若为逆序则交换他们,直到序列比较完,我们成为一趟冒泡。效率分析空间效率:O(1)时间效率:最坏O(n·n)2.快速排序基本思想分治法,人去一个元素作为基准,通过一趟排序将表划分为两个独立的部分,使得左侧(如果是从小到大排序的话)的小于基准值,右侧的大于基准值,这个工程...

2019-09-16 17:23:52 162

原创 2020数据结构-排序算法之插入排序

前言最近在看2020王道的第7章,排序感觉讲的不适合我这种比较菜的人,所以结合王道课本每个算法来一个例子分析一波,感觉这样更好理解。插入排序(直接插入、折半插入、希尔排序)交换排序(冒泡、快排)选择排序(简单选择、堆排序)2路归并排序基数排序外部排序一、插入排序1.直接插入基本思想(对我而言用处不大,起码做题理解的不到位)每次将一个待排序的记录按其关键字(希望进行排...

2019-09-16 17:05:16 168

原创 2020数据结构-树和二叉树

5.1 二叉树5.1.1二叉树的定义二叉树或为空树,或是由一个根结点加上两棵分别称为左子树和右子树的‘互不相交的二叉树组成。特点:每个结点至多有两棵子树,子树有左右之分,其次序不能任意颠倒。特殊的二叉树(1)满二叉树二叉树中每一层的结点数都达到最大,所有叶子结点均在最后一层。(2)完全二叉树除最后一层外,其余各层均满。最后一层或是满的,或者右边缺少连续的若干结点。即叶子结点只能出...

2019-07-23 19:30:50 949

原创 2020数据结构-线性表(4)

2.4其他形式的链表2.4.1单向循环链表在单向链表的基础上,在其最后一个结点的指针域中将空指针改为指向头结点的指针,此即为单项循环链表。常用的单项循环链表有两种,一种是带头指针的单项循环链表,另一种是带尾指针的单项循环链表。带头指针的单项循环链表判断为空的条件:L->next == L带尾指针的单项循环链表的判断为空的标志是:R->next == R如果有两个带尾指针的单...

2019-07-20 19:24:38 163

原创 2020数据结构-线性表(3)

2.2.3.4静态链表由于某些程序设计语言,不支持指针变量,可以用数组模拟单向链表,称为静态链表。基本思想:开辟一个较大的容量的一维结构体数组,每个数组元素是一个结点,包含一个数据域和指针域,指针域的类型为int用来存放下一个结点的下标。。为了方便插入和删除,将一维结构体数组分为两组,已经存放数据元素的组成一个链表,未存放的结点组成另一个备用链表,用于提供插入时的新结点,回收删除的结点。1....

2019-07-19 20:52:36 121

原创 2020数据结构-线性表(2)

3.删除操作将指定位置的学生数据删除。//三个参数最后一个是将被删除的数据元素传出去的指针变量int deletetSqList(SqList *L,int i,STD *x){ int k; if(L->length == 0){ printf("没有数据,不能删除\n"); return 0; } if(i<0||i>L->length){ p...

2019-07-19 19:50:01 199 2

原创 2020数据结构-线性表(1)

2.2线性表2.1线性表的定义线性表是一种简单的线性结构,具有如下特征:(1)集合中必须存在唯一的一个第一个元素。(2)集合中必须存在唯一的一个最后一个元素。(3)除最后一个元素外均有一个唯一的直接后继。(4)除第一个元素外,均有唯一的直接前驱。...

2019-07-19 11:25:41 307

原创 2020数据结构-绪论

1.1 数据结构的起源和发展研究数据的特性和数据之间存在的关系此即为数据结构。1.2 基本概念和术语1. 数据数据不仅包括数值型信息,还包括非数值型数据,如:图像、声音、文字。所谓的数据是对客观事物的符号表示,这些符号具备两个条件:(1)能输入到计算机中。(2) 能被计算机程序处理。对于非字符型数据可对其进行编码将其转变为字符型数据再进行处理。2.数据元素数据元素是数据的一个基...

2019-07-18 17:23:19 183

原创 Android学习第九天—数据存储方案(持久性技术的简介)

我们直接来介绍SQL各条语句的功能和格式。学生—课程数据库我们以学生—课程数据库为例来讲解SQL的数据定义、数据操纵、数据查询和数据控制语句。 数据定义 关系数据库系统支持三季模式结构,其模式、外模式和内模式中的基本对象模式表、视图和索引等。因此SQL的数据定义功能包括模式定义、表定义、视图和索引的定义。 一个关系数据库管理系统的实例中可以建立多个数据库,一个数据库中可以建立多

2019-07-10 11:26:50 94

erhuopro.zip

使用Django开发的Web服务器,python3.7 Django2.2 自带SQLite轻量级数据库。

2019-07-10

ErHuoShop.zip

一个自己开发的电商平台,内容齐全,涵盖Android(3.4)和Django(2.2),python(3.7),开发使用的是Android Studio、Pycharm、Django、SQLite。

2019-07-10

校园导游咨询系统(数据结构课程设计)

这是数据结构课程设计做的一个校园导游咨询系统,实现的功能记不太清了,里面包含任务书和代码全套的东西,界面就是cmd命令框改了个颜色,亲测有效,用的开发工具是CodeBlocks,欢迎下载,有问题请私聊。 当中缺少一个test.txt文件,现在放在了百度云大家自行下载即可。 链接:https://pan.baidu.com/s/1wBsjZSJPH8y8IeFoCVooBA 提取码:1enw

2018-07-04

班级管理系统(数据库课程设计)

这是这学期写的数据库课程设计的代码,主要就是实现仿QQ界面的登录注册,分为三个角色,班长、班级同学、班主任,实现基本的增删改查以及表与表信息之间的交换等,里面包含所有的东西,下载下来除了图片需要自己添加之外,其他均可用,

2018-07-04

空空如也

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

TA关注的人

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