自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 python 常用库

1. random 产生随机数import randomrandom.choice(list1) 从list中随机返回一个数random.random() 产生0 - 1 的随机数random.uniform(a, b) 产生 a- b 之间的随机数2.Queueimport queuea = queue.Queue()a.put()a.get()3.Heapimport heapqheapq.heappush(queue, item)heap..

2020-09-30 06:45:02 148

原创 图中的复杂算法

1.求最小距离 Dijkstra algorithm其实就是一个BFS问题,只是BFS运行的时候每次是入queue,Dijkstra每次是入heap(每次出最小的)。2.求一个线性序列 满足若有 U 到 V的edge, U一定在V之前 Topology sort其实就是个DFS问题,只是每次遇到新节点的时候,不print,而是入stack,最后输出stack。note:必须是有向无环的!!! 有环是无法得到序列的。3.强连接元素4. 最小生成树寻找能将所有ver...

2020-09-08 07:41:02 309

原创 Critical Connections in a Network ( Tarjan Algorithm )

寻找一个图中所有的关键边,关键边的定义是:如果这个边去除,那么所有节点就不能都到达了(不连通)。譬如在上图中,[1, 3]这条边是关键边。可以使用Tarjan Algorithm来解决这个这个问题:https://www.youtube.com/watch?v=thLQYBlz2DM基本的思路是,使用两个数组: dic 和 low来分别存储 节点访问的顺序 和 当前...

2019-11-18 04:08:13 344

原创 快速sort一个字符串 && 快速寻找子串 Sort a list of string and search for a substring in a string

1. 快速sort一个list,list里面的元素都是stringeg: ["ab","is","cs","iw"]我们需要每一位每一位的比较,如果使用quick sort对每一位来排序,复杂度太高了。首先介绍:key-indexed counting:(0(n))时间首先得到出现的字母的频率,按照字母顺序来存储然后将count[i+1] = count[i] + coun...

2019-10-25 03:47:48 204

原创 位操作来实现加减乘除

def add(a, b): if b == 0: #当carry位为0时,跳出 return a sum = a ^ b; #进行异或操作,得到不考虑进位的结果 carry = (a & b) << 1 #用与操作得到进位,并且将进位左移一位 return add(sum, carry)a = 10b = 1def...

2019-10-23 05:44:41 381

原创 Trie or Prefix Tree

一个prefix tree是存储字符串的数据结构,他每一个节点有无数个子节点,每一个节点表示一个字母。从子节点走到相应的结尾节点,经过的字母连接起来就是相应的字符串.在定义数据结构的时候,我们首先定义ListNode:class ListNode: def __init__(self, val, flag): self.val = val ...

2019-09-20 11:05:34 103

原创 Python binary and decimal transformation.

将 一个十进制的数转换为 2 进制:a = 10aB = bin(a)但是它不会自动变为32位,而是在最高位不是0的位置停下。将一个2进制数转化为10进制:AD = int(aB, 2)#第二个位置的2表示base是二进制(是从二进制转换成10进制的)...

2019-09-15 11:06:14 212

原创 Reverse a single linked list with 0(n) time complexity

LeetCode 92Reverse a linked list from positionmton. Do it in one-pass. 注意必须使用O(n)的复杂度来实现Note:1 ≤m≤n≤ length of list.Example:Input: 1->2->3->4->5->NULL, m = 2, n = 4Ou...

2019-08-05 17:46:32 160

原创 Everything about graph(algorithms in python)

1. DefinitionsVertex: 角, or Node.Edge: 边, or Edge.Weight: 权重,the cost to go from one node to another, following an edge.2.adjacent matrix 邻接矩阵使用一个二维数组来表达一个图:图中行跟列都表示节点,第v0行第v1列:表示从v0到v1...

2019-07-29 16:54:01 137

原创 Tree, priority queue and BST (python)

一.建立树结构:在自定义的二叉树内,我们需要保存当前节点的值,其左子树和其右子树。同时还需定义插入函数,注意插入函数定义时需要考虑是否当前节点已经有了左子树或右子树,若已经存在,则应该在插入新节点后接上原子树。class BinaryTree: def __init__(self, root):# initialization self.key = root ...

2019-07-22 16:02:11 238

原创 leetcode 33. Search in Rotated Sorted Array

In order to help me understand all the possible situations I should consider, I just draw a picture to make everything easier.So acutally there are four situations we should consider, we should first...

2019-07-15 14:50:37 122

原创 Basic sorting and searching

1. Sequential Search遍历一遍数组,发现相等则返回:复杂度 = O(n), 平均时间为 n/22. Binary Search每次通过比较target和中间值List[middle]的大小关系改变start指针和end指针,每次都丢弃剩余数组的1/2。复杂度O(logN)while Start < End:if 中间值==target 则返回...

2019-07-08 21:21:42 186

原创 Http 协议和Java中 HttpServletRequst&Response 的关系

起因:在学习SpringMVC框架的过程中遇到了HttpServletRequest和HttpServletResponse这两个类。当前端发送请求后,后端通过SpringMVC的注解来映射到一个处理函数,他有HttpServletRquest和HttpServletResponse两个参数。等等,这逻辑好像不对!我还没处理request呢,为什么就已经有response了???而且还作为...

2019-07-01 16:14:47 255

原创 dynamic programming 常见动态规划题目(持续更新)

动态规划题目:最少硬币问题 Makechanges usingthe fewest coins: 0-1背包 0-1 package 最长回文子串 longest palindromic substring 最长公共子串 longest common subsequence 最长公共子序列 longest common substring 最长连续子串Maximum Subar...

2019-06-24 16:18:13 516

原创 R-CNN(Regions with CNN features)

本篇论文是目标检测的开山之作,之后的大部分文章都是基于本篇论文进行修改和优化得到的产物。之前的目标检测算法是穷举搜索(ExhaustiveSearch):使用一个窗口在图片上进行滑动,改变窗口的大小,继续扫描整张图像。通过寻找响应值最高的那个位置作为预测的目标。而本文是首先从图像中提取可能是物体的区域,然后对这些区域进行判断。这样的做的优点是过滤掉了一些无用的box ,节省了时间。 主要流程:1....

2018-03-30 10:15:35 990

原创 CNN(卷积层convolutional layer,激励层activating layer,池化层pooling,全连接层fully connected)

CNN产生的原因:当使用全连接的神经网络时,因为相邻两层之间的神经元都是有边相连的,当输入层的特征纬度非常高时(譬如图片),全连接网络需要被训练的参数就会非常多(参数太多,训练缓慢),CNN可以通过训练少量的参数从而进行特征提取。上图每一个边就代表一个需要训练的参数,可以直观的感受到需要训练的参数太多了。CNN的优点:1.相邻两层神经元部分相连。2.且同一层神经元的w(权重)和b(偏移)是共享的。...

2018-03-29 15:51:15 15529 2

原创 Solve the problem that pytorch does not support GTX9 graphic cards (pytorch新版本不支持GTX9系显卡的问题与解决方案)

最近在更新了系统后安装pytorch,发现会出现显卡太老已经不支持的问题:Found GPU0 GeForce GTX 960M which is of cuda capability 5.0. PyTorch no longer supports this GPU because it is too old.讲道理,我的960M也不算太渣的显卡吧,毕竟学生党买不起泰坦。在goo...

2018-03-26 14:44:06 6855 2

原创 Install Cuda+Cudnn+Pytorch+Caffe+Opencv in Linux

此次重装的原因:因为实验需要,我需要在Linux系统上安装Caffe和Opencv,但是在我安装的过程中,会发生包之间的依赖问题:libsdl1.2debian (= 1.2.15-10) 但是 1.2.15-10+rpi1 正要被安装 依赖: libasound2-dev 但是它将不会被安装 1.0.28-1+rpi1 ...

2018-03-10 16:36:06 1043

原创 Using Pytorch to sequentially read pictures(使用pytorch进行图像的顺序读取)。

使用pytorch进行图像的顺序读取。产生此次实验的原因:当我使用pytorch进行神经网络的训练时,需要每次向CNN传入一组图像,并且这些图片的存放位置是在两个文件夹中:A文件夹:图片1a,图片2a,图片3a……图片1000aB文件夹:图片1b, 图片2b,图片3b……图片1000b所以在每个循环里,我都希望能从A中取出图片Na,同时从B文件夹中取出对应的图片Nb。...

2017-08-18 10:16:22 6822 5

原创 Machine learning : Logistic regression 机器学习5:逻辑回归

Logistic regression上一节课我们发现,通过概率来生成的模型可以通过函数的变换而变成:这样的形式,这种形式仅仅有两个变量,即w和b,那么我们是不是可以不管概率论上的那一系列推导,而仅仅利用这个简单的公式来求得模型呢?答案是肯定的。这种方式叫做 Discriminative我们要使得这个概率最大最好,但是因为这个是连续的乘法,不容易求导,...

2017-08-08 10:53:01 285

原创 Machine Learning:Classification (分类classification)

深度学习笔记四本节课讲的内容是分类Classification.上一节讲的regression主要解决的是输入一串数字,输出一串数字(譬如对股票价格的预测)。跟regression不同的是,classification主要用于针对输入的多维数据,输出一个判断(譬如输入一个图片,判断是什么动物)有的人尝试使用 regression的方法来做,并且设定假如输出为1,判断为一个...

2017-07-19 17:36:55 2407

原创 从“1”开始学python

从"1"开始学python一.占位符与格式化输出 常见的占位符有: %d 整数占位符%f 浮点数%s 字符串%x 十六位进制整数 二.List and tuple和C++,java等语言一样,Python内部也提供表达一系列数据的数据类型,譬如list.List表达一组有序的集合,可以随时添加和删除其中的元素。 可以用len(classmat

2017-07-14 14:39:51 245

原创 Machine Learning: Gradient decent (机器学习3:使用梯度下降和退火算法得到全局最小值)

机器学习笔记三详细阐述使用Gradient descent梯度下降的方法,求得评价模型好坏的函数L(θ)的全局最小值。基本步骤为:首先从一个初始点θ0 开始,计算在该点下的偏导数,然后向偏导数为负的方向移动,一直重复这个步骤,直到偏导数为零的点。但是这里有对于每次移动的距离,我们需要精心的设定。因为如果每次移动的距离过大,可能会导致梯度下降跳过了最小值的点,如果每...

2017-07-13 14:28:20 7081 3

原创 Machine Learning(cross validation)来解决方差过大的问题

机器学习总结2(7月12日)本文章是我在学习了台湾大学教授李宏毅的机器学习课程后,针对其中的要点做的学习笔记。文笔不够优雅,水平不够高深。感兴趣的博友们请移步李宏毅老师的youtube专栏:https://www.youtube.com/channel/UC2ggjtuuWvxrHHHiaDH1dlQ或者在bilibili上观看网友搬运的视频:http://www.bilibi...

2017-07-12 18:00:32 1334

原创 Machine Learning liner regression 1:回归(regression)

机器学习总结一:(7月11日)本文章是我在学习了台湾大学教授李宏毅的机器学习课程后,针对其中的要点做的学习笔记。文笔不够优雅,水平不够高深。感兴趣的博友们请移步李宏毅老师的youtube专栏:https://www.youtube.com/channel/UC2ggjtuuWvxrHHHiaDH1dlQ或者在bilibili上观看网友搬运的视频:http://www.bilibili...

2017-07-12 17:54:48 337

原创 Software Testing 5 Using Selenium to automatically test.

Using Selenium to automatically test.1.Install SeleniumDownload Selenium IDE for FireFox in this website: https://addons.mozilla.org/en-US/firefox/addon/selenium-ide/If succeeded, you can see t...

2017-04-06 15:42:18 297

原创 Software Testing 4

/******************************************************* * Finds and prints n prime integers * Jeff Offutt, Spring 2003 ******************************************************/ ...

2017-04-06 15:42:09 335

原创 Software Testing 3 Learn to install and use Junit, Hamcrest and Eclemma

---恢复内容开始---Learn to install and use Junit,Hamcrest and Eclemma1.Installization1.1 JunitFirstly, download Junit 4.12 fromhttp://junit.org/junit4/In order to install Junit, open Eclip...

2017-04-06 15:42:04 331

原创 Software Testing 2

软件测试作业2王浩宇 3014218161 软工四班Fault in Program 1 lies in that x > 0, which should be corrected to: x >=0.Fault in Program 2 lies in that it iterates from the beginning so it only outputs ...

2017-04-06 15:42:00 534

原创 Software Testing one

Last semester our fianl assigments on Computer Graphics is to independently build a vedio game or produce an animation using OpenGl.I chose to make a 3D running game.In the game a young man are su...

2017-04-06 15:41:51 555

原创 fifteen puzzle A html based game

上学期做的一个小网站,一个关于fifteen puzzle的游戏,类似华龙道。玩家可以通过点击图片来移动之,白色的空白表示这是一个可以移动的空区域,游戏需要玩家不断的移动方块,来拼出一张完整的图片。...

2017-03-26 12:28:41 579

原创 reinforced learning project1 : Shortest Path

一.实验目标计算最佳策略:在下面的例子的基础上,自行设计一个问题,给出该问题的对应的MDP模型描述,然后分别用valueiteration 和 policyiteration算法计算出最佳策略。要求:实验语言不限,环境不限,能够用相应的算法完成即可。但在实验报告中必须解释说明清除实验问题,实验的基本思路以及实验结果二.实验步骤(1) 设计问题:寻...

2017-03-23 16:30:29 1028

原创 A running game built with OpenGL

一.上周完成任务:1.复习操作系统,完成考试。2.复习软件工程,完成考试。3.完成OpenGL上机作业:使用技术:设置光照(lighting) 设置材质纹理映射cubic Bézier 曲线人物运动效果:下周任务安排:1.学习Web开发课设计的内容:html, css。《中山大学web2.0讲义》,第2-5、8章。...

2016-12-30 17:07:03 484

原创 A pretty picture wall website(movie posters and comments)

十六周本周回顾:1.因本周周三上午有数学模型的考试,故在周三之前主要时间花在了数学模型的功课复习上。2.自学javascript(jason), html与css,完成了web开发的第一个小作业:一个图片墙的网站:...

2016-12-09 19:19:10 509

原创 XV6 operating system:xv6 Barriers

此次作业是使用环境变量(condition variables)来实现barriers.c这个函数。barrier.c的作用相当于一条起跑线,只用当所有的线程都到了起跑线的时候,系统才会允许线程继续运行(起跑),其中,先到的起跑线的进行需要等待后到起跑线的进程。首先根据作业要求,下载barrier.c并放到xv6的文件夹里,然后运行它:$ gcc -g -O2 -pthr...

2016-12-04 13:59:04 2458

原创 XV6 operating system: bigger files for xv6

操作系统9:bigger files forxv61.首先,根据题目要求,将CPUS := 1QEMUEXTRA = -snapshot这两行代码分别加入Makefile文件中的相应位置。2.然后打开param.h,将#define FSSIZE 1000改为: #define FSSIZE 200003.然后...

2016-11-27 13:46:47 4202 1

原创 XV6 operating system:Threads and Locking

操作系统学习笔记1:Threads and Locking决定开始写博客的原因是:之前学习操作系统课的时候,每周老师布置的都是MIT的公开作业。因为刚开始学习XV6的时候学习的都是其他人的博客,但是那个博主貌似做到homework5之后就不再继续写了。这里是我看的博主的网站链接:http://blog.csdn.net/column/details/xv6-jos.html...

2016-11-18 21:46:45 3397

空空如也

空空如也

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

TA关注的人

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