ACM_数据结构基础
acceptedwwh
当代大学生,阳光开朗,乐于交往和求知!
展开
-
Go语言入门
Golang标准库文档 go语言net包rpc远程调用的使用题目描述 计算字符串最后一个单词的长度,单词以空格隔开。 输入描述: 一行字符串,非空,长度小于5000。 输出描述: 整数N,最后一个单词的长度。 示例1 输入hello world 输出5package mainimport ( "fmt" "bufio" "os")func main原创 2017-11-08 19:20:43 · 462 阅读 · 0 评论 -
根据二叉树的先序和中序遍历重建二叉树
重建二叉树原创 2014-11-04 17:07:32 · 1188 阅读 · 0 评论 -
用邻接矩阵存储的有向图的非递归遍历
图的非递DFS原创 2014-11-04 16:21:45 · 1591 阅读 · 0 评论 -
C++类模板与异常处理
C++模板原创 2014-11-07 22:56:22 · 1475 阅读 · 0 评论 -
POJ2524 Ubiquitous Religions
POJ2524原创 2014-03-19 08:28:42 · 907 阅读 · 0 评论 -
hdu1232 畅通工程
#include #include #include #include using namespace std;const int maxn = 1000;int f[maxn+10];int getFather(int x) { if(x == f[x]) return x; else return f[x] = getFather(f[x]);}int gn, gm原创 2014-03-19 08:30:37 · 854 阅读 · 0 评论 -
hdu1004Let the Balloon Rise
#include #include #include #include #include using namespace std;// 2013-08-31 15:48:21 Accepted 1004 0MS 372K 956 B G++ Achiberxint main(){ int n; string t; map mymap; map::i原创 2013-08-31 15:49:16 · 969 阅读 · 0 评论 -
TOJ3650 Legal or Not
Legal or Not Time Limit(Common/Java):1000MS/3000MS Memory Limit:65536KByteTotal Submit: 41 Accepted: 18DescriptionACM-DIY is a large QQ group where many excellent原创 2013-08-26 23:13:28 · 995 阅读 · 0 评论 -
TOJ3651确定比赛名次
确定比赛名次 Time Limit(Common/Java):1000MS/3000MS Memory Limit:65536KByteTotal Submit: 23 Accepted: 19Description有N个比赛队(1 Input输入有若干组,每组中的第一行为二个数原创 2013-08-26 23:06:10 · 1991 阅读 · 0 评论 -
树的存储
#include #include #include using namespace std;const int maxn = 100;//树的节点const int maxm = 10000;//树的边。int s[maxn];struct node { int tail; int next;}edge[maxm];void dfs(int u) {//搜索原创 2013-08-14 22:22:35 · 1099 阅读 · 0 评论 -
图的存储
#include #include #include #include using namespace std;const int INF = 0x7fffffff;const int maxn = 1100;struct Edge { int from, to, dist;};vector edges;vector G[maxn];//类似邻接表,保存着边的编号。原创 2013-08-14 23:19:31 · 960 阅读 · 0 评论 -
希尔排序
#include #include #include #include using namespace std;void print(int v[], int n) { for(int i = 0; i < n; i++) { printf("%d ", v[i]); } cout << endl;}void shell_sort(in原创 2013-08-25 19:42:34 · 1261 阅读 · 0 评论 -
利用两个栈模拟队列
利用两个栈模拟队列原创 2014-11-04 15:41:01 · 1164 阅读 · 0 评论 -
学习笔记【8月8日】
问题:怎么实现堆排序?#include <bits/stdc++.h>using namespace std;void adjustDown(int A[], int k, int len) { A[0] = A[k]; for(int i = 2*k; i <= len; i *= 2) { if(i < len && A[i] < A[i+1]) {原创 2017-08-08 10:09:23 · 406 阅读 · 2 评论 -
【图论】最短路径&&最小生成树问题
最短路径的算法实现: 1。Dijkstra算法 2。SPFA算法 最小生成树的实现: 3。Prime算法 4。Kruskal算法 1。Dijkstra算法#include <iostream>#include <cstdio>#include <algorithm>#include <cstring>using namespace std;const int INF = 0x3原创 2017-08-09 14:51:16 · 380 阅读 · 0 评论 -
【编程】二叉树问题
1。由先序和中序建立二叉树。2。由中序和后序建立二叉树import java.util.Scanner;class Node { Node left; Node right; char value; Node() {} Node(char value) { left = null; right = null;原创 2017-09-04 18:42:13 · 433 阅读 · 0 评论 -
【PAT】Set Similarity&&Student List for Course
题目: Given two sets of integers, the similarity of the sets is defined to be Nc/Nt*100%, where Nc is the number of distinct common numbers shared by the two sets, and Nt is the total number of distinct原创 2017-08-24 18:31:39 · 317 阅读 · 0 评论 -
优先队列(C++/Java)
优先队列是一种非常重要的数据结构, 底层用堆实现。有限队列可以优化dijstra算法。 Java中PriorityQueue通过二叉小顶堆实现,可以用一棵完全二叉树表示。具体实现可以打开jdk源代码查看 参考资料:深入理解Java PriorityQueueimport java.util.Comparator;import java.util.PriorityQueue;import ja原创 2017-07-24 18:43:41 · 364 阅读 · 0 评论 -
滑动窗口的最大值(C++/Java)
题目:给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}; 思路:用一个双端队列,我们并不把每一个值都存入双端队列,而是 把可能成为最大值的数值的下标存入队列的中,对头每次保存的是当前的最大值。首先在size返回内初始化队列,如果当前数组的值大于原创 2017-07-24 19:49:19 · 1562 阅读 · 0 评论 -
经典问题的算法与实现
求最大公约数? 求最小公倍数? 这是经典而常见的问题,利用算术基本定理很容易证明! 拓展:求N个数的最小公倍数?#include <iostream>#include <cstdio>#include <vector>#include <cmath>using namespace std;//最大公约数int gcd(int a, int b) { if(b == 0) re原创 2017-07-15 20:29:45 · 615 阅读 · 1 评论 -
Codeforces Round #421 & #420
题目链接:A. Okabe and Future Gadget Laboratory#include <iostream>#include <cstdio>#include <vector>using namespace std;const int maxn = 53;int m[maxn][maxn];int n; bool work(int x, int y) { vecto原创 2017-06-28 19:10:13 · 313 阅读 · 0 评论 -
【编程】链表排序问题
1。单向链表的选择排序。时间复杂度O(n^2)空间复杂度O(1) (1)方法一 可以交换链表的值,不改变链表的指向。 (2)方法二 找到原链表值最小的节点,删掉并放在新链表的末尾。 2。Sort a linked list in O(n log n) time using constant space complexity. 利用归并对链表进行排序。题目链接:148. Sort List原创 2017-06-16 15:00:47 · 380 阅读 · 0 评论 -
【编程】链表问题
1。翻转单向链表import java.util.Scanner;public class Node { public int value; public Node next; public Node(int data) { this.value = data; next = null; } public Node() {原创 2017-06-15 18:27:35 · 339 阅读 · 0 评论 -
POJ3631
POJ3631原创 2015-05-11 15:34:03 · 572 阅读 · 0 评论 -
hdu 1041 Computer Transformation
#include #include #include #include #include using namespace std;const int ten[4] = {1, 10, 100, 1000};const int maxl = 1020;//最大的位数。//Compilation Error 1041 0MS 0K 2495 B C++ Achiberx//原创 2013-08-11 16:10:33 · 958 阅读 · 0 评论 -
hdu1873(看病要排队)
看病要排队 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 367原创 2013-04-29 10:08:22 · 1455 阅读 · 0 评论 -
POJ1330(Nearest Common Ancestors)
#include #include #include #include using namespace std;const int N = 10000;vector a[N];int f[N], r[N];void DFS(int u, int dep){ r[u] = dep; for(vector::iterator it = a[u].begin(); i原创 2012-11-06 22:50:56 · 1021 阅读 · 2 评论 -
字典树
#include #include #include #include using namespace std;const int kind = 26;struct node{ int num; bool terminal; node *next[26]; node(){ num = 1; terminal = fals原创 2012-09-17 23:35:17 · 1159 阅读 · 5 评论 -
单链表(基本操作)
#include #include #include #include using namespace std;typedef struct linknode{ int data; struct linknode *next;}nodetype; //创建链表nodetype *create(){ int d; nodetype *h = NULL,原创 2012-09-26 13:39:02 · 865 阅读 · 0 评论 -
二叉树(递归)
#include using namespace std;const char MAXN = 100;/*****************************给出前序遍历中序遍历,求后续遍历。****************************/void build(int n, char* s1, char* s2, char* s) { if(n <= 0)原创 2012-09-21 23:13:21 · 895 阅读 · 0 评论 -
十字链表(写的很漂亮呀!)
#include#include#define ok 1#define error 0typedef struct node{ int i, j; int e; struct node *right, *down;}node, *linklist;typedef struct{ int mu, nu, tu; linklist *rhead,转载 2012-10-18 21:15:37 · 1934 阅读 · 2 评论 -
感染者(并查集入门)
#include #include #include #define maxsize 30010using namespace std;typedef struct tree1{ int pre; int num;}Tree;Tree tree[maxsize];int find(int x){ if(tree[x].pre == x){原创 2012-10-17 20:13:52 · 1917 阅读 · 0 评论 -
栈的基本操作(链栈)
#include #include #include #include #include using namespace std; typedef struct Node{ int data; struct Node *next; }NODE, *PNODE; typedef struct Stack{ //PNODE pTop; str原创 2012-10-16 19:35:34 · 1350 阅读 · 0 评论 -
循环队列(顺序表示)
#include #include #include #define maxsize 8using namespace std;typedef int T;typedef struct queue{ T q[maxsize]; int front, rear;}Queue;void initqueue(Queue &Q){ Q.front = Q.rea原创 2012-10-16 21:23:29 · 1268 阅读 · 0 评论 -
hdu1166(树状数组入门)
#include #include #include #define M 10using namespace std;const int MAX = 50010;int a[MAX], c[MAX];int n;int lowbit(int x){ return x&(-x);}int sum(int len){ int temp = len; int re原创 2012-10-07 18:25:40 · 894 阅读 · 0 评论 -
UVA 11991
#include #include #include #include using namespace std;map > a; int main(){ int n, m, x, y; while(scanf("%d%d", &n, &m)) { a.clear(); for(int i = 0; i < n; i++) { scanf("%d", &x);原创 2012-11-13 14:47:30 · 951 阅读 · 0 评论 -
POJ 3253(Fence Repair)
#include #include #include #include using namespace std;const int maxn = 20010;long n, len = 0;long long p[maxn];void heap_insert(long long k) { long t = ++len; p[t] = k; while(t>1){原创 2012-11-13 15:44:12 · 874 阅读 · 0 评论 -
hdu2586(How far away ?)
How far away ? Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(原创 2013-04-18 19:50:37 · 1140 阅读 · 0 评论 -
POJ1330(Nearest Common Ancestors)
Nearest Common AncestorsTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 13824 Accepted: 7389DescriptionA rooted tree is a well-known data structure in com原创 2013-04-14 19:37:23 · 885 阅读 · 0 评论 -
POJ2299Ultra-QuickSort(64位long long)
Ultra-QuickSortTime Limit: 7000MS Memory Limit: 65536KTotal Submissions: 31628 Accepted: 11281DescriptionIn this problem, you have to analyze a particular sorting a原创 2013-04-09 19:41:44 · 1106 阅读 · 0 评论