自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 资源 (20)
  • 收藏
  • 关注

原创 MIT算法导论公开课之课程笔记

MIT算法导论公开课之第1课 课程简介及算法分析MIT算法导论公开课之第2课 渐进符号、递归及解法MIT算法导论公开课之第3课 分治法MIT算法导论公开课之第4课 快排及随机化算法MIT算法导论公开课之第5课 线性时间排序MIT算法导论公开课之第6课 顺序统计、中值MIT算法导论公开课之第7课 哈希表MIT算法导论公开课之第8课 全域哈希和完全哈希MIT算法导论公开...

2018-08-30 10:40:26 11297 8

原创 MIT算法导论公开课之第23课 高级课题、缓存参数无关算法(二)

静态搜索树将N个元素有序的存储在一个完全二叉树的N个结点中。数据存储方式: 在树位于中间层的边的位置将其分割为两部分。 递归的分割上一步骤分割后产生的所有子树,将所有子树线性的存储在内存之中。 Ex: 存储传输量: 缓存相关的算法考虑缓存相关的算法一般是用来确定优化的上界。B-搜索树排序用N个元素构建搜索树,然后中序遍历这棵树。存储...

2018-08-30 09:33:29 519

原创 MIT算法导论公开课之第22课 高级课题、缓存参数无关算法(一)

现代计算机存储层次模型 - 现代计算机有多级缓存的机制,越靠近CPU的缓存容量越小,速度越快。 这样设计的原因,一方面是靠近CPU的缓存制作成本高,价格昂贵,另一方面是极限速度受电荷传导速度限制,存储容量做大必定会降低存取速度。 - Cost to access=latency+amount/bandwidth 可知在存储层次上越远离CPU延迟(latency)越长,计...

2018-08-30 08:48:12 1138 1

原创 MIT算法导论公开课之第21课 高级课题、并行算法(二)

矩阵乘法A、B为n x n的矩阵,计算矩阵C=A·B,使用分治法(使用将矩阵分块的策略)。算法伪码:Mult(C,A,B,n)//C=A·B Temp matrix T[1~n,1~n] if n=1 C[1,1] ← A[1,1]·B[1,1] else <partition matrices>//O(1)...

2018-08-30 08:24:10 574

原创 MIT算法导论公开课之第20课 高级课题、并行算法(一)

并行算法对于串行算法,一般只有一种基础模型(随机存取机器模型),而在并行领域,有许多种不同的并行算法模型和并行化模型,没有一种最佳模型的共识。本节课讨论的模型基于动态多线程的多核机器,它是为共享内存的编程而设计的。Ex:Fib(n) if n<2 return n x ← spawn Fib(n-1) y ← spawn Fib(n...

2018-08-29 19:31:30 956

原创 MIT算法导论公开课之第19课 最短路径算法、点的最短路径

单源点最短路径问题回顾1.未加权(或所有权值都相等)的图,使用BFS算法,时间为O(V+E)。2.无负权值边的图,使用Dijkstra算法,时间为O(E+V·lgV)。3.一般情况的图,使用Bellman-Ford算法,时间为O(V·E)。4.DAG(有向无环图),使用拓扑排序来得到顶点的顺序,运行一次Bellman-Ford算法,时间为O(V+E)。全对(All-pairs)...

2018-08-29 19:16:47 722

原创 MIT算法导论公开课之第18课 最短路径算法、Bellman和差分约束系统

Bellman-Ford 算法图G=(V,E),选取s∈V作为图的原点,此算法可计算最短路径δ(s,v)(v∈V)或报告出图中存在负权值的环路。Exercise在路径中存在负权值的环路时,将δ(s,v)设置为-∞。Bellman-Ford 算法伪码d[s] ← 0for each v∈V-{s} d[v] ← ∞for i ← 1 to |V|-1 ...

2018-08-29 19:00:11 1100

原创 MIT算法导论公开课之第17课 最短路径算法、Dijkstra算法、广度优先搜索

图的路径给定一个图G=(V,E)且每条边都通过函数w被赋予一个实数的权值。最短路径问题找到图中从顶点u到顶点v的最小权值的路径。最短路径权值问题:计算图中从顶点u到顶点v的路径的最小权值。δ(u,v)=min{w(P),P为从顶点u到顶点v的路径}(存在路径)δ(u,v)=∞(不存在路径)无最短路径的情况:1.图中存在权值和为负数的环形路径。...

2018-08-28 19:35:56 1075 1

原创 MIT算法导论公开课之第16课 贪婪算法、最小生成树

关于图的知识回顾(附录B)有向图(Digraph,Direct graph)G=(V,E),V为图的顶点集,E为边集,E∈V x V。无向图(Undirected graph)G=(V,E),E为无向的边集。|E|=O(V^2)连通图,对于图中的任意顶点,总有路径可以到达其他顶点,|E|>=|V|-1。对于连通图,则有lg|E|= O(lg(V^2))=O(lgV)=Ω(lg(|...

2018-08-28 18:10:58 1156

原创 MIT算法导论公开课之第15课 动态规划、最长公共子序列

动态规划(Dynamic programming): 动态规划是一种设计技巧,而不是一种特定的算法,就像分治法一样。最长公共子序列(Longest common subsequence)问题: 有两个序列,序列x[1~m],序列y[1~n],找到它们的最长公共子序列,子序列不需要在原序列中占用连续的位置(最长公共子串要求连续),子序列可能不唯一。Ex: x:A...

2018-08-28 17:49:37 1832

原创 MIT算法导论公开课之第14课 竞争性分析、自组织表

自组织表定义一个有n个元素的链表L。用户操作: 访问其中的元素Access(x)。 查找元素的位置Rank(x)(从表头到x的距离)。算法操作: 链表L可以通过交换相邻元素调整元素顺序,且置换代价为1。Ex: 在线算法 一个操作序列S每次只发送一步的操作请求,在线算法必须马上完成这步操作,不考虑后面的操作情况。离线算法: 离线算法可以预先看过操作序...

2018-08-24 19:21:09 650

原创 MIT算法导论公开课之第13课 平摊分析、表的扩增、势能方法

平摊分析(Amortized analysis)问题引入一个哈希表应该多大? 越大越好(哈希表越大搜索时间消耗越短)。 越小越好(哈希表越小占用存储空间越小)。 对于要存储n个元素的哈希表的大小最好为Θ(n)。当不知道要存储的元素数量时,如何设定哈希表的大小? 使用动态表的策略,当哈希表已满,再加入元素时(溢出),将哈希表扩大: 1.分配一个更大的...

2018-08-24 19:04:57 1727

原创 MIT算法导论公开课之第12课 跳跃表

动态搜索结构跳跃表(skip list)树堆(treap)红黑树(red black tree)B树(B tree)跳跃表一种简单、高效的动态搜索结构,使用了随机化算法。 插入删除操作的期望的运行时间为O(lgn),并且这种情况有很高的概率(≈1-1/n^α)。有序的链表 搜索一个排好序的链表所用时间为O(n),因为链表不支持随机访问。改...

2018-08-24 18:52:26 867

原创 MIT算法导论公开课之第11课 扩充的数据结构、动态有序统计和区间树

动态有序统计主要操作: OS-Select(i)//返回动态集中第i小的元素。 OS-Rank(x) //返回动态集排序序列中元素x的位置。新增数据: 在每个结点中保存其子树的结点个数。 size[x]=size[left[x]]+size[right[x]]+1 size[nil]=0 处理nil的通用技巧: 标记法,给空结...

2018-08-24 18:34:03 794 3

原创 MIT算法导论公开课之第10课 平衡搜索树

平衡搜索树一种搜索树结构,其维护一个n个元素的动态集,树高为O(lgn)。不同的平衡搜索树数据结构AVL trees2-3 trees2-3-4 treesB treesRed-black treesSkip listsTreaps红黑树红黑树是二叉搜索树,其每个结点都会附带一些额外的信息,被称为色域,红黑树的特性1.每个结点的色域值为黑色或红色,因此...

2018-08-23 19:46:10 703 2

原创 MIT算法导论公开课之第9课 二叉搜索树

二叉搜索树二叉搜索树(Binary Search Tree),它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉排序树。Ex: 二叉搜索树排序(BST sort):将数组A排序T ← ∅for i ← 1 t...

2018-08-23 19:22:10 811 1

原创 MIT算法导论公开课之第8课 全域哈希和完全哈希

哈希的缺陷对于任意的哈希函数而言,都存在一个不好的键集,使得所有键值都会哈希映射到同一个槽中。解决方案: 随机选择哈希函数,使其与输入哈希运算的键值情况相独立。全域哈希(universal hashing)定义:设U为键值的全域,H为哈希函数的一个有限集,H的哈希函数将U的键映射到哈希表的槽{0,1,2,…,m-1}里,并且满足: 对任意的x、y∈U,且x≠y,|...

2018-08-23 18:54:12 1425 1

原创 MIT算法导论公开课之第7课 哈希表

符号表问题表S中有n条记录,每条记录都有一个键值,并且有其他的一些数据(卫星数据)。允许的操作: 1.插入数据(S,x):S ← S∪{x} 2.删除数据(S,x):S ← S - {x} 3.查询数据(S,k):存在键值k对应的数据x,则返回x,否则返回nil(空值)。插入删除操作将S变为一个动态集合。直接映射表假设键值来自一个有m个元素的集合U{0,1...

2018-08-23 18:37:06 978

原创 MIT算法导论公开课之第6课 顺序统计、中值

顺序统计问题: 有n个无序的数,找到第k小的数(所有元素的值不相等)。朴素算法: 先排序,第k号元素即为第k小的数。 k=1时,即为最小值。 k=n时,即为最大值。 k=(n+1)/2向上或向下取整时,即为中位数。随机选择算法(随机化的分治算法): 定义函数Rand-Select(A,p,q,i)。 在数组A中获得第i小的数。 用分治...

2018-08-23 18:10:00 860

原创 MIT算法导论公开课之第5课 线性时间排序

排序算法的速度取决于所使用的计算机模型里允许的操作。常见排序快速排序(Θ(nlgn))(不稳定排序)(交换过程会破坏稳定性)堆排序 (Θ(nlgn))(不稳定排序)归并排序(Θ(nlgn))(稳定性排序)插入排序(Θ(n^2)) (稳定性排序)比较排序模型允许比较数的大小的操作。最快的时间复杂度为Θ(nlgn)。决策树模型Ex:对<a1,a2,a...

2018-08-22 19:45:16 861

原创 MIT算法导论公开课之第4课 快排及随机化算法

快速排序分治算法、“原地“排序、非常高效(通过微调)。步骤 1.选取一个关键数据 再根据其大小把原数组分为两个子数组,第一个数组中的数比关键数据小,第二个数组中的数比关键数据大。 2.递归的处理两个子数组的排序。 3.无。函数伪码partiton(A,p,q) x ← A[p] i ← p for j ← p+1 to q do...

2018-08-22 19:31:42 1173

原创 MIT算法导论公开课之第3课 分治法

分治法1. 将一个问题划分为若干个子问题。2. 递归的解决每一个子问题。3. 将子问题的解合并成为整个大问题的解。归并排序1. 将一个数组分为两个子数组。2. 递归的对每一个子数组进行排序。3. 合并两个有序子数组。运行时间 递归函数为T(n)=2T(n/2)+Θ(n)。 使用主方法,为case2 ,所以T(n)= Θ(nlgn)。二分查找在...

2018-08-22 19:16:17 1834

原创 MIT算法导论公开课之第2课 渐进符号、递归及解法

O符号(上界)f(n)=O(g(n)) (<=)存在c>0 n0>0 当n>=n0时 使得0<=f(n)<=cg(n)。O(g(n))表示符合上述条件的函数集,公式中的等号的作用类似于属于,所以等号不可逆。Ex f(n)=n^3+O(n^2) 存在h(n)属于O(

2018-08-21 19:55:56 2742 4

原创 MIT算法导论公开课之第1课 课程简介及算法分析

先修课程:离散数学、概率论、编程课程算法分析:算法分析是理论研究,是关于计算机性能和资源利用的研究(尤其关注性能)。比性能更重要的考虑因素:正确性、简洁性、可维护性、编程成本、稳定性、功能性、模块化、安全性、可扩展性、用户友好度。算法的重要性:算法将不可行变为可行。算法是一种描述程序行为的语言。排序问题:将一组数(A[1~n])按大小顺序(从小到大...

2018-08-21 18:42:17 3528

Xshell6 安装包

Xshell 6 是一款非常好用强大的终端模拟软件。可以在Windows界面下用来访问远端不同系统下的服务器。在这一新的版本中,有着全新的功能,需要的可自行下载使用。

2019-01-03

《TensorFlow 实战Google深度学习框架》(第2版)

本文档为《TensorFlow:实战Google深度学习框架》第2版电子版,为使用TensorFlow深度学习框架的入门参考书,旨在帮助读者以更快、更有效的方式上手TensorFlow和深度学习。书中省略了深度学习繁琐的数学模型推导,从实际应用问题出发,通过具体的TensorFlow样例程序介绍如何使用深度学习解决这些问题。《TensorFlow:实战Google深度学习框架》包含了深度学习的入门知识和大量实践经验,是走进这个更新、更火的人工智能领域的推荐参考书。

2018-11-09

《Python 学习手册》(第五版)(英文版)

此文档为《Python学习手册》的第五版,这本书每一章都包含关于Python语言的关键内容的独立的一课,并且包含了一个独特的“练习题”部分,其中带有实际的练习和测试,以便你可以练习新的技能并随着学习而测试自己的理解。你会发现众多带有注释的示例以及图表,它们将帮助你开始学习Python 3.0。

2018-08-31

MIT算法导论公开课的课程笔记(个人总结)

此文档压缩包为麻省理工学院的算法导论公开课的课程笔记,对应的课程视频资源为网易公开课的资源,需要的可自行下载。

2018-08-30

《Python机器学习及实践从零开始通往Kaggle竞赛之路》

本书面向所有对机器学习与数据挖掘的实践及竞赛感兴趣的读者,从零开始,以Python编程语言为基础,在不涉及大量数学模型与复杂编程知识的前提下,逐步带领读者熟悉并且掌握当下最流行的机器学习、数据挖掘与自然语言处理工具,如Scikitlearn、NLTK、Pandas、gensim、XGBoost、Google Tensorflow等。 全书共分4章。第1章简介篇,介绍机器学习概念与Python编程知识;第2章基础篇,讲述如何使用Scikitlearn作为基础机器学习工具;第3章进阶篇,涉及怎样借助高级技术或者模型进一步提升既有机器学习系统的性能;第4章竞赛篇,以Kaggle平台为对象,帮助读者一步步使用本书介绍过的模型和技巧,完成三项具有代表性的竞赛任务。

2018-06-02

《简明Python教程》

此书简单明了地介绍了如何使用 Python 语言进行编程,以教材与指南的形式为入门者介绍 Python 语言,非常适合初学者入手阅读。此压缩包内有PDF和EPUB两种格式的文档,方便不同需求的读者阅读。

2018-05-23

《挑战程序设计竞赛》(第2版)

此书对程序设计竞赛中的基础算法和经典问题进行了汇总,分为准备篇、初级篇、中级篇与高级篇4章。作者结合自己丰富的参赛经验,对严格筛选的110 多道各类试题进行了由浅入深、由易及难的细致讲解,并介绍了许多实用技巧。每章后附有习题,供读者练习,巩固所学,适合程序设计人员、程序设计竞赛爱好者以及高校计算机专业师生阅读。

2018-05-22

xgboost安装文件

此文件为python的外部机器学习扩展包xgboost安装文件,可实现较为高效的监督学习算法,方便快捷地建立预测模型。

2018-05-17

TensorFlow安装(Windows系统)

此文档为较为详细地介绍了TensorFlow 在windows系统中的安装方法,可帮助初学者快速的完成其的安装过程。

2018-05-15

AirPlayer(PC客户端)

AirPlayer是一款能够让iphone或ipad里的游戏、照片、视频等通过wifi到投射到电脑或电视屏幕上的软件。

2018-04-27

《深入理解OpenCV》

此书系统地介绍如何使用OpenCV来构建与计算机视觉相关的应用,如增强现实、车牌识别、人脸检测等。每章都会介绍一个典型的计算机视觉应用问题,并提供相关的背景介绍及全部源代码,为快速解决实际计算机视觉项目遇到的问题提供系统指南,适合OpenCV的初学者查阅使用。

2018-04-20

《 Linux内核0.11完全注释》

此书对 Linux 早期操作系统内核全部代码进行了详细全面的注释和说明,旨在使读者能够在尽量短的时间内对 Linux 的工作机理获得全面而深刻的理解,为进一步学习和研究 Linux 系统打下坚实的基础,非常适合想深入了解Linux系统的读者阅读。

2018-04-20

《 User Interface Design & Implementation》

此文档为MIT的 用户界面设计和实现(User Interface Design & Implementation)课程的官方讲义笔记,系统的介绍了用户界面设计的相关知识,并且其中结合多种例子进行分析,内容丰富且易于理解。

2018-04-20

sbt-launch.jar修改版

此jar包修改了sbt内默认配置连接的国外镜像资源, 改为使用阿里云提供的资源库, 解决了使用过程中的出现的错误。

2018-04-20

《ScipyLectureNotes》

此文档较为详细的介绍了python语言以及numpy、matplotlib、scipy scikit-learn等库,认真学习此文档的内容可以熟练的使用python解决机器学习问题。

2017-12-31

《An introduction to machine learning with scikit-learn》

此文档简单介绍了python的sklearn库,方便机器学习的初学者快速了解这个库的相关内容,以尽快的进入实践阶段。

2017-12-31

《Matplotlib-PyplotTutorial》

此文档简单介绍了python的matplotlib.Pyplot库,方便机器学习的初学者快速了解这个库的相关内容,以尽快的进入实践阶段。

2017-12-31

《10 Minutes to pandas》

此文档简单介绍了python的pandas库,方便机器学习的初学者快速了解这个库的相关内容,以尽快的进入实践阶段。

2017-12-31

《Numpy-Quickstart tutorial》

此文档简单介绍了python的numpy库,方便机器学习的初学者快速了解这个库的相关内容,以尽快的进入实践阶段。

2017-12-31

空空如也

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

TA关注的人

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