拓扑排序 问题 一个完整的项目往往会包含很多代码源文件。编译器在编译整个项目的时候,需要按照依赖关系,依次编译每个源文件。比如,A.cpp 依赖 B.cpp,那在编译的时候,编译器需要先编译 B.cpp,才能编译 A.cpp。 解析 解决思路与“图”这种数据结构的一个经典算法“拓扑排序算法”有关 拓 ...
分类:
编程语言 时间:
2020-01-05 22:28:31
阅读次数:
101
时间序列ARIMA模型 1、数据的平稳性与差分法 让均值和方差不发生明显的变化(让数据变平稳),用差分法 2、ARIMA模型 差分自回归平均移动模型 求解回归的经典算法:最大似然估计、最小二乘法 在具体运用时,需要指定三个参数,即(p,d,q); 其中:p表示自回归的阶数, d表示做几阶差分(一般做 ...
分类:
其他好文 时间:
2020-01-05 19:06:53
阅读次数:
133
0、算法概述 0.1 算法分类 十种常见排序算法可以分为两大类: 比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。 非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此也称为线性时 ...
分类:
编程语言 时间:
2019-12-30 11:41:00
阅读次数:
101
直接选择排序 数组分成有序区和无序区,初始时整个数组都是无序区,然后每次从无序区选一个最小的元素直接放到有序区的最后,直到整个数组变有序区。 选择排序的步骤是这样的: 首先,找到数组中最小的元素,将它和数组的第一个元素交换位置。 第二步,在剩下的元素中继续寻找最小的元素,和数组的第二个元素交换位置。 ...
分类:
编程语言 时间:
2019-12-29 23:32:06
阅读次数:
114
冒泡算法 冒泡排序:从序列的一端开始往另一端冒泡,依次比较相邻的两个数的大小。 设数组长度为N。 1.每轮比较相邻的前后两个数据,如果前面数据大于或者小于后面的数据,就将二个数据交换。 2.这样每轮对数组的第0个数据到N-1个数据进行一次遍历后,最大或者最小的一个数据就到数组第N-1个位置。 3. ...
分类:
编程语言 时间:
2019-12-29 00:39:00
阅读次数:
84
一点一点做的数据结构思维导图(共划分了四大块:逻辑结构,基本运算,物理结构,算法)。 我自己认为是比较详细的。名称后面的括号中是常用的命名。 后面如果有时间,我还会写一些数据结构中的经典算法。 ...
分类:
其他好文 时间:
2019-12-25 12:49:01
阅读次数:
792
第1章 和bobo老师一起,玩转图论算法欢迎大家来到我的新课程:《玩转图论算法》。在这个课程中,我们将一起完整学习图论领域的经典算法,培养大家的图论建模能力。通过这个课程的学习,你将能够真正地,玩转图论算法:)第2章 图的基本表示千里之行,驶于足下。解决任何有一个图论算法问题,首先需要用基本的数据结 ...
分类:
编程语言 时间:
2019-12-21 10:09:09
阅读次数:
97
问题描述 N个人围成一个圈, 从第一个人开始报数, 报到M的人出圈, 剩下的人继续从1开始报数, 报到M的人出圈;如此往复, 直到所有人出圈. 列表解决 循环链表解决 参考: "经典算法 约瑟夫环问题的三种解法" "百度百科" ...
分类:
编程语言 时间:
2019-12-20 11:39:05
阅读次数:
77
1、前言 算法,在计算机中的地位,就相当于人类大脑的决策中枢系统,哪怕最简单的算法,其精妙的思维方式,都可以让人开启一扇新的视窗。 算法,它不仅仅只是狭义的用来解决计算机科学领域的问题,更是一种“思维方式”。算法思维,是一种深度思考和创造的过程。 算法,只有真正理解了,而不只是所谓的知道,并将应用到 ...
分类:
编程语言 时间:
2019-12-09 13:58:05
阅读次数:
71
第1章 和bobo老师一起,玩转图论算法欢迎大家来到我的新课程:《玩转图论算法》。在这个课程中,我们将一起完整学习图论领域的经典算法,培养大家的图论建模能力。通过这个课程的学习,你将能够真正地,玩转图论算法:)第2章 图的基本表示千里之行,驶于足下。解决任何有一个图论算法问题,首先需要用基本的数据结 ...
分类:
编程语言 时间:
2019-11-28 23:11:50
阅读次数:
1148