依星源码资源网,依星资源网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

限时开通VIP永久会员,可免费下载所有附件
查看: 63|回复: 0

程序员常用的十大算法

[复制链接] |主动推送主动推送

1748

主题

1783

帖子

2513

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2513
发表于 2024-1-9 13:14:33 | 显示全部楼层 |阅读模式
算法是所有程序员必备的基本功,不会算法的程序员都容易被耻笑,今天就为大家盘点出 所有程序员都需要掌握的十大算法,可以依次进行学习
一.Floyd Warshall算法
Floyd-Warshall算法,中文称弗洛伊德算法或佛洛伊德算法,是解决任意两点间的最短路径的一种算法,可以正确处理有向图或负权(但不可存在负权回路)的最短路径问题,同时也被用于计算有向图的传递闭包。
001.png

二.二分查找


也称折半查找算法、对数查找算法,是一种在有序数组中查找某一特定元素的搜索算法。


搜索过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜索过程结束;如果某一特定元素大于或小于中间元素,则在数组大于或小于中间元素的那一半中查找,而且跟开始一样从中间元素开始比较。


如果在某一步骤数组为空,则代表找不到。这种搜索算法每一次比较都使搜索范围缩小一半。

002.png

三.贝尔曼福特算法


贝尔曼福特算法是求解单元最短路径问题的一种算法,由理查德贝尔曼和莱斯特福特创立的。有时候这种算法也被称为Moore-Bellman-ford算法,因为Edward F . Moore也为这个算法的发展做出了贡献。



它的原理是对图进行|V|-1次松弛操作,得到所有可能的最短路径。其优于迪克斯彻算法的方面是边的权值可以为负数、实现简单,缺点是时间复杂度过高,高达O(|V||E|)。但算法可以进行若干种优化,提高了效率。

003.png

四.快速排序


快速排序是一种交换类排序,可以理解成对冒泡排序的一种改进排序,但快速排序的复杂度相对于冒泡排序的提升相当大。



他的思路是,选取一个关键字K,将所有比K小的记录放在K前面,比K大的数放在K后面,一趟快速排序完成,完整的快速排序就是对分出的每个新数组再进行一次快速排序,也就是一趟排序的递归操作。

004.png

五.贪心算法



顾名思义,贪心法,贪心算法总是做出在当前看来是最好的选择。虽然贪心算法不是对所有问题都能得到整体最优解,但对范围相当广的许多问题都能产生整体最优解或是问题的次优解。因此有很好使用它的必要性。贪心算法既是一种解题策略,也是一种解题思路。

005.png

六.拓扑排序



拓扑排序是一种把有向无环图转换成线性序列的排序算法,算法的输入是一个有向无环图,经过算法分析吧图中的所有节点按照先后顺序进行拆解,最后得到一个有顺序的队列,在前的节点靠前,越靠后的节点或有多个节点指向该节点,那这个节点再队列中的位置就越靠后。

006.png

七.动态规划


很多人都会觉得动态规划很难,动态规划的核心思想有以下两点:


第一,任何看似很复杂很难解决的问题,其实都可以归结为一系列子问题,无论一个问题有多复杂,只要他有解决方案,就可以归结为N个子问题,某种意义上,我们可以认为动态规划是对递归的一种优化;



第二,我们在解决N个子问题的时候,要留心整体上有没有做无用功,通过备忘录的方式保存中间状态,使得不反复去计算已经求得的中间解。

007.png

八.最小生成树


最小生成树问题,简称MST,指给定一个带权的无向连通图,如果选取一棵生成树,使树上所有边上权的总和为最小,这叫最小生成树。



图有N个顶点,就一定有N-1条边,且必须包含所有顶点,所有边都在图中。解决最小生成树问题的算法主要有普利姆算法和克鲁斯卡尔算法

008.png

九.深度搜索广度搜索算法


又称DFS和BFS。深度优先搜索的原理是:首先选择一个顶点作为起始点,接着从他各个相邻点出发进行依次访问,直到所有与起始点有路径相通的顶点都被访问到。若此时有没被访问到的节点,则选择一个其他顶点进行再次访问。



广度优先搜索的原理是:选择一个顶点作为起始点,依次访问该起始点的所有邻接点,再根据邻接点访问他们各自的邻接点,并保证先访问节点的邻接点先与后访问节点的邻接点被访问。

009.png

010.png

十.朴素贝叶斯分类算法


朴素贝叶斯分类算法是一种基于贝叶斯定理的简单概率分类算法。



贝叶斯分类的基础是概率推理,就是在各种条件的存在不确定,仅知其出现概率的情况下,如何完成推理和决策任务。概率推理是与确定性推理相对应的。而朴素贝叶斯分类器是基于独立假设的,即假设样本每个特征与其他特征都不相关。

011.png


扫码关注微信公众号,了解更多算法内容。












您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

免责声明:
1、转载或引用本网站内容须注明原网址,并标明本网站网址“源码资源网”
2、转载或引用本网站中的署名文章,请按规定向原作者支付稿酬
3、对于不当转载或引用本网站内容而引起的民事纷争、行政处理或其他损失,本网站不承担责任
4、对不遵守本声明或其他违法、恶意使用本网站内容者,本网站保留追究其法律责任的权利
5、资源部分来自网络,不保证资源的完整性,仅供学习研究,如需运营请购买正版,如有侵权请联系客服删除
6、本站所有资源不带技术支持,下载资源请24小时内删除,如用于违法用途,或者商业用途,一律用于者承担
 
在线客服
点击这里给我发消息 点击这里给我发消息 点击这里给我发消息
售前咨询热线
312337667

微信扫一扫,私享最新原创实用干货

QQ|手机版|依星源码资源网 ( 鲁ICP备2021043233号-3 )|网站地图

GMT+8, 2024-2-26 09:22

Powered by Net188.com X3.4

邮箱:312337667@qq.com 客服QQ:312337667(工作时间:9:00~21:00)

快速回复 返回顶部 返回列表