美文网首页
算法学习

算法学习

作者: Kenny_Yu | 来源:发表于2019-06-26 15:22 被阅读0次

排序问题(默认升序)


选择排序

从第一个元素开始找最小的放在最前面,依次进行 复杂度 n²

插入排序

从第二个开始开始到最后进行遍历,将需要比对的值先取出来,在和前面的值进行比较,如果前面的值比他大,则前面的值后移一位,如果前面的值比他小,则停止向前遍历,将需要排序的值插入进去.

归并排序

将一个数组一直两两平分

 然后创建一个相同得辅助数组设置三个下标 分别是 i j k

 i:辅助数组左边起始得位置

 j:辅助数组右边起始得位置(就是mid+1)

 k:真实数组得下标位置

 然后再进行合并

快速排序

帮助第一个元素找出正确的位置,使让他左边的比他小 右边的比他大,再通过递归一直排序

三路排序的思想:

分为三个区域 比他小 比他大 和相等, 

设置三个下标lt(比他小的最后一个元素的下标) gt(比他大的第一个元素下标) i(当前元素下标)

lt初始化lt=l  gt=r+1 i=l+1 因为一开始不确定真实存在lt和gt 所以都设在边界+1/-1

如果比他小则放在lt的区域  

如果比他大则放在gt的区域

如果相等则继续遍历

最大堆

所有的子节点都比父节点小则是最大堆

如何寻找自己的父节点 左儿子 右儿子


二叉搜索树的前中后遍历:

前序遍历:先访问当前节点,再一次递归访问左右子树 (一直往左,没有就回上一个点,然后往右)

中序遍历:线递归访问左子树,再访问自身,再递归访问右子树 (顺便排队)

后续遍历:先递归访问左右子树,再访问自身节点

三个点分别是前中后序

相关文章

  • StanFord 机器学习公开课笔记(4):生成学习算法

    本讲视频及讲义链接 生成学习算法 生成学习算法和判别学习算法的区别 判别学习算法(Discriminative) ...

  • 机器学习(1)——几个基本要素

    学习算法 什么是学习算法,学习当然不是一个动词,学习算法最简单的理解便是能够从数据中学习的算法,学习的解释根据 M...

  • 谁能看懂这个

    机器学习算法盘点:人工神经网络、深度学习 机器学习的算法很多。很多时候困惑人们都是,很多算法是一类算法,而有些算法...

  • Adaboost算法

    AdaBoost是典型的Boosting算法。Boosting提升算法,是将“弱学习算法“提升为“强学习算法”的过...

  • 机器学习4:局部加权回归

    参数学习算法,非参数学习算法 参数学习算法,用固定的明确的参数进行数据的拟合。比如线性回归。非参数学习算法,使用的...

  • 人工智能学习

    人工智能算法可以分为机器学习算法(Machine Learning)和深度学习算法(Deep Learning) ...

  • 机器学习算法分类大全

    机器学习算法可以分为监督学习算法、无监督学习算法和半监督学习算法,下面以思维导图的形式总结了一下常见的监督学习和无...

  • 《机器学习(周志华)》学习笔记(三)

    Q:机器学习中最简单的学习算法是什么? A:最简单的机器学习算法莫过于线性回归算法了。线性回归算法的基本形式如下:...

  • OpenCV算法学习笔记之边缘检测(一)

    此系列的其他文章:OpenCV算法学习笔记之初识OpenCVOpenCV算法学习笔记之几何变换OpenCV算法学习...

  • OpenCV算法学习笔记之边缘检测(二)

    此系列的其他文章:OpenCV算法学习笔记之初识OpenCVOpenCV算法学习笔记之几何变换OpenCV算法学习...

网友评论

      本文标题:算法学习

      本文链接:https://www.haomeiwen.com/subject/wiybzftx.html