• 程序员须知的基础算法整理


    算法一:快速排序算法

    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个状态,找到更一般的递推公式。

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

    朴素:假设条件独立。

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

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

  • 相关阅读:
    PAT T1001 Battle Over Cities-Hard Version
    PAT甲级2019冬季考试题解
    L3-016 二叉搜索树的结构
    PAT A1135 Is It A Red Black Tree
    PAT A1114 Family Property
    PAT A1034 Head Of Gang
    PAT A1151 LCA in Binary Tree
    什么是一揽子交易
    子公司自购买日(或合并日)开始持续计算的可辨认净资产(对母公司的价值)与购买日子公司可辨认净资产的公允价值有什么区别
    借少数股东权益,贷少数股东损益
  • 原文地址:https://www.cnblogs.com/chenzhefan/p/4643729.html
Copyright © 2020-2023  润新知