枯木逢春什么意思| 雪梨是什么梨| 为什么感冒会咳嗽| 办独生子女证需要什么材料| 宫颈囊肿有什么症状表现| 嘴唇淡紫色是什么原因| 巨蟹座的幸运色是什么颜色| 小孩牙疼有什么办法| 什么是公元前和公元后| 吖什么意思| 无法入睡是什么原因| 孕妇羊水少吃什么补的快| 猕猴桃什么时候成熟| 耳朵痒痒是什么原因| 空调的几匹是什么意思| 枸杞泡酒有什么作用和功效| 妈妈的表妹叫什么| 白居易是诗什么| 脚肿什么病| 川崎病是什么| 什么的蹦跳| 五毛是什么意思| 指甲变薄是什么原因| 非什么意思| 1226是什么星座| 水浒传主要讲了什么| 企鹅吃什么| 淋巴结肿大看什么科| 梦见人头是什么征兆| 九层塔是什么菜| 乌龟吃什么蔬菜| 后脑勺疼痛什么原因引起的| 紫苏有什么作用与功效| 九零年属什么生肖| 头孢不能和什么食物一起吃| 抑郁症为什么会想死| 头发长的慢是什么原因| 法国公鸡是什么牌子| 蛋白粉有什么功效| 吃什么提高免疫力最快| 包干费用是什么意思| 建议MRI检查是什么意思| 大姨妈一个月来两次是什么原因| 什么食物补锌效果最好| 养胃早餐吃什么好| 股癣用什么药膏效果最好| 聪明如你什么意思| 荤段子是什么意思| 印度是什么人种| 夹页念什么| 彩色相片什么时候出现| 智齿发炎吃什么药| 鱿鱼不能和什么一起吃| 丙氨酸氨基转移酶偏高吃什么药| 晚睡早起是什么原因| 1993年出生属什么生肖| 夏天适合种植什么蔬菜| 子宫下垂是什么症状| 血红蛋白浓度偏低是什么原因| 吃维生素b6有什么好处和副作用| 什么什么美景| 陀飞轮是什么意思| 无畏布施是什么意思| 宫腔内囊性回声是什么意思| 女生无缘无故头疼是什么原因| 祎字五行属什么| 什么的船只| 男命食神代表什么| 顺遂是什么意思| 翳什么意思| 开封古代叫什么| 什么天什么什么| 淋巴细胞百分比偏高是什么原因| 血小板过低有什么危害| 吃什么会引起尿酸高| 葫芦的寓意是什么| 什么的海底| 二尾子什么意思| 极乐是什么意思| 月经提前10天正常吗是什么原因| 谷维素治什么病| 鋆字五行属什么| 消防队属于什么编制| 更年期出汗吃什么药好| 晚上8点到9点是什么时辰| 皮蛋是什么蛋| 甘油三酯高有什么症状| 598是什么意思| 肺结节增殖灶什么意思| 糖精对人体有什么危害| 白带多是什么原因引起的| 姓姜的男孩起什么名字好| 上火吃什么药| 4.23是什么星座| 长辈生日送什么礼物好| 西梅不能和什么一起吃| 梦见黄金是什么意思| 孟买血型是什么意思| 阴毛长虱子用什么药| 慢性非萎缩性胃炎什么意思| 饭后胃疼是什么原因| 摄入是什么意思| 鹧鸪读音是什么| 点痣挂什么科| 头大是什么原因造成的| 百合为什么是苦的| 什么样的生活| 衤叫什么偏旁| 颈椎病睡什么枕头最好| vc是什么药| 麝香是什么| 火龙果吃了有什么好处| 鹅喜欢吃什么食物| 聚乙二醇是什么东西| 红糖水什么时候喝| 乌鸡白凤丸有什么功效| bl是什么单位| 双环醇片治什么病| 泯是什么意思| 麝牛是什么动物| 机械油污用什么能洗掉| 胆囊炎吃什么药| 巾帼是指什么| 3月28号是什么星座| 许嵩的粉丝叫什么| 什么是狐臭| 一什么大厦| 什么叫生理盐水| 脑袋进水什么意思| 213什么意思| 96年是什么年| 伟哥叫什么| 农历五月十八是什么日子| 看望病人送什么花| 血小板压积偏低是什么意思| 母鸡学公鸡叫什么征兆| 梦见蛇是什么预兆| 丘疹是什么原因引起的| 为什么手上会长小水泡| 非典型细胞是什么意思| 来例假不能吃什么| iga是什么意思| 仄言是什么意思| 吃什么能提升血小板| 痔疮是什么东西| 为什么会有痔疮| gt是什么| 女性掉发严重是什么原因| 脖子痛什么原因引起的| xl代表什么尺码| 九月生日是什么星座| 食字五行属什么| 动物的尾巴有什么用处| 尾巴长长的是什么鸟| 为什么每天晚上睡觉都做梦| 牙龈肿痛吃什么药| 冲蛇煞西是什么意思| 什么是潮喷| 好朋友是什么意思| 为什么要分手| 龋读什么| 大葱什么时候播种| 吃什么抑制食欲| 欧巴桑是什么意思| 牙龈肿痛用什么药好得快| 典史是什么官| 什么是肌张力| 中国第一艘航空母舰叫什么| 口咸是什么原因引起的| l1椎体在什么位置| 托付是什么意思| 尿酸高吃什么好| 5.25是什么星座| 茶麸是什么东西| 宜五行属什么| 抗生素是什么| 79年属羊的是什么命| u是什么元素| egfr是什么| 世态炎凉是什么意思| 王力是什么字| 宝妈是什么意思| 脚没有力气是什么原因| 例假推迟是什么原因引起的| 捡什么废品最值钱| 痔疮为什么会出血| zzy是什么意思| 什么是生殖器疱疹| m标志是什么牌子衣服| ptsd是什么病| 心律不齐什么症状| 2010年属什么生肖| 吃什么除湿气| 补办身份证要带什么| 什么防晒霜好用| 榴莲不能和什么一起吃| 四百分能上什么大学| 两肺纹理增重什么意思| 喝水经常呛到是什么原因| 为什么总是头疼| 嗓子干痒咳嗽吃什么药| x代表什么意思| 切洋葱为什么会流泪| 办护照有什么要求| 发烧了吃什么药| 现在适合做什么生意| 长得标致是什么意思| 心肾不交是什么意思| 拉磨是什么意思| 黑豚肉是什么肉| 注意地看的词语是什么| 六月初二是什么日子| 喝酒头疼是什么原因| 肿瘤前期出现什么症状| 五六月份是什么星座| 味精的主要成分是什么| 贵州有什么好吃的| 什么像什么似的造句| 826是什么意思| rush什么意思| 三顾茅庐的顾是什么意思| 白带多什么原因| 捡到金子预示着什么| 鸡是什么命| 马虎是什么意思| 为什么会铅中毒| 为什么会真菌感染| 左小腿麻木是什么原因| 富丽堂皇是什么意思| 哺乳期吃什么下奶| 什么样的空气| 吃栗子有什么好处| 闺蜜是什么意思| 头出汗多是什么原因| 跑完步喝什么水最好| 眼睛蒙蒙的是什么原因| 外阴起红点是什么病| 女人做春梦预示着什么| 发烧了吃什么食物好| doneed是什么牌子| 子孙满堂是什么生肖| 经常打嗝是什么原因| 说三道四的意思是什么| 数字2代表什么意思| 欲望是什么| 潜意识是什么| 尿痛什么原因引起的| 21金维他什么时候吃效果最好| 环比是什么| 新加坡属于什么气候| 圣水是什么| 左边头疼是什么原因怎么办| 老年脑改变是什么意思| 头疼想吐吃什么药| 什么会引起高血压| 377是什么| 什么人容易得多囊卵巢| 灰指甲长什么样子图片| 为什么生理期不能拔牙| 去台湾需要什么证件| 黄皮不能和什么一起吃| 打耳洞不能吃什么| 肌层彩色血流星点状是什么意思| 一什么影子| 百度
"); //-->

博客专栏

EEPW首页 > 博客 > 程序猿必知的10大经典基础实用算法

音乐人莫西子诗参加壹基金凉山发放活动 全国超过18,000名儿童收到温暖包

发布人:电巢 时间:2025-08-04 来源:工程师 发布文章
百度   为学习弘扬南仁东的先进事迹和崇高精神,11月17日中宣部追授南仁东“时代楷模”荣誉称号,12月8日中宣部、中科院、科技部、中国科协、贵州省委在北京人民大会堂联合举行南仁东先进事迹报告会,并决定在贵州、上海、广东、安徽、吉林、甘肃6省市开展巡回报告。

算法一:高速排序算法
  高速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要Ο(n log n)次比較。在最坏状况下则须要Ο(n2) 次比較,但这样的状况并不常见。其实,高速排序通常明显比其它Ο(n log n) 算法更快,由于它的内部循环(inner loop)能够在大部分的架构上很有效率地被实现出来。
  高速排序使用分治法(Divide and conquer)策略来把一个串行(list)分为两个子串行(sub-lists)。
  算法步骤:
  1 从数列中挑出一个元素,称为 “基准”(pivot)。
  2 又一次排序数列,全部元素比基准值小的摆放在基准前面。全部元素比基准值大的摆在基准的后面(相同的数能够到任一边)。在这个分区退出之后,该基准就处于数列的中间位置。
这个称为分区(partition)操作。
  3 递归地(recursive)把小于基准值元素的子数列和大于基准值元素的子数列排序。
  递归的最底部情形,是数列的大小是零或一,也就是永远都已经被排序好了。虽然一直递归下去,可是这个算法总会退出。由于在每次的迭代(iteration)中。它至少会把一个元素摆到它最后的位置去。

image.png



  
算法二:堆排序算法
  堆排序(Heapsort)是指利用堆这样的数据结构所设计的一种排序算法。
堆积是一个近似全然二叉树的结构,并同一时候满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。
  堆排序的平均时间复杂度为Ο(nlogn) 。
  算法步骤:
1. 创建一个堆H[0..n-1]
2. 把堆首(最大值)和堆尾互换
  3. 把堆的尺寸缩小1,并调用 shift_down (0),目的是把新的数组顶端数据调整到相应位置
  4. 反复步骤2。直到堆的尺寸为1

image.png



  
算法三:归并排序

  归并排序(Merge sort。台湾译作:合并排序)是建立在归并操作上的一种有效的排序算法。该算法是採用分治法(Divide and Conquer)的一个很典型的应用。
  算法步骤:
  1. 申请空间,使其大小为两个已经排序序列之和。该空间用来存放合并后的序列
  2. 设定两个指针,最初位置分别为两个已经排序序列的起始位置
  3. 比較两个指针所指向的元素,选择相对小的元素放入到合并空间。并移动指针到下一位置
  4. 反复步骤 3 直到某一指针达到序列尾
  5. 将还有一序列剩下的全部元素直接拷贝到合并序列尾



  
算法四:二分查找算法
  二分查找算法是一种在有序数组中查找某一特定元素的搜索算法。
搜素过程从数组的中间元素開始,假设中间元素正好是要查找的元素,则搜素过程结束;假设某一特定元素大于或者小于中间元素。则在数组大于或小于中间元素的那一半中查找,并且跟開始一样从中间元素開始比較。
假设在某一步骤数组为空,则代表找不到。这样的搜索算法每一次比較都使搜索范围缩小一半。折半搜索每次把搜索区域降低一半。时间复杂度为Ο(logn) 。
  
算法五:BFPRT(线性查找算法)
  BFPRT 算法解决的问题十分经典,即从某n个元素的序列中选出第k大(第k小)的元素。通过巧妙的分析,BFPRT 能够保证在最坏情况下仍为线性时间复杂度。该算法的思想与高速排序思想类似,当然,为使得算法在最坏情况下,依旧能达到o(n)的时间复杂度,五位算法作者做了精妙的处理。
  算法步骤:
  1. 将n个元素每 5 个一组,分成n/5(上界)组。
  2. 取出每一组的中位数,随意排序方法,比方插入排序。
  3. 递归的调用 selection 算法查找上一步中全部中位数的中位数。设为x,偶数个中位数的情况下设定为选取中间小的一个。
  4. 用x来切割数组,设小于等于x的个数为k,大于x的个数即为n-k。
  5. 若i==k,返回x。若i<k,在小于x的元素中递归查找第i小的元素。若i>k。在大于x的元素中递归查找第i-k 小的元素。
  终止条件:n=1 时。返回的即是i小元素。
  
算法六:DFS(深度优先搜索)
  深度优先搜索算法(Depth-First-Search),是搜索算法的一种。它沿着树的深度遍历树的节点,尽可能深的搜索树的分支。当节点v的全部边都己被探寻过。搜索将回溯到发现节点v的那条边的起始节点。这一过程一直进行到已发现从源节点可达的全部节点为止。
假设还存在未被发现的节点,则选择当中一个作为源节点并反复以上过程,整个进程反复进行直到全部节点都被訪问为止。
DFS 属于盲目搜索。
  深度优先搜索是图论中的经典算法,利用深度优先搜索算法能够产生目标图的相应拓扑排序表,利用拓扑排序表能够方便的解决很多相关的图论问题。如最大路径问题等等。一般用堆数据结构来辅助实现 DFS 算法。
  深度优先遍历图算法步骤:
  1. 訪问顶点v;
  2. 依次从v的未被訪问的邻接点出发。对图进行深度优先遍历;直至图中和v有路径相通的顶点都被訪问。
  3. 若此时图中尚有顶点未被訪问。则从一个未被訪问的顶点出发,又一次进行深度优先遍历,直到图中全部顶点均被訪问过为止。
  上述描写叙述可能比較抽象,举个实例:
  DFS 在訪问图中某一起始顶点 v 后,由 v 出发。訪问它的任一邻接顶点 w1。再从 w1 出发。訪问与 w1 邻 接但还没有訪问过的顶点 w2;然后再从 w2 出发,进行类似的訪问,… 如此进行下去,直至到达全部的邻接顶点都被訪问过的顶点 u 为止。
  接着,退回一步,退到前一次刚訪问过的顶点,看是否还有其它没有被訪问的邻接顶点。假设有,则訪问此顶点。之后再从此顶点出发。进行与前述类似的訪问;假设没有。就再退回一步进行搜索。反复上述过程,直到连通图中全部顶点都被訪问过为止。
  
算法七:BFS (广度优先搜索)
  广度优先搜索算法(Breadth-First-Search),是一种图形搜索算法。简单的说。BFS 是从根节点開始,沿着树(图)的宽度遍历树(图)的节点。假设全部节点均被訪问,则算法中止。BFS 相同属于盲目搜索。一般用队列数据结构来辅助实现 BFS 算法。
  算法步骤:
  1. 首先将根节点放入队列中。
  2. 从队列中取出第一个节点。并检验它是否为目标。
假设找到目标。则结束搜寻并回传结果。
否则将它全部尚未检验过的直接子节点增加队列中。
  3. 若队列为空,表示整张图都检查过了——亦即图中没有欲搜寻的目标。结束搜寻并回传“找不到目标”。
  4. 反复步骤2。

image.png



  
算法八:Dijkstra算法

  戴克斯特拉算法(Dijkstra’s algorithm)是由荷兰计算机科学家艾兹赫尔·戴克斯特拉提出。迪科斯彻算法使用了广度优先搜索解决非负权有向图的单源最短路径问题,算法终于得到一个最短路径树。该算法经常使用于路由算法或者作为其它图算法的一个子模块。
  该算法的输入包括了一个有权重的有向图 G,以及G中的一个来源顶点 S。
我们以 V 表示 G 中全部顶点的集合。每个图中的边,都是两个顶点所形成的有序元素对。
(u, v) 表示从顶点 u 到 v 有路径相连。我们以 E 表示G中全部边的集合。而边的权重则由权重函数 w: E → [0, ∞] 定义。因此,w(u, v) 就是从顶点 u 到顶点 v 的非负权重(weight)。边的权重能够想像成两个顶点之间的距离。
任两点间路径的权重,就是该路径上全部边的权重总和。
已知有 V 中有顶点 s 及 t,Dijkstra 算法能够找到 s 到 t的最低权重路径(比如,最短路径)。这个算法也能够在一个图中,找到从一个顶点 s 到不论什么其它顶点的最短路径。对于不含负权的有向图。Dijkstra 算法是眼下已知的最快的单源最短路径算法。
  算法步骤:
  1. 初始时令 S={V0},T={其余顶点},T中顶点相应的距离值
  若存在<V0,Vi>,d(V0,Vi)为<V0,Vi>弧上的权值
  若不存在<V0,Vi>。d(V0,Vi)为∞
  2. 从T中选取一个其距离值为最小的顶点W且不在S中,增加S
  3. 对其余T中顶点的距离值进行改动:若加进W作中间顶点,从 V0 到 Vi 的距离值缩短。则改动此距离值
  反复上述步骤2、3,直到S中包括全部顶点,即W=Vi 为止



算法九:动态规划算法
  动态规划(Dynamic programming)是一种在数学、计算机科学和经济学中使用的。通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。
动态规划经常适用于有重叠子问题和最优子结构性质的问题,动态规划方法所耗时间往往远少于朴素解法。
  动态规划背后的基本思想很easy。大致上。若要解一个给定问题,我们须要解其不同部分(即子问题),再合并子问题的解以得出原问题的解。 通常很多子问题很类似。为此动态规划法试图仅仅解决每个子问题一次,从而降低计算量: 一旦某个给定子问题的解已经算出,则将其记忆化存储。以便下次须要同一个子问题解之时直接查表。 这样的做法在反复子问题的数目关于输入的规模呈指数增长时特别实用。
  关于动态规划最经典的问题当属背包问题。
  算法步骤:
  1. 最优子结构性质。假设问题的最优解所包括的子问题的解也是最优的。我们就称该问题具有最优子结构性质(即满足最优化原理)。最优子结构性质为动态规划算法解决这个问题提供了重要线索。
  2. 子问题重叠性质。子问题重叠性质是指在用递归算法自顶向下对问题进行求解时。每次产生的子问题并不总是新问题,有些子问题会被反复计算多次。
动态规划算法正是利用了这样的子问题的重叠性质,对每个子问题仅仅计算一次,然后将其计算结果保存在一个表格中,当再次须要计算已经计算过的子问题时,仅仅是在表格中简单地查看一下结果,从而获得较高的效率。
  
算法十:朴素贝叶斯分类算法
  朴素贝叶斯分类算法是一种基于贝叶斯定理的简单概率分类算法。贝叶斯分类的基础是概率推理,就是在各种条件的存在不确定,仅知其出现概率的情况下,怎样完毕推理和决策任务。
概率推理是与确定性推理相相应的。而朴素贝叶斯分类器是基于独立假设的,即假设样本每个特征与其它特征都不相关。
  朴素贝叶斯分类器依靠精确的自然概率模型,在有监督学习的样本集中能获取得很好的分类效果。在很多实际应用中,朴素贝叶斯模型參数预计使用最大似然预计方法。换言之朴素贝叶斯模型能工作并没实用到贝叶斯概率或者不论什么贝叶斯模型。
  虽然是带着这些朴素思想和过于简单化的假设,但朴素贝叶斯分类器在很多复杂的现实情形中仍能够取得相当好的效果。


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

fpga相关文章:fpga是什么


晶体管相关文章:晶体管工作原理


晶体管相关文章:晶体管原理
脉冲点火器相关文章:脉冲点火器原理


关键词: 基础 算法

相关推荐

技术专区

关闭
蚊子最怕什么东西 孩子喝什么牛奶有助于长高 ec是什么意思 姗字五行属什么 势不可挡是什么意思
金牛座女和什么座最配对 拉肚子吃什么药好得快 肺五行属什么 九月八号是什么星座 合什么意思
总是放屁是什么原因引起的 ags是什么意思 红薯的别名叫什么 三月29号是什么星座 乳酸菌是什么菌
阴平阳秘是什么意思 胃酸想吐是什么原因 人参和什么泡酒能壮阳 男孩学什么技术最好 万事大吉是什么意思
愚孝什么意思hcv9jop3ns3r.cn 头皮屑大块是什么原因hcv8jop2ns8r.cn pm是什么职位hcv8jop0ns0r.cn 竟然是什么意思hcv8jop1ns0r.cn 至加秦是什么字hcv9jop2ns7r.cn
煤气是什么气体creativexi.com 肋骨断了是什么感觉hcv9jop4ns4r.cn 科甲是什么意思hcv9jop3ns5r.cn 梦见别人穿红衣服是什么意思mmeoe.com 胃热吃什么中成药hcv9jop7ns5r.cn
回奶吃什么药yanzhenzixun.com 口腔医学是什么hcv9jop5ns6r.cn 七月二十四是什么星座hcv8jop4ns1r.cn 低压高吃什么降压药hcv9jop1ns9r.cn 初秋的天冰冷的夜是什么歌hcv8jop7ns9r.cn
冲锋什么hcv8jop2ns3r.cn 0l是什么意思hcv9jop0ns6r.cn 股骨头疼痛什么原因hcv8jop2ns8r.cn 绿鼻涕是什么原因wuhaiwuya.com 算了吧什么意思hcv7jop6ns5r.cn
百度