算法
小徐变大徐
这个作者很懒,什么都没留下…
展开
-
2021-01-15
图的存储 邻接矩阵 邻接表 链式前向星 边集 邻接矩阵 g[N][N],比较浪费空间,适合存储稠密图 邻接表vector G[N]。 链式前向星 e[N], ne[N],w[N], idx Edge{ u, v, w } edge[N]。使用在bellman_ford等算法中。 ...原创 2021-01-15 12:05:47 · 132 阅读 · 1 评论 -
DS
整理的DS课后题 该死!竟然没答案!!我写了半天竟然没答案!! 几种栈的表示:链栈、数组栈,两栈共享空间 纯虚基类 // created on 2020.10.21 by Joe #ifndef STACK_H #define STACK_H_ template <typename T> class stack { public: virtual ~stack() {} virtual bool empty() const = 0; virtual int size() con原创 2020-10-22 17:26:47 · 190 阅读 · 0 评论 -
2020-10-19
凸包/基数排序 好久没写博客了今天上交一篇关于数据结构作业的博客8~ 求凸包,O(nlogn) // 求凸包,不采用任何链表或者arrayList,直接采用裸数组,实质一样(其实是我不想写双向链表了...哭T_T) #include <iostream> #include <algorithm> using namespace std; int count = 0; // 凸包中点的个数 int n; // 输入元素个数 // 点对象 struct point { int原创 2020-10-19 22:38:12 · 125 阅读 · 0 评论 -
排序算法1
选择排序 时间复杂度O(n*n),基本思想是每轮找出未排序部分中的最值 从小到大排序版本 // 假设数组为A[n] for(int i = 0;i < n-1;i++){ int k = i; for(int j = i+1;j < n;j++){ if(A[k] > A[j]) k = j; } int temp = A[i]; A[i] = A[k]; A[k] = temp; } 冒泡排序 时间复杂度是O(n*n),基本思想是每轮将未排序部分最值移到首或原创 2020-06-17 20:37:40 · 145 阅读 · 0 评论