zoukankan      html  css  js  c++  java
  • 再谈排序与图论算法

    排序

    1.主存能放下的数据进行排序称为内部排序,反之称为外部排序(磁盘上)。
    2.任何进行交换相邻元素进行排序的算法均需要O(N2)的复杂度,任何进行比较的排序算法至少需要O(N*log(N))的算法复杂度。
    3.堆排序和归并排序的时间复杂度平均和最坏均为O(N*log(N))
    4.Java中执行一次对象比较是比较昂贵的,移动则是相对节省的,因此归并排序是java的默认泛型排序算法。C++中默认的是快速排序,比较耗费小;快排对于基本类型均具有最快速度。快速排序选取枢纽元的时候采用三数取中,切勿采用首元素。
     
    5.桶排序:排序的数小于整数M,实例化一个M维的数组初值为0,依次加入桶,再倒回去。
    6.基数排序:排序数组有n 个元素,实例化一个包含10个list的数组(相当于n个桶0123456789),依次从个位数到最高位把n个数放入桶中然后再倒回原数组,每次要清空list。
    适合字符串的排序。
     
    图论算法
    1.定义:
    (1)图由顶点和边组成G=(V,E),分为有向图和无向图;边可以有一定权重,边也称为度。有向无圈图也称为DAG。
    (2)图是稠密的考虑用邻接矩阵表示O(V2);稀疏图一般用邻接表表示O(E+V)。
     
    2.拓扑排序:是对有向无圈图的一种排序方式,使得如果存在一条从vi到vj的路径,那么在排序中vj就出现在vi的后面。(先找出没有入边的顶点)
     
    3最短路径算法:
    单源最短路径问题:给定顶点,到任意其他顶点的最短距离的算法O(V+E):(即为广度优先搜索breadth-first search)

     

    三年程序员,专注语音文本分析、大数据挖掘、预训练模型及知识图谱相关技术的探索
  • 相关阅读:
    022、如何运行容器(2019-01-15 周二)
    ssh 跳板机部署
    021、镜像小结(2019-01-14 周一)
    020、搭建本地Registry(2019-01-11 周五)
    019、使用公共Registry (2019-01-10 周四)
    018、容器命名最佳实践 (2019-01-09 周三)
    017、RUN、CMD、ENTRYPOINT (2019-01-08 周二)
    016、Dockerfile 常用命令(2019-01-07 周一)
    015、调试Dockerfile(2019-01-04 周五)
    014、镜像的缓存特性(2019-01-03 周四)
  • 原文地址:https://www.cnblogs.com/jetHu/p/8503817.html
Copyright © 2011-2022 走看看