Lecture 3(part 1) Divide and conquer 1. the general paradim of algrithm as bellow: 1. divide the problem into subproblems; 2. conqure each subproblems recrusively; 3. combine solution 2. Some typical problem (part 1) the matrix mutiplication(strassen…
Introduction to Algorithms 2nd ed. Cambridge, MA: MIT Press, 2001. ISBN: 9780262032933. Introduction and document distance L1 Introduction and document distance CLRS, chapters 1-3 L2 More document distance, mergesort CLRS, sections 11.1-11.2 Binary s…
课程信息 6.006 Introduction to Algorithms…
搜索树数据结构支持很多动态集合操作,如search(查找).minmum(最小元素).maxmum(最大元素).predecessor(前驱).successor(后继).insert(插入).delete(删除).这些都是基本操作,能够使用一颗搜索树当做一个字典或者一个优先队列. 12.1.什么事二叉搜索树 二叉搜索树是以一棵二叉树来组织的,能够用一个链表数据结构来表示,也叫二叉排序树.二叉查找树. 当中的每一个结点都是一个对象,每一个对象含有多个属性(key:该结点代表的值大小.卫星数据:不…
下载方式 根据你的操作系统下载不同的 BiliDrive 二进制. 执行: bilidrive download <link> 链接 文档 链接 斯坦福 cs224d 深度学习与自然语言处理讲义.epub (2.87 MB) bdrive://2771ca27aa5f0eb73bcf9591ee127c2d51270617 Matplotlib 用户指南.epub (4.67 MB) bdrive://0376e03bdbf46d1670cd8d955ccde094e226a2f8 OllyD…
References: 1. Stanford University CS97SI by Jaehyun Park 2. Introduction to Algorithms 3. Kuangbin's ACM Template 4. Data Structures by Dayou Liu 5. Euler's Totient Function Getting Started: 1) What is a good algorithm? The answer could be about cor…
INTRODUCTION TO BIOINFORMATICS      这套教程源自Youtube,算得上比较完整的生物信息学领域的视频教程,授课内容完整清晰,专题化的讲座形式,细节讲解比国内的京师大学堂的Mooc教程好过10000倍.下面是视频的快速链接还有文档讲义哦,很好的东东,链接分享给国内的朋友们. =课程主页:http://ocw.metu.edu.tr/course/view.php?id=37,    Instructor: Tolga CAN    Added: 18 Novem…
Graph is an important data structure and has many important applications. Moreover, grach traversal is key to many graph algorithms. There are two systematic ways to traverse a graph, breadth-first search (BFS) and depth-frist search (DFS). Before fo…
Lecture note 1: Introduction to TensorFlow Why TensorFlow TensorFlow was originally created by researchers at Google as a single infrastructure for machine learning in both production and research. Later, an implementation of it was open sourced unde…
Awesome Algorithms A curated list of awesome places to learn and/or practice algorithms. Inspired by awesome-awesomeness and all the other awesome Awesome libraries. If you want to contribute, please read the [contribution guidelines] (https://github…
写在前面 本书是由<算法导论>(Introduction to Algorithms)的作者之一Thomas H. Cormen编写的适合对算法感兴趣但自身基础又不好的同学阅读.很多人评价此书非常适合入门,如果你没勇气直接阅读1300多页的<算法导论>,可以先从这本200多页的书入手.我打算从今天开始翻译此书,共有10章,涵盖排序,搜索,图,最短路径,字符串,密码学基础以及数据压缩等内容.计划一个月翻译完成.主要目的还是用于自身学习,但既然选择公开发布到博客,一是督促自己不要偷懒,…
https://www.topcoder.com/community/data-science/data-science-tutorials/maximum-flow-augmenting-path-algorithms-comparison/ 存档用... By  Zealint– TopCoder Member Discuss this article in the forums With this article, we’ll revisit the so-called “max-flow…
基于 javascript 学习并实现常用的经典算法,欢迎对算法和数学感兴趣的 Js 开发者参与,一起学习共同进步. 算法实现 排序 插入排序 sort/lib/insertion-sort.js 希尔排序 sort/lib/shell-sort.js 选择排序 sort/lib/selection-sort.js 堆排序 sort/lib/heap-sort.js 冒泡排序 sort/lib/bubble-sort.js 快速排序 sort/lib/quick-sort.js 合并排序 sor…
Radix sort is another linear time sorting algorithm. It sorts (using another sorting subroutine) the numbers from their least significant digits to most significant digits. To guarantee the correctness of radix sort, the sorting subroutine must be st…
Recently I reviewed the classic heapsort algorithm and implement it according to contents in Introduction to Algorithms (3rd edition). The heap data structure is implemented as a template class and the heapsort algorithm is implemented as a public me…
Priority queue - 优先队列 相关概念 Priority queue优先队列是一种用来维护由一组元素构成的集合S的数据结构, 其中的每一种元素都有一个相关的值,称为关键字(key). 一个最大有限队列支持一下操作: insert(S,x):把元素x插入到集合S中. maximum(S):返回集合S中具有最大关键字的元素. extract_max(S):去掉并返回S中具有最大关键字的元素 increase_key(S,x,k):将集合S中的元素x的关键字值增加到k,这里假设k的值不小…
相关概念 快速排序法 Quicksort 也是一个分治思想的算法. 对一个子数组 A[p: r] 进行快速排序的三步分治过程: 1, 分解. 将数组 A[p : r] 被划分为两个子数组(可能为空) A[p : q-1] 和 A[q+1 : r] , 使得 A[p : q-1] 中的每一个元素都小于等于 A[q], 并且 A[q] 小于 A[q+1 : r] 中的每一个元素. 2, 解决. 通过递归调用快速排序, 对子数组 A[p : q-1] 和 A[q+1 : r] 进行排序. 3, 合并.…
相关概念 散列表 hashtable 是一种实现字典操作的有效数据结构. 在散列表中,不是直接把关键字作为数组的下标,而是根据关键字计算出相应的下标. 散列函数 hashfunction'h' 除法散列法 通过取k除以m的余数,将关键k映射到m个slot中的某一个上.即散列函数为:h(k)=kmodm 比如:散列表的大小m=12,关键字k=100,则h(k)=100mod12=4,放到slot4中. 由于只需做一次除法,所以除法散列法速度非常快. 当选择除法散列法的时候,要避免选择m的某些值.例…
这个资料关于分布式系统资料,作者写的太好了.拿过来以备用 网址:https://github.com/ty4z2008/Qix/blob/master/ds.md 希望转载的朋友,你可以不用联系我.但是一定要保留原文链接,因为这个项目还在继续也在不定期更新.希望看到文章的朋友能够学到更多. <Reconfigurable Distributed Storage for Dynamic Networks> 介绍:这是一篇介绍在动态网络里面实现分布式系统重构的paper.论文的作者(导师)是MIT…
Awesome Courses  Introduction There is a lot of hidden treasure lying within university pages scattered across the internet. This list is an attempt to bring to light those awesome courses which make their high-quality material i.e. assignments, lect…
https://www.quora.com/How-do-I-learn-mathematics-for-machine-learning   How do I learn mathematics for machine learning? Promoted by Time Doctor Software for productivity tracking. Time tracking and productivity improvement software with screenshots…
##Advice for Applying Machine Learning Applying machine learning in practice is not always straightforward. In this module, we share best practices for applying machine learning in practice, and discuss the best ways to evaluate performance of the le…
I 开篇 1. 绪论 II 离散数学 2. 数 (已看) 3. 集合 4. 笛卡尔 5. 类型 6. 函数 7. λ演算 8. 代数 9. 数理逻辑 III 简单RSL 10. RSL中的原子类型和值 11. RSL中的函数定义 12. 面向性质与面向模型的抽象 13. RSL中的集合 14. RSL中的笛卡尔 15. RSL中的列表 16. RSL中的映射 17. RSL中的高阶函数 IV 规约类型 18 RSL中的类型 19. 应用式规约程序设计 20. 命令式规约程序设计 21. 并发式规…
Dijkstra 算法是一种用于计算带权有向图中单源最短路径(SSSP:Single-Source Shortest Path)的算法,由计算机科学家 Edsger Dijkstra 于 1956 年构思并于 1959 年发表.其解决的问题是:给定图 G 和源顶点 v,找到从 v 至图中所有顶点的最短路径. Dijkstra 算法采用贪心算法(Greedy Algorithm)范式进行设计.在最短路径问题中,对于带权有向图 G = (V, E),Dijkstra 算法的初始实现版本未使用最小优先…
Remember the story of Little Match Girl? By now, you know exactly what matchsticks the little match girl has, please find out a way you can make one square by using up all those matchsticks. You should not break any stick, but you can link them up, a…
three version are provided. disjoint set, linked list version with weighted-union heuristic, rooted tree version with rank by union and path compression, and a minor but substantial optimization for path compression version FindSet to avoid redundanc…
What is a high-performance data structure? To answer that question, we're used to applying normal considerations like Big-Oh complexity, and memory overhead, locality, and traversal order. All of those apply to both sequential and concurrent software…
作者:Glowin链接:https://zhuanlan.zhihu.com/p/22881223来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 原文地址:Google Interview University 原文作者:John Washam 译文出自:掘金翻译计划 (翻译不易,欢迎 Star 支持) 译者:Aleen,Newton,bobmayuze,Jaeger,sqrthree 这是? 这是我为了从 web 开发者(自学.非计算机科学学位)蜕变至 Goog…
http://thesecretlivesofdata.com/raft/ https://github.com/coreos/etcd   1 Introduction Consensus algorithms allow a collection of machines to work as a coherent group that can survive the failures of some of its members. Because of this, they play a k…
Are you a interested in taking a course with us? Learn about our programs or contact us at hello@zipfianacademy.com. There are plenty of articles and discussions on the web about what data science is, what qualitiesdefine a data scientist, how to nur…