zoukankan      html  css  js  c++  java
  • 程序员须知的基础算法整理

    算法一:快速排序算法

    http://blog.csdn.net/v_july_v/article/details/6116297

    分治处理:选主元将一组数分为2组,一组都比主元小,另一组都比主元大;然后递归上述方法即对每个组分别用新主元排序再分成新的组,如此递归到排序结束。

    算法二:堆排序算法

    http://www.cricode.com/977.html

    http://blog.csdn.net/morewindows/article/details/6709644

    构造大顶堆和小顶堆,利用堆顶是最大和最小元素的特性,将最值和最后一个元素交换,最后一个元素就变为了有序元素;再调整无序元素堆,重复交换到无序元素堆得最后一个元素,依次生成所有有序元素。

    算法三:归并排序

    http://www.cricode.com/1333.html

    算法四:二分查找算法

    用于有序数组查找特定元素:与数组中间值比较,不停二分迭代得到结果,时间复杂度为Ο(logn)

    算法五:BFPRT(线性查找算法)

    http://blog.csdn.net/v_JULY_v/article/details/6370650

    算法六:DFS(深度优先搜索)

     http://www.cnblogs.com/skywang12345/p/3711483.html

    算法七:BFS(广度优先搜索)

    2种搜索顾名思义,关键看图。

    算法八:Dijkstra算法

    http://www.cnblogs.com/skywang12345/p/3711512.html

    最短路径实现:引进两个集合S和U。S的作用是记录已求出最短路径的顶点(以及相应的最短路径长度),而U则是记录还未求出最短路径的顶点(以及该顶点到起点s的距离)。

    算法九:动态规划算法

     http://www.hawstein.com/posts/dp-novice-to-advanced.html

    找到递推公式算最优解,类似归纳演绎;推算N个状态,找到更一般的递推公式。

    算法十:朴素贝叶斯分类算法

    朴素:假设条件独立。

    分类:求最大条件概率,也可最大似然。

    现代贝叶斯:层次贝叶斯,因素的因素,条件还有其他条件约束。

  • 相关阅读:
    2021暑假模拟赛6
    2021暑假模拟赛5
    2021暑假模拟赛4
    2021暑假模拟赛3
    2021暑假模拟赛2
    umi提速方案之 mfsu
    Nginx (可为容器)配置 BasicAuth 与访问
    Mango 漫画管理器体验
    blivechat 在 OBS 中使用 BasicAuth URL 登录
    Electron 实现最小化到托盘
  • 原文地址:https://www.cnblogs.com/chenzhefan/p/4643729.html
Copyright © 2011-2022 走看看