![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
KID怪盗基德1412
这个作者很懒,什么都没留下…
展开
-
两种动态创建二维数组的方法
#include<iostream> #include<cstdlib> #include<iomanip> #include"windows.h" using namespace std; template <typename T> void Creat_two_array(T **&x, const int &row,const...原创 2019-01-13 11:04:33 · 912 阅读 · 0 评论 -
C++中最短路径算法(Floyd)
首先是时间复杂度为O(n^3)的多源最短路径算法Floyd. 详细算法原理请参照https://blog.csdn.net/mgsky1/article/details/77998422 #include <iostream> #include<iomanip> #include<windows.h> using namespace std; /*多源最短...原创 2019-03-13 20:08:05 · 869 阅读 · 0 评论 -
C++归并排序
C++归并排序与快速排序一样都是利用分治算法的思想,所以复杂度均是O(nlogn) #include <iostream> #include<cstdio> #include<vector> #include<iterator> #include<algorithm> using namespace std; //归并排序时间复杂度为...原创 2019-03-22 09:16:36 · 978 阅读 · 0 评论 -
C++快速排序
#include<iostream> #include<algorithm> #include<assert.h> #include<stack> using namespace std; template<class T> void quick_sort(T *arr,int left,int right) { assert(a...原创 2019-03-12 16:36:18 · 128 阅读 · 0 评论 -
C++中0/1背包问题
主要依据以下动态规划中迭代方程:表示在物品中,在容量为大小的问题中最优结果。(表示的价值,表示的重量) #include <iostream> #include<vector> #include<cstring> using namespace std; in...原创 2019-03-15 16:55:10 · 710 阅读 · 0 评论 -
C++最小生成树Prim算法
#include <iostream> #include<climits> #include<vector> #include<windows.h> #define inf 0x3fffffff using namespace std; int n; int prim(int &v0, vector< vector<int>...原创 2019-03-15 11:21:34 · 880 阅读 · 0 评论 -
C++最小生成树Kruskal算法
Kruskal算法是求解无向有权图的最小生成树的一种渐进时间复杂度为O(n+eloge)算法(如果用小根堆进行排序的话),它利用了贪心策略:每次寻找权值最小的边加入集合,且这个边的加入不会产生回路。详细的算法步骤分析,参照https://blog.csdn.net/mgsky1/article/details/77840286 #include<iostream> #include...原创 2019-03-15 09:19:11 · 1964 阅读 · 0 评论 -
C++数组遍历(BFS和DFS)
深度优先遍历DFS是针对树中某个节点首先朝一个子节点方向一直遍历到叶子节点,然后通过递归(或者压栈)将所有节点遍历完成。而广度优先遍历BFS是对一个节点的子节点全部遍历完成后继续遍历子节点的所有子节点,最终完成整个遍历过程。因此,我们将这两种算法应用到矩阵的元素遍历上。(时间复杂度较大>O(n^2)可优化) #include<iostream> #include<que...原创 2019-03-14 11:32:53 · 474 阅读 · 0 评论 -
C++中最短路径算法(Dijkstra)
其次是时间复杂度为O(n^2)的单源最短路径算法Dijkstra(可以优化为O(nlogn))时间复杂度 详细算法过程请参阅https://www.cnblogs.com/smile233/p/8303673.html #include<iostream> //#include<climits>//INT_MAX所需头文件 #include<utility>...原创 2019-03-14 10:12:15 · 444 阅读 · 0 评论 -
全排列的不同方式(递归和STL算法)
#include<iostream> #include<cstdlib> #include<algorithm> #include<iomanip> #include<functional> #include<iterator> #include<numeric> #include<vector&a原创 2019-01-13 12:17:42 · 315 阅读 · 1 评论 -
二叉树的镜像翻转
主要实现二叉树的左右子树的一个翻转过程 #include <iostream> #include<queue> using namespace std; struct BinaryTreeNode { int value; BinaryTreeNode *lchild,*rchild; }; //利用递归方法 void mirrorRecursiv...转载 2019-03-23 14:49:09 · 395 阅读 · 0 评论