要看的算法

分支界定算法

广度优先搜索法

四个方向的A*算法

贪心算法

回溯算法

时间: 2025-01-30 13:06:32

要看的算法的相关文章

【算法】2 由股票收益问题再看分治算法和递归式

回顾分治算法 分治算法的英文名叫做"divide and conquer",它的意思是将一块领土分解为若干块小部分,然后一块块的占领征服,让它们彼此异化.这就是英国人的军事策略,但我们今天要看的是算法. 如前所述,分治算法有3步,在上一篇中已有介绍,它们对应的英文名分别是:divide.conquer.combine. 接下来我们通过多个小算法来深化对分治算法的理解. 二分查找算法 问题描述:在已排序的数组A中查找是否存在数字n. 1)分:取得数组A中的中间数,并将其与n比较 2)治:

从TCP拥塞本质看BBR算法及其收敛性(附CUBIC的改进/NCL机制)

本文试图给出一些与BBR算法相关但却是其之外的东西. 1.TCP拥塞的本质 注意,我并没有把题目定义成网络拥塞的本质,不然又要扯泊松到达和排队论了.事实上,TCP拥塞的本质要好理解的多!TCP拥塞绝大部分是由于其"加性增,乘性减"的特性造成的!        也就是说,是TCP自己造成了拥塞!TCP加性增乘性减的特性引发了丢包,而丢包的拥塞误判带来了巨大的代价,这在深队列+AQM情形下尤其明显.        我尽可能快的解释.争取用一个简单的数学推导过程和一张图搞定.       

【算法基础】由股票收益问题再看分治算法和递归式

最大子数组问题 最近有一个比较火的话题,股票,那么这一篇就由此引入来进一步学习分治算法.在上一篇博客中已经对插入排序和分治算法做了初步的介绍,建议在看一篇前先看看:[算法基础]由插入排序看如何分析和设计算法 当然了,这篇博客主要用来介绍算法而非讲解股票,所以这里已经有了股票的价格,如下所示. 天 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 股票价格 50 57 65 75 67 60 54 51 48 44 47 43 56 64 71 65 6

写给大家看的算法

第1章 什么是算法第2章 变量和数组第3章 数据结构第4章 学习算法基础第5章 排序算法第6章 搜索算法第7章 其他算法第8章 算法和计算机 第1章 什么是算法 1.1 算法其实就在身边 1.2 算法是人类智慧的结晶 1.3 了解算法对玩游戏有帮助吗? 1.4 算法有两个必要条件 1.5 要特别了解的重要算法 专题1 算法基础之结构化编程思想 第2章 变量和数组 2.1 所谓"数据",就是各种各样的信息 2.2 数据有不同的类型 2.3 最基础的数据是"值" 2.4

超级详细解读基本排序算法(不看后悔)

排序与我们日常生活中息息相关,比如,我们要从电话簿中找到某个联系人首先会按照姓氏排序.买火车票会按照出发时间或者时长排序.买东西会按照销量或者好评度排序.查找文件会按照修改时间排序等等.在计算机程序设计中,排序和查找也是最基本的算法,很多其他的算法都是以排序算法为基础,在一般的数据处理或分析中,通常第一步就是进行排序,比如说二分查找,首先要对数据进行排序.在Donald Knuth 的计算机程序设计的艺术这四卷书中,有一卷是专门介绍排序和查找的. 排序的算法有很多,在维基百科上有这么一个分类,另

超级具体解读基本排序算法(不看懊悔,带排序演示动画)

排序与我们日常生活中息息相关.比方.我们要从电话簿中找到某个联系人首先会依照姓氏排序.买火车票会依照出发时间或者时长排序.买东西会依照销量或者好评度排序.查找文件会依照改动时间排序等等.在计算机程序设计中,排序和查找也是最主要的算法,非常多其它的算法都是以排序算法为基础,在一般的数据处理或分析中.通常第一步就是进行排序,比方说二分查找.首先要对数据进行排序.在Donald Knuth 的计算机程序设计的艺术这四卷书中.有一卷是专门介绍排序和查找的. 排序的算法有非常多.在维基百科上有这么一个分类

关于SVM数学细节逻辑的个人理解(三) :SMO算法理解

第三部分:SMO算法的个人理解 接下来的这部分我觉得是最难理解的?而且计算也是最难得,就是SMO算法. SMO算法就是帮助我们求解: s.t.   这个优化问题的. 虽然这个优化问题只剩下了α这一个变量,但是别忘了α是一个向量,有m个αi等着我们去优化,所以还是很麻烦,所以大神提出了SMO算法来解决这个优化问题. 关于SMO最好的资料还是论文<Sequential Minimal Optimization A Fast Algorithm for Training Support Vector

记一次笔试面试题之算法

快到年底了,考虑到一些情况,加之现在工作业务没那么多了,本着想在技术上想在多学点东西的想法,突然间萌生了想换工作的想法,恰好一不错的公司Hr给我说他们在招人,于是我就偷偷的给了份简历,时隔几天她给了我一份笔试题,我一看有算法题,这是我最头疼的问题,我不反对面试算法,但是我感觉很多用人单位还是要本着自己的业务水平去面试,招适合本公司业务处理,相对比较实用又符合发展的人才就行了,当你真正拿出一些很高深的算法去面试的时候,我感觉你要看看你开出来招人的预算是不是能达到答出来这些题的待遇,是不是你现在的业

写在前面:21天学习算法

最近打算找一份新的工作,感到自己在算法环节还很疲弱.由于时间还算充裕,就决定将LeetCode上面的算法题学一遍,找出自己的薄弱,锻炼算法思维,吸收他人长处.个人觉得,刷题只是学习算法中的一个环节,主要的作用是用来反馈错误和增加熟练度.相比较刷题,更加重要的是对比和总结,对比自己的代码和他人的代码,对比不同的解法,总结一类算法或一类问题,总结一些tips,这两步是提升自己的关键.另外,为了不让自己的视野过于局限,让得到的碎片化学习成果体系化,可以在刷题的时候,就某方面的算法或数据结构,多参考其他