自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Embedding Temporal Network via Neighborhood Formation

HTNE是北航老师提出的针对时序网络(temporal network)嵌入的一个模型,论文发表在2018年KDD上。时序网络,即网络是随时间动态变化的(节点和边会增加或减少)。文章研究了时序网络的embedding问题,旨在建模网络的时序形成模式,从而提升网络embedding的效果。文章通过节点的邻居形成序列(neighborhood formation sequence)建模节点的演变过程,然后利用霍克斯过程(Hawkes process)捕获历史邻居对当前邻居形成序列的影响,从而得到节点的embe

2020-11-10 17:20:12 1084 1

原创 数据链路层和TCP传输层的迷思

1. 传输层协议UDP,书上说不必事先建立连接,是无连接的不可靠的协议,只是尽最大努力交付,但UDP仅是传输层协议,下面还有数据链路层协议啊,该层中有超时重传,差错重传的ARQ协议,这样,原始的数据帧就能可靠通信了,上层数据也是通过下层数据表现的,不同样也能保证可靠通信吗?为什么说UDP是不可靠的?2. 再有如果有数据链路层的差错重传和超时重传,还要TCP的的重传机制干嘛?3. 数据链路层和传输层的TCP都有滑动窗口,这不重复了吗?为什么4. 其它层的首部我看都有长度字段,但TCP的首部中没有...

2020-05-08 21:45:53 546

转载 数据链路层和TCP传输层的流量控制有什么区别

在数据链路层,由于收发双方是点到点的连接,其流量控制策略相对较为简单,接收窗口和发送窗口即为固定大小的缓冲区的个数,发送方的窗口调整,即缓冲区的覆盖依赖于确认帧的到达,由于信号传播延时和CPU的处理时间等都对相对较为稳定,所以发送方的数据帧和接收方的确认帧,其发送和接收时间是可估计的。在TCP层,由于一个TSAP可同时与多个TSAP建立连接,每个连接都将协商建立一个窗口(即一对发送和接收缓冲区...

2020-05-08 16:19:56 3350

原创 迪杰斯特拉(Dijkstra)算法

#include <iostream>#include <vector>using namespace std;struct Node{ int v; int dis;};const int MAXV = 100;vector<Node> Adj[MAXV];int n;int d[MAXV];bool vis[MAXV] = { ...

2020-05-07 23:09:00 233

转载 统计1到n之间的自然数中有多少个数字1出现

1. 题目描述输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数。例如输入12,从1到12这些整数中包含1的数字有1,10,11和12,1一共出现了5次。在看了剑指offer上的解法之后,发现讲的不是很明晰,于是在网上查找了一下,看到了https://me.csdn.net/yi_Afly的解法,非常清晰明了,我也没法写的更好了,特转载如下:2. 解题思路考虑将n...

2020-05-04 11:54:03 2803 1

原创 快速排序

快速排序主要采用了一个分割的思想,通过某一个元素将序列分为两个部分,然后对左右两个部分再次进行快排。int partition(int a[],int left,int right){ int temp=a[left]; while(left<right){ while(left<right&&a[right]>temp) right--; a[...

2020-05-03 23:01:29 152

原创 全组合

题意:输入一个字符串,求出该字符串中字母的所有组合!假设每次组合的字符数长度为m从n个字符中选取m个字符进行组合对于每一个字符,都有两种选择,一个是放入结果中,另一个是不放入结果中如果放入结果中,那么需要从剩下的n-1个字符中选取m-1个字符否则的话,就从剩下的n-1个字符中选取m个字符,递归下去。。。。void combination(string str,int...

2020-05-03 21:19:52 220

原创 将二叉搜索树转化成有序的双向链表

问题描述:输入一个二叉搜索树,将该二叉树转化成一个排序的双向链表。要求不能创建任何新的节点,只能够调整树中节点指针的指向。二叉树的节点定义如下:struct Node{ int value; Node * left; Node * right;};由于该树是二叉排序树,所以每个根节点的左指针指向的是其左子树的最右下角的节点,右指针指向的应当是其右子...

2020-05-03 19:25:58 390

转载 Bellman-Ford算法

算法(五):图解贝尔曼-福特算法算法简介贝尔曼-福特算法(Bellman–Ford algorithm )用于计算出起点到各个节点的最短距离,支持存在负权重的情况 它的原理是对图进行最多V-1次松弛操作,得到所有可能的最短路径。其优于迪科斯彻算法的方面是边的权值可以为负数、实现简单,缺点是时间复杂度过高,高达O(VE)。但算法可以进行若干种优化,提高了效率。 Bellman...

2020-05-03 08:15:34 1129

原创 计网(三)——数据链路层

1. 为网络层提供的服务:无确认的无连接的服务 有确认的无连接的服务 有确认的有连接的服务2. 流量控制:流量控制主要有停-等流量控制,滑动窗口流量控制,其中滑动窗口又分为后退N(GBN)和选择重传(SR)协议 流量控制并不是数据链路层所特有的功能,许多的高层协议也提供,只不过控制的对象不同而已。对于数据链路层来说,控制的是两个相邻的节点之间的数据链路上的流量,对于运输层来说,...

2020-04-27 18:03:27 376

原创 c++字符串的相关处理函数

atoi将string字符串转换为int类型,只能转换为十进制;atoi函数不会对string字符串进行范围检查[-2147483648,2147483647],超过这个界限,不会报错,只会进行相应的转换,遇到非法字符会停止,不会报错;头文件为cstdlibstring s="111111"; cout<<atoi(s.c_str())<<endl;sto...

2020-04-26 19:45:14 453

原创 动态规划——解码方法

题目描述:一条包含字母A-Z 的消息通过以下方式进行了编码:'A' -> 1'B' -> 2...'Z' -> 26给定一个只包含数字的非空字符串,请计算解码方法的总数。示例 1:输入: "12"输出: 2解释:它可以解码为 "AB"(1 2)或者 "L"(12)。此题适宜使用动态规划的方法来做。这里的状态转移方程比较麻烦,我一开始使用...

2020-04-25 19:50:58 222

原创 动态规划之——跳跃游戏V

题意:给你一个整数数组 arr 和一个整数 d 。每一步你可以从下标 i 跳到:i + x ,其中 i + x < arr.length 且 0 < x <= d 。i - x ,其中 i - x >= 0 且 0 < x <= d 。除此以外,你从下标 i 跳到下标 j 需要满足:arr[i] > arr[j] 且 arr[i] > ar...

2020-04-25 15:17:40 433

原创 计网(二)——物理层

物理层电路交换、报文交换、分组交换、数据报、虚电路各是什么?电路交换:在进行数据传输前,两个节点之间必须先建立一个专用的(双方独占)的物理通信路径(由通信双方之间的交换设备和链路逐段连接而成),该路径可能通过许多中间节点,这一路径在整个数据传输期间一直被占用。电路建立后,除了源节点和目的节点之外,链路上的任何节点都采取直通的方式接收和发送数据,即没有存储转发的过程。优点:通信时延小,有序...

2020-04-25 11:03:53 409

原创 计网(一)——计算机网络体系结构

计算机网络和分布式计算机系统有什么区别?分布式系统最主要的特点是整个系统中的各个计算机对用户来说是透明的。用户通过输入命令就可以运行程序,但用户并不知道哪台计算机在为他运行程序,计算机的选择是由操作系统完成的。而计算机网络中,用户必须先登录欲运行的程序的计算机,然后按照计算机的地址,将程序通过计算机网络传到该计算机上进行运行,二者的区别主要是软件不同。因特网的IP是无连接的,其传输是...

2020-04-25 09:19:49 286

原创 链表和数组的二路归并排序

归并排序(Merge Sort)是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个有序的子序列,再把有序的子序列合并为整体有序序列。归并排序的具体做法:把原序列不断地递归等分,直至每等份只有一个元素,此时每等份都是有序的。相邻等份合并,不断合并,直至合并完全。二路归并归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and ...

2020-04-24 21:13:15 788

原创 计组(七)输入输出系统

1、CPU响应中断应该具备哪些条件?1. CPU内部的中断屏蔽触发器必须是开放的2. 外设有中断请求时,中断请求触发器必须处于“1”状态,以保持中断请求信号。3. 外设(接口)的中断允许触发器必须为“1”,这样才能够吧中断请求送至CPU。4. 满足以上三个条件,CPU在现行指令结束的最后一个状态周期响应中断。2、中断响应优先级和中断处理优先级分别是指什么?中断响应优先级是由硬件排队线路...

2020-04-22 22:47:06 357

原创 计组(六)总线

1、引入总线有什么好处引入总线结构主要有以下优点:简化系统结构,便于系统设计制造大大减少了连线数目,便于布线,减小体积便于接口设计,所有域总线连接的设备均采用类似的接口。便于系统的扩充,更新与灵活配置,易于实现系统的模块化。便于设备的软件设计,所有接口的软件对不同的接口地址进行操作。便于故障诊断和维修,同时也能降低成本。2、引入总线会导致什么问题,如何解决?引入总线后,总线上...

2020-04-22 22:08:28 624

原创 计组(五)中央处理器

流水线1、流水线的特点计算机的流水线把一个重复的过程分解为若干个子过程,每个子过程与其他的子过程并行执行,由于采用了流水线技术,只需要增加少量的硬件就可以吧计算的运行速度提高好几倍,因此,在计算机中普遍采用这个技术。2、指令的分段指令一般分为以下几个阶段:1、取值:根据PC的内容访问主存,取出的指令放入IR(指令寄存器)中,2、分析(译码):对指令操作码进行译码,按照给定的寻址方式和地...

2020-04-22 21:54:29 605

转载 TCP Nagle算法

前段时间面试美团的时候被问到了TCP的Nagle算法,当时完全没有印象学过这么一个东西,现在将其记录如下:Nagle算法nagle算法用于处理小报文段(微小分组)的发送问题nagle算法的核心思想是允许网络中最多只能有一个小分组被发送,而待发送的其它小分组会被重新分组成一个”较大的”小分组,等收到上一个小分组的应答后再发送nagle算法可以减少网络中微小分组的数量,比如客户端需要依...

2020-04-22 20:29:40 298

原创 计组(四)指令系统

1、数据寻址方式隐含寻址:操作数的地址不明显给出,隐含在指令中立即寻址:给出的不是操作数的地址,而是操作数的本身直接寻址:直接给出操作数的真实地址间接寻址:给出操作数有效地址所在的存储单元的地址寄存器寻址:直接给出操作数所在寄存器的编号寄存器间接寻址:给出存有操作数所在存储单元地址的的寄存器编号相对寻址;把程序计数器PC的内容加上指令格式中的形式地址基址寻址:将基址...

2020-04-21 23:21:44 670

原创 计组(三)存储系统

1、存储器的层次结构体现在哪儿?为何要分这些层次?计算机如何管理这些层次?主要体现在cache-主存和主存-辅存两个存储层次上。cache-主存的这个层次,主要对CPU访存起到加速的作用。主存-辅存这个层次主要是对主存起到扩容的作用综合上述两个存储层次,从整体上来看,整个存储系统就达到了速度快,容量大,位价低的优化效果2、存取周期和存取时间呦呵区别?存取周期和存储时间的主要区别...

2020-04-21 22:42:43 343

原创 计组(二)数的表示和运算

1、原码,补码,反码,移码的数据表示范围。(以8比特为例)原码:-127——+127(有正负零)补码:-128——+127(只有正零,10000000表示-128)反码:-127——+127(只有x0=0,数值位不变,x0=1,数值位取反)移码:-128——+127(补码的符号位取反)2、计算机在字长足够的情况下能够表示所有的浮点数吗?如果不能,请举出反例。二进制计算机只能...

2020-04-21 10:25:01 275

原创 计组(一)计算机系统概述

1、翻译程序,解释程序,编译程序,汇编程序的区别与联系翻译程序是指吧高级语言程序翻译成机器语言程序(目标代码)的软件,翻译程序包含解释程序和编译程序解释程序简单来说就是边解释边执行,如python,JavaScript等语言采用的就是解释程序。编译程序:它将高级语言一次性地全部翻译成目标程序,每次执行程序时都只需要执行目标程序汇编程序:汇编程序也是一种计算机语言翻译程序,它把汇编语...

2020-04-20 23:24:07 425

原创 组合总数问题——LeetCode 39 40

题意:给定一个无重复元素的数组candidates和一个目标数target,找出candidates中所有可以使数字和为target的组合。candidates中的数字可以无限制重复被选取。说明:所有数字(包括target)都是正整数。解集不能包含重复的组合。示例1:输入: candidates = [2,3,6,7], target = 7,所...

2020-04-20 22:02:35 196

原创 求一个数字字符串的所有合法的IP地址

近日在面试美团的时候手撕一道回溯法的算法题,题意如下:给定一个数字字符串,要求将这个数字字符串进行分割,使得分割的结果为有效的IP地址。样例输入:25525511135样例输出:255.255.11.135, 255.255.111.35这道题其实可以看做是字符串分段问题,再输入的字符串中加入三个点,将字符串分割成四段,每一段必须合法,求所有可能的情况。目前...

2020-04-19 21:51:25 3801

原创 由二叉树的中序后序遍历序列确定先序遍历序列

思路:只讲解如何通过中序后序遍历序列来构建二叉树:假设递归的过程中某部的后序序列区间为[postL,postR],中序序列的区间为[inL, inR],那么由后序序列的性质可知,后序序列的最后一个元素post[postR]即为根节点。那么,我们在中序序列中找到一个位置i,使得in[i]==post[postR],这样就找到了中序序列的根节点。那么锁子书中的节点的个数numLeft=i-inL...

2020-04-19 16:30:49 383

原创 统计字符串中出现次数最多的单词

题意令“单词”定义为大小写字母和数字的组合,给出一个字符串,问出现次数最多的单词机器出现的次数(一切除了大小写字母和数字之外的字符都作为单词的分隔符),其中字母不区分大小写,且最后按照小写字母输出。思路:从给定的字符串中分割出“单词”,计数出现次数最多的单词(用map实现)#include<iostream>#include <string>#incl...

2020-04-19 10:23:22 2489

原创 背包问题

之前看《算法笔记》的时候发现背包问题那里有点难懂,近日看到好多题目都和背包问题有关,特此整理一下:1 01背包问题1.1 问题描述:有n件物品,每件物品的重量是w[i],价值为c[i]。现在有一个容量为V的包,问如何选择物品放入背包中,使得背包中的物品的总价值最大。其中每个物品都只有一件。注意到,01背包问题的“01”也就体现在每个物品只有一件。1.2 基本思路:如果采用暴力枚举的...

2020-04-18 21:44:07 300

原创 找出一个二维数组中的最大的正方形

一个二维数组中的值只有0和1,现在想要找出这个数组中的最大的1所构成的正方形, 要求输出这个正方形的面积这是华为笔试的一道题目, 拿到这个题的第一个想法就是循环套循环, 但是发现时间复杂度太高了,无法AC, 后面也没有做出来这一题, 笔试结束后在网上看了下, 大家给出的是动态规划的方法来做, 现在将这个算法整理如下;首先, 定义一个和原来的矩阵matrix同等大小的矩阵dp[maxn]...

2020-04-15 10:51:11 1290

原创 指针作为函数参数传参的问题

在大一的时候就遇到的一个当时一直懂得不太透彻的问题: 使用函数来交换两个变量的值. 现在常常用到algorithm头文件里的swap函数, 因此决定整理一下这个问题. 希望能对后来者有所帮助.首先, 要知道的一个结论是函数参数的传递是单向的, 也就是实参→形参, 无法完成形参→实参的参数传递.因此, 像下面这种写法无法完成两个变量值的交换:void swap(int a, int b) {...

2020-04-15 00:03:49 366

原创 求字符串的全排列

近日参加华为春招的时候被面试官问了一个全排列的问题,当时没有想起来,现在记录一下。

2020-04-14 23:13:04 203

原创 链表中每两个节点交换位置

LeetCode上的一道两两交换链表节点的题目:如下给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例:给定 1->2->3->4, 你应该返回 2->1->4->3.使用迭代法求解时遇到了一个想了一晚上的问题,记录如下:首先,官方给出的题解如下:/**...

2020-04-14 21:48:29 4628

原创 判断一个数字是否是回文数

题意:判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。

2020-04-14 12:30:26 1231

原创 标识符和名字

标识符是一个以字母开头的,有字母和数字组成的字符串名字标识程序中的对象,(类似于变量名)举例:对于字符串Jordan,我们不知道它所指定的具体是什么,乔丹?or约旦?所以此时称他为标识符。相应的,如果Jordan和乔丹或者约旦绑定了(binding),那么这个标识符就变成了名称(类似于变量名)名字的意义和属性 值:单元中的内容 属性:类型和作用域 名字的说明方...

2020-04-13 18:41:49 3268

原创 TCP的有限状态机

昨天面试的时候被面试官问了TCP的有限状态机,状态机一直听说过,但是没有去了解是什么,当时答的是“我可能知道有这么个东西,但是不清楚它叫有限状态机”,今天去看了一下,果然是知道有这个东西,但是不清楚叫有限状态机。现在整理一下。以下行文:先介绍状态机,再介绍TCP状态机。状态机状态机:顾名思义,状态转换,既然需要状态转换,就需要有状态(State),状态之间转换需要转换条件(Gua...

2020-04-10 12:06:25 484

原创 先序中序确定后序

// 中序先序确定后序.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。//#include <iostream>#include <cstdio>#include <stack>#include <algorithm>using namespace std;const int maxn = 50;str...

2020-04-09 14:48:58 388

转载 接口和抽象类的区别(java)

抽象类抽象方法必须用abstract关键字进行修饰。如果一个类含有抽象方法,则称这个类为抽象类,抽象类必须在类前用abstract关键字修饰。因为抽象类中含有无具体实现的方法,所以不能用抽象类创建对象。下面要注意一个问题:在《JAVA编程思想》一书中,将抽象类定义为“包含抽象方法的类”,但是后面发现如果一个类不包含抽象方法,只是用abstract修饰的话也是抽象类。也就是说抽象类不一定必须...

2020-04-08 22:01:28 154

转载 接口中 public static final的关键字的作用

static是为了让其成为类的成员,而不是对象的成员,这样用起来就方便了 public是为了方便访问 final则是表明这是个常量,不能修改 private的对象,然后定义get、set是为了访问控制,是一种常规的封装 综上,public static final可以让访问变得很方便,而且不会被修改。一般可以放配置信息,还有一些状态码的定义。 ...

2020-04-08 19:24:41 550

原创 软件工程学习笔记

复习软件工程时的一篇笔记,总结了一些书上的重点,部分需要结合教材中的实例进行理解的作图知识点没有进行具体总结。参考资料:软件工程概论(第六版)

2019-01-12 17:18:31 3267

空空如也

空空如也

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

TA关注的人

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