快速排序的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,从而使全部的数据有序。快排的平均时间复杂度是O(nlogn);最坏是O(n^2)。 1 public cla ...
分类:
编程语言 时间:
2020-03-21 09:52:54
阅读次数:
49
请注意本文的神经网络的结构略不同于以往的神经网络。在这里,只有点与点的连线上会有激活函数,一个节点本身是不会有运算的。 看了网上大部分文章和3B1B的视频,BP算法用到的就是链式法则。但由于数学家喜欢把一件事情复杂化,程序员喜欢用矩乘来优化复杂度,BP算法就看上去有些难以理解。 最近看了CNN,自己 ...
分类:
其他好文 时间:
2020-03-18 23:58:43
阅读次数:
199
基本思想: 使用迭代会很麻烦,还不如递归进行字符串拼接; 关键点: 无; #include<iostream> #include<vector> #include<string> #include<algorithm> using namespace std; const int maxn = 15 ...
分类:
其他好文 时间:
2020-03-14 18:35:08
阅读次数:
67
基本思想: 无; 关键点: 无; #include<iostream> #include<string> #include<vector> #include<queue> using namespace std; const int maxn = 1000000; int num[maxn]; in ...
分类:
其他好文 时间:
2020-03-14 01:23:45
阅读次数:
69
基本思想: 无; 关键点: 无; #include<iostream> #include<string> #include<vector> #include<algorithm> #include<set> using namespace std; const int maxn = 1000000; ...
分类:
其他好文 时间:
2020-03-14 01:12:51
阅读次数:
56
关键点: 无; 基本思想: 无; #include<iostream> #include<string> #include<vector> #include<algorithm> using namespace std; int ht[101]; int main() { int n; int a; ...
分类:
其他好文 时间:
2020-03-14 00:49:53
阅读次数:
62
1. Kruskal 算法 Prim 算法是从 [顶点] 的角度来刻画生成树的,Kruskal 算法则是从 [边] 的角度来进行刻画的 基本思想 按照权值从小到大的顺序选择 n 1 条边,并保证这 n 1 条边不构成回路 具体做法 首先构造 一个只含 n 个顶点的森林 ,然后依权值从小到大从连通网中 ...
分类:
编程语言 时间:
2020-03-14 00:41:32
阅读次数:
78
dp的基本思想,是把大问题转化成一个个小问题,然后递归解决。 所以本质思想的话还是递归。 dp最重要的是要找到状态转移方程,也就是把大问题化解的过程。 举个例子 一个数字金字塔 1 1 2 2 3 3 2 2 2 4 3 1 3 3 在上面的数字三角形中寻找一条从顶部到底边的路径,使得路径上所经过的 ...
分类:
其他好文 时间:
2020-03-12 20:27:04
阅读次数:
48
基本思想: 无; 关键点: 无; #include<iostream> #include<vector> #include<algorithm> #include<math.h> #include<string> using namespace std; void mutlip(string &s, ...
分类:
其他好文 时间:
2020-03-12 00:02:57
阅读次数:
68
一、冒泡排序 基本思想: 对需要排序的数组从后往前(逆序)进行多遍的扫描,当发现相邻的两个数值的次序与排序要求的规则不一致时,就将这两个数值进行交换。这样比较小(大)的数值就将逐渐从后面向前面移动。 //冒泡排序 function mysort($arr) { for($i = 0; $i < co ...
分类:
编程语言 时间:
2020-03-11 18:10:03
阅读次数:
58