自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

基尔霍夫的猫

songwei0709@buaa.edu.cn

  • 博客(69)
  • 资源 (3)
  • 收藏
  • 关注

原创 无题

1024快乐

2019-10-24 09:25:11 56

原创 使用gitee(码云)提升git clone的速度

利用开源中国提供的代码仓库开源中国提供的代码仓库提供了一个功能,就是它可以将github账号中的代码 clone 到开源中国的账户中去。这个代码仓库叫做 码云 。传送们: https://gitee.com/1 将github上面你想要搞下来的项目首先 frok 到你自己的github的账户中去。耗时:一瞬间2 登录gitee,没有的自行注册。网页中有添加项目的按钮,一个加号。点击加号...

2019-08-27 16:07:27 2029

原创 [一步步学数据结构与算法 21]-哈希算法(下)

1.负载均衡1.1.需求如何实现一个会话粘滞(session sticky)的负载均衡算法?也就是说,在一次会话中的所有请求都路由到同一个服务器上。1.2.解决方案通过哈希算法对客户端IP或会话ID计算哈希值,将取得的哈希值与服务器列表的大小进行取模运算,最终得到的值就是应该被路由到的服务器编号。这样,就可以把同一个IP过来的请求都路由到同一个后端服务器上。2.数据分片2.1.如何统计...

2019-08-05 16:35:20 65

原创 IMU orientation Filter developed by Sebastian Madgwick(IMU数据融合)

一篇写的非常好的解析:[Madgwick IMU Filter](https://www.cnblogs.com/JingeTU/p/7767999.html)关于Madgwick算法的介绍:[Madgwick算法(上)](https://blog.csdn.net/shenxiaolu1984/article/details/50650494)[Madgwick算法(下)](http...

2019-08-05 15:25:04 476

原创 解决Python(pip)安装库文件过慢的方法

暂时换源sudo pip3 install xxxx[要安装的库名称] -i https://pypi.douban.com/simple/

2019-08-03 13:15:48 254

原创 [一步步学数据结构与算法 20]-哈希算法(上)

带着问题来学习:1.如何防止数据库中的用户信息被脱库?2.你会如何存储用户密码这么重要的数据吗?仅仅 MD5 加密一下存储就够了吗?3.在实际开发中,我们应该如何用哈希算法解决问题?一、什么是哈希算法?1.定义将任意长度的二进制值串映射成固定长度的二进制值串,这个映射的规则就是哈希算法,而通过原始数据映射之后得到的二进制值串就是哈希值。2.如何设计一个优秀的哈希算法?①单向哈希:...

2019-08-03 09:46:09 115

原创 [一步步学数据结构与算法 19]-散列表(下)

带着问题去学习:1.为什么散列表和链表经常放在一起使用?2.散列表和链表如何组合起来使用?一、为什么散列表和链表经常放在一起使用?1.散列表的优点:支持高效的数据插入、删除和查找操作2.散列表的缺点:不支持快速顺序遍历散列表中的数据3.如何按照顺序快速遍历散列表的数据?只能将数据转移到数组,然后排序,最后再遍历数据。4.我们知道散列表是动态的数据结构,需要频繁的插入和删除数据,那么每...

2019-08-02 09:31:01 68

原创 [一步步学数据结构与算法 18]-散列表(中)

面试题目:如何设计一个工业级的散列函数?思路:何为一个工业级的散列表?工业级的散列表应该具有哪些特性?结合学过的知识,我觉的应该有这样的要求:1.支持快速的查询、插入、删除操作;2.内存占用合理,不能浪费过多空间;3.性能稳定,在极端情况下,散列表的性能也不会退化到无法接受的情况。方案:如何设计这样一个散列表呢?根据前面讲到的知识,我会从3个方面来考虑设计思路:1.设计一个合适的散...

2019-08-01 09:30:02 49

转载 Deep Learning for NLP with Pytorch-序列模型和LSTM网络(长短记忆网络)

之前我们已经学过了许多的前馈网络. 所谓前馈网络, 就是网络中不会保存状态. 然而有时 这并不是我们想要的效果. 在自然语言处理 (NLP, Natural Language Processing) 中, 序列模型是一个核心的概念. 所谓序列模型, 即输入依赖于时间信息的模型. 一个典型的序列模型是隐马尔科夫模型 (HMM, Hidden Markov Model). 另一个序列模型的例子是条件随...

2019-07-31 09:47:38 148

原创 [一步步学数据结构与算法 18]-散列表(上)

一、散列表的由来?1.散列表来源于数组,它借助散列函数对数组这种数据结构进行扩展,利用的是数组支持按照下标随机访问元素的特性。2.需要存储在散列表中的数据我们称为键,将键转化为数组下标的方法称为散列函数,散列函数的计算结果称为散列值。3.将数据存储在散列值对应的数组下标位置。二、如何设计散列函数?总结3点设计散列函数的基本要求1.散列函数计算得到的散列值是一个非负整数。2.若key1...

2019-07-31 09:31:54 67

原创 [一步步学数据结构与算法 17]-跳表

一、什么是跳表?为一个值有序的链表建立多级索引,比如每2个节点提取一个节点到上一级,我们把抽出来的那一级叫做索引或索引层。以此类推,对于节点数为n的链表,大约可以建立log2n-1级索引。像这种为链表建立多级索引的数据结构就称为跳表。二、跳表的时间复杂度?1.计算跳表的高度如果链表有n个节点,每2个节点抽取抽出一个节点作为上一级索引的节点,那第1级索引的节点个数大约是n/2,第2级索引的节...

2019-07-30 09:34:41 199

原创 [一步步学数据结构与算法 16]-二分查找(下)

一、四种常见的二分查找变形问题1.查找第一个值等于给定值的元素public int bsearch(int[] a, int n, int value) { int low = 0; int high = n - 1; while (low <= high) { int mid = low + ((high - low) >> 1); if (a...

2019-07-29 16:32:55 51

原创 [一步步学数据结构与算法 15]-二分查找(上)

一、什么是二分查找?二分查找针对的是一个有序的数据集合,每次通过跟区间中间的元素对比,将待查找的区间缩小为之前的一半,直到找到要查找的元素,或者区间缩小为0。二、时间复杂度分析?1.时间复杂度假设数据大小是n,每次查找后数据都会缩小为原来的一半,最坏的情况下,直到查找区间被缩小为空,才停止。所以,每次查找的数据大小是:n,n/2,n/4,…,n/(2k),…,这是一个等比数列。当n/(2k...

2019-07-29 09:39:49 70 1

原创 [一步步学数据结构与算法 14]-排序优化

一、如何选择合适的排序算法?1.排序算法一览表2.为什选择快速排序?1)线性排序时间复杂度很低但使用场景特殊,如果要写一个通用排序函数,不能选择线性排序。2)为了兼顾任意规模数据的排序,一般会首选时间复杂度为O(nlogn)的排序算法来实现排序函数。3)同为O(nlogn)的快排和归并排序相比,归并排序不是原地排序算法,所以最优的选择是快排。二、如何优化快速排序?导致快排时间复杂度...

2019-07-26 13:25:28 47

原创 [一步步学数据结构与算法 13]-线性排序

一、线性排序算法介绍1.线性排序算法包括桶排序、计数排序、基数排序。2.线性排序算法的时间复杂度为O(n)。3.此3种排序算法都不涉及元素之间的比较操作,是非基于比较的排序算法。4.对排序数据的要求很苛刻,重点掌握此3种排序算法的适用场景。二、桶排序(Bucket sort)1.算法原理:1)将要排序的数据分到几个有序的桶里,每个桶里的数据再单独进行快速排序。2)桶内排完序之后,再...

2019-07-25 13:09:46 50

原创 [一步步学数据结构与算法 12]-排序(下)

三、快速排序1.算法原理快排的思想是这样的:如果要排序数组中下标从p到r之间的一组数据,我们选择p到r之间的任意一个数据作为pivot(分区点)。然后遍历p到r之间的数据,将小于pivot的放到左边,将大于pivot的放到右边,将povit放到中间。经过这一步之后,数组p到r之间的数据就分成了3部分,前面p到q-1之间都是小于povit的,中间是povit,后面的q+1到r之间是大于povit...

2019-07-24 10:00:28 53

翻译 Stereo Magnification: 使用多平面图像学习视图合成-论文翻译

简介过去十年,摄影经历了一场巨变。手机摄像头逐渐取代了傻瓜相机,并且开始与数码单反产生竞争。这一变化是由不断提高的手机相机图像质量所推动的,这不仅仅得益于更好的硬件,还得益于像高动态范围光照和合成散焦这样的图形摄影功能。最近的许多创新都视图复制传统相机的功能。然而,手机上新型传感器的飞速发展,如多镜头和深度传感器,使其应用超越了传统摄影。特别的是,双摄手机越来越普遍。虽然立体相机的历史和摄影差...

2018-11-26 21:01:56 950 3

原创 [一步步学数据结构与算法 11]-排序(上)

一、排序方法与复杂度归类(1)几种最经典、最常用的排序方法:冒泡排序、插入排序、选择排序、快速排序、归并排序、计数排序、基数排序、桶排序。(2)复杂度归类冒泡排序、插入排序、选择排序 O(n^2)快速排序、归并排序 O(nlogn)计数排序、基数排序、桶排序 O(n)二、如何分析一个“排序算法”?&lt;1&gt;算法的执行效率最好、最坏、平均情况时间复杂度。时间复杂度的系数、...

2018-10-17 10:06:42 120

原创 [一步步学数据结构与算法 10]-递归

一、什么是递归?1.递归是一种非常高效、简洁的编码技巧,一种应用非常广泛的算法,比如DFS深度优先搜索、前中后序二叉树遍历等都是使用递归。2.方法或函数调用自身的方式称为递归调用,调用称为递,返回称为归。3.基本上,所有的递归问题都可以用递推公式来表示,比如f(n) = f(n-1) + 1;f(n) = f(n-1) + f(n-2);f(n)=n*f(n-1);二、为什么使用递...

2018-10-12 16:38:03 126

原创 [一步步学数据结构与算法 09]-队列

一、什么是队列?1.先进者先出,这就是典型的“队列”结构。2.支持两个操作:入队enqueue(),放一个数据到队尾;出队dequeue(),从队头取一个元素。3.所以,和栈一样,队列也是一种操作受限的线性表。二、如何实现队列?1.队列APIpublic interface Queue&lt;T&gt; {public void enqueue(T item); //入队publi...

2018-10-12 16:32:35 117

原创 合并两个有序链表

题目:输入两个递增排序的链表,合并这两个链表并使新链表中的结点仍然是按照递增排序的。例如下图中的链表1和链表2,则合并之后的升序链表如链表3所示。注:链表1和链表2是两个递增排序的链表,合并这两个链表得到升序链表为链表3.首先分析合并两个链表的过程。我们的分析从合并两个链表的头结点开始。链表1的头结点的值小于链表2的头结点的值,因此链表1的头结点将是合并后链表的头结点。如下图所示。  链...

2018-10-10 15:40:25 349

原创 [一步步学数据结构与算法 08]- 栈

一、什么是栈?1.后进者先出,先进者后出,这就是典型的“栈”结构。2.从栈的操作特性来看,是一种“操作受限”的线性表,只允许在端插入和删除数据。二、为什么需要栈?1.栈是一种操作受限的数据结构,其操作特性用数组和链表均可实现。2.但,任何数据结构都是对特定应用场景的抽象,数组和链表虽然使用起来更加灵活,但却暴露了几乎所有的操作,难免会引发错误操作的风险。3.所以,当某个数据集合只涉及在...

2018-10-08 19:15:46 123

原创 反转链表的算法实现

题目:定义一个函数,输入一个链表的头结点,反转该链表并输出反转后链表的头结点。下面给出了链表结点的定义:struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { }};分析:  链表前后元素的关联就是通过指针实现...

2018-10-07 16:09:08 228

原创 [一步步学数据结构与算法 07]-链表(下)

一、理解指针或引用的含义1.含义:将某个变量(对象)赋值给指针(引用),实际上就是就是将这个变量(对象)的地址赋值给指针(引用)。2.示例:p—&gt;next = q; //表示p节点的后继指针存储了q节点的内存地址。p—&gt;next = p—&gt;next—&gt;next;// 表示p节点的后继指针存储了p节点的下下个节点的内存地址。二、警惕指针丢失和内存泄漏(单链表)1...

2018-10-06 16:48:23 121

原创 [一步步学数据结构与算法 06]-链表(上)

一、什么是链表?1.和数组一样,链表也是一种线性表。2.从内存结构来看,链表的内存结构是不连续的内存空间,是将一组零散的内存块串联起来,从而进行数据存储的数据结构。3.链表中的每一个内存块被称为节点Node。节点除了存储数据外,还需记录链上下一个节点的地址,即后继指针next。二、为什么使用链表?即链表的特点1.插入、删除数据效率高O(1)级别(只需更改指针指向即可),随机访问效率低O(...

2018-10-06 16:25:33 145

原创 [一步步学数据结构与算法 05]-数组

数组看起来简单基础,但是很多人没有理解这个数据结构的精髓。带着为什么数组要从0开始编号,而不是从1开始的问题,进入主题。

2018-10-02 15:53:12 142

原创 [一步步学数据结构与算法 04]-时间与空间复杂度(下)

一、复杂度分析的4个概念1.最坏情况时间复杂度:代码在最理想情况下执行的时间复杂度。2.最好情况时间复杂度:代码在最坏情况下执行的时间复杂度。3.平均时间复杂度:用代码在所有情况下执行的次数的加权平均值表示。4.均摊时间复杂度:在代码执行的所有复杂度情况中绝大部分是低级别的复杂度,个别情况是高级别复杂度且发生具有时序关系时,可以将个别高级别复杂度均摊到低级别复杂度上。基本上均摊结果就等于低...

2018-09-29 14:19:27 105

原创 [一步步学数据结构与算法 03]-时间与空间复杂度(上)

一、什么是复杂度分析?1.数据结构和算法解决是“如何让计算机更快时间、更省空间的解决问题”。2.因此需从执行时间和占用空间两个维度来评估数据结构和算法的性能。3.分别用时间复杂度和空间复杂度两个概念来描述性能问题,二者统称为复杂度。4.复杂度描述的是算法执行时间(或占用空间)与数据规模的增长关系。二、为什么要进行复杂度分析?1.和性能测试相比,复杂度分析有不依赖执行环境、成本低、效率高...

2018-09-26 19:04:24 146

原创 [一步步学数据结构与算法 02] - 算法学习思维导图

2018-09-24 16:29:32 172

原创 [一步步学数据结构与算法 01]-如何学习数据结构与算法?

数据结构是什么:数据结构指的是“一组数据的存储结构”,算法指的是“操作数据的一组方法”。数据结构是为算法服务的,算法是要作用再特定的数据结构上的。需要学什么:效率和资源消耗的度量衡–复杂度分析。最常用、最基础的20个数据结构与算法,学习他们的:“来历”、“特点”、“适合解决什么问题”和“实际的应用场景”。数据结构:数组、链表、栈、队列、散列表、二叉树‘、堆、跳表、图、Tire树算法...

2018-09-24 16:22:00 399

原创 爬虫复习笔记

一、”大数据时代”,数据获取的方式:企业生产的用户数据:大型互联网公司有海量用户,所以他们积累数据有天然的优势。 有数据意识的中小型企业,也开始积累的数据。数据管理咨询公司:通常这样的公司有很庞大的数据采集团队,一般会通过市场调研、问卷调查、固定的样本检测, 和各行各业的公司进行合作、专家对话(数据积累很多年了,最后得出科研结果)来采集数据。政府/机构提供的

2018-01-03 19:22:27 261

原创 Django复习笔记

高可扩展性 向后兼容 低耦合,高内聚项目的入口:manage.py 项目的配置:test1 项目的开发:自定义应用虚拟环境:workon,mkvirtualenv,rmvirtualenv,deactivate pip list,pip install django的命令:django-admin startproject python manage.py starta

2018-01-03 18:12:16 345

原创 jquery学习

jQuery介绍是一个轻量级的js框架/库,其宗旨是write less do more。jQuery对象js的对象叫做dom对象 使用jQuery框架产生的对象是jQuery对象,是对dom对象的包装。jQuery下的对象方法和dom对象方法不能混用,只能各用个的。 约定:如果获取的是 jQuery 对象, 那么要在变量前面加上$//基本语法$(selector).action()

2017-08-21 15:10:13 295

原创 JavaScript基础

JavaScript介绍你不知道它是什么就学?这就是一个网页嵌入式脚本语言…仅此而已JavaScript组成一个完整的 JavaScript 实现是由以下 3 个不同部分组成的:核心(ECMAScript) 文档对象模型(DOM) Document object model (整合js,css,html)浏览器对象模型(BOM) Broswer object model(整合js和浏览器)

2017-08-14 15:22:25 321

原创 CSS学习

CSS 概述 CSS 指层叠样式表 (Cascading Style Sheets),样式定义了如何显示 HTML文件中的标签元素,CSS是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。CSS语法CSS 规则由两个主要的部分构成:选择器,以及一条或多条

2017-08-08 16:02:24 532

原创 HTML学习-2

表单标签form功能:表单用于向服务器传输数据,从而实现用户与Web服务器的交互表单能够包含input系列标签,比如文本字段、复选框、单选框、提交按钮等等。表单还可以包含textarea、select、fieldset和 label标签。表单属性action: 表单提交到哪.一般指向服务器端一个程序,程序接收到表单提交过来的数据(即表单元素值)作相应处理,比如https://www.sogou.co

2017-08-08 15:02:09 224

原创 HTML基础学习-1

Web的本质就是利用浏览器访问socket服务端,socket服务端收到请求回复数据提供给浏览器进行渲染显示HTML基础import socketdef main(): sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.bind(('localhost',8081)) #通过浏览器访问该绑定端口

2017-08-07 18:58:41 380

原创 Python学习之socket编程(基于tcp)

一客户端服务端架构二OSI七层协议为何学习socket一定要先学习互联网协议Socket层套接字工作流程tcp-socket一、客户端/服务端架构即C/S架构,包括 1.硬件C/S架构(打印机) 2.软件C/S架构(web服务) 美好的愿望:   最常用的软件服务器是 Web 服务器。一台机器里放一些网页或 Web 应用程序,然后启动服务。这样的服务器的任务就是接受客户的请求,把网

2017-07-10 15:47:15 425

转载 python学习之小工具汇总

以后会持续更新的。 今天发现了一款非常好的在线debug工具python在线debug

2017-06-29 16:40:55 243

原创 python中dump与dumps的区别

"""Python3 JSON模块的使用参考链接:https://docs.python.org/3/library/json.html这里只是介绍最常用的dump、dumps和load、loads"""import json# 自定义了一个简单的数据(Python中的字典类型),要想Python中的字典能够被序列化到json文件中请使用双引号!双引号!双引号!data_obj = {

2017-06-29 15:26:21 20904

初学者练习python编程的100个小程序

初学者练习python编程的100个小程序,大部分题目都有答案。

2017-06-07

Pycharm使用秘籍

Pycharm使用教程,初学python的同学可能都会使用Pycharm。

2018-10-18

北京航空航天大学991数据结构与C程序设计1998-2015年真题

北京航空航天大学991数据结构与C程序设计1998-2015年真题

2017-08-14

空空如也

空空如也

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

TA关注的人 TA的粉丝

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