中国大学MOOC-陈越、何钦铭-数据结构-2015秋
asunamashiro
这个作者很懒,什么都没留下…
展开
-
04-树6 Complete Binary Search Tree
#include #include int compare(const void *a, const void *b);void Solve(int ALeft, int ARight, int TRoot, int A[], int T[]);int Get_Left_Nodes(int n);int Min(int a, int b);int main(int argc, ch原创 2015-09-27 16:31:32 · 425 阅读 · 0 评论 -
09-排序1 排序
#include #include void Bubble_Sort(long long int A[], int N);void Insertion_Sort(long long int A[], int N);void Shell_Sort(long long int A[], int N);void Heap_Sort(long long int A[], int N);原创 2015-10-02 10:34:02 · 548 阅读 · 0 评论 -
11-散列4 Hashing - Hard Version
//这个代码并不能完美通过,只能得26分,有一个测试点过不了//总之我还没调试出来,如果有人看见了能指出问题欢迎评论留言#include #include #define Max 1000#define MinData -100000001int Graph[Max][Max];typedef struct HeapStruct *MinHeap;struct HeapStru原创 2015-10-03 16:39:13 · 932 阅读 · 2 评论 -
11-散列2 Hashing
#include #include typedef struct HashTbl{ int TableSize; int *Elements; int *Staus;} *HashTable;int NextPrime(int x);HashTable InitializeTable(int TableSize);void DestroyTable(HashTable H);原创 2015-10-03 16:37:33 · 891 阅读 · 0 评论 -
11-散列1 电话聊天狂人
#include #include #include typedef struct ListNode *Position;typedef struct ListNode{ char PhoneNum[12]; int cnt; Position Next;} *List;typedef struct HashTbl{ int TableSize; List *TheLis原创 2015-10-03 16:36:41 · 1720 阅读 · 1 评论 -
11-散列3 QQ帐户的申请与登陆
#include #include #include typedef struct ListNode *Position;typedef struct ListNode{ char account[11], password[17]; Position Next;} *List;typedef struct HashTbl{ int TableSize; List *The原创 2015-10-03 16:38:28 · 1394 阅读 · 0 评论 -
01-复杂度1 最大子列和问题
#include int MaxSubseqSum(const int A[], int N){int ThisSum = 0, MaxSum = 0;for (int i = 0; i ThisSum += A[i];if (ThisSum > MaxSum)MaxSum = ThisSum;else if(ThisSum ThisSum = 0;}原创 2015-09-17 14:55:27 · 408 阅读 · 0 评论 -
02-线性结构1 一元多项式的乘法与加法运算
#include #include typedef struct node{ int coefficient; int exponent; struct node * next;} PolyNode, *Polynomial;Polynomial ReadPoly();void Attach(int c, int e, Polynomial * Rear);Polynomi原创 2015-09-17 15:00:07 · 5275 阅读 · 3 评论 -
01-复杂度2 Maximum Subsequence Sum
#include int MaxSubseqSum(const int A[], int* p, int* q, int N){ int ThisSum = 0, MaxSum = 0; for (int i = 0; i < N; i++){ ThisSum += A[i]; if (ThisSum > MaxSum) MaxSum = ThisSum; el原创 2015-09-17 14:58:38 · 521 阅读 · 0 评论 -
02-线性结构2 Reversing Linked List
#include #define MAX_SIZE 100001typedef struct node{ int address; int data; int next_address; struct node * next;} Node; Node * ListReverse(Node * L, int k);void PrintList(Node * L);原创 2015-09-22 17:13:01 · 1075 阅读 · 0 评论 -
02-线性结构3 Pop Sequence
#include #include #define MaxSize 1001typedef struct node{ int top; int cap; int data[MaxSize];} Stack;Stack* CreateStack();void Push(Stack *PtrS, int e);void Pop(Stack *PtrS);int CheckS原创 2015-09-22 17:15:00 · 493 阅读 · 0 评论 -
03-树1 树的同构
#include #define MaxTree 10typedef struct TreeNode{ char element; int left; int right;} BinTree;BinTree BT1[MaxTree], BT2[MaxTree];int BuildTree(BinTree T[]);int Isomorphic(int root1, int原创 2015-09-22 17:16:35 · 705 阅读 · 0 评论 -
03-树2 List Leaves
#include #include #define MaxTree 10typedef struct TreeNode{ int number; int left; int right;} BinTree;BinTree T[MaxTree];typedef struct QNode{ int Data[MaxTree]; int rear; int front;}原创 2015-09-22 17:17:40 · 470 阅读 · 0 评论 -
03-树3 Tree Traversals Again
#include #include #include #define MAXSIZE 30typedef struct node{ int top; int cap; int data[MAXSIZE];} Stack;int preOrder[MAXSIZE];int inOrder[MAXSIZE];int postOrder[MAXSIZE];Stack* C原创 2015-09-22 17:18:14 · 742 阅读 · 0 评论 -
04-树4 是否同一棵二叉搜索树
#include #include typedef struct TreeNode{ int data; struct TreeNode* Left; struct TreeNode* Right; int flag;}TreeNode, *Tree;Tree MakeTree(int N);Tree NewTreeNode(int tmp);Tree Insert(T原创 2015-09-23 23:12:12 · 2242 阅读 · 0 评论 -
08-图9 关键活动
#include #define MAXINT 0x7fffffff#define Max 101int Graph[Max][Max], Indegree[Max], Outdegree[Max], Earliest[Max], Latest[Max];int max(int a, int b){ if (a > b) return a; else return b;原创 2015-10-02 10:33:08 · 971 阅读 · 2 评论 -
07-图4 哈利·波特的考试
#include int Min(int a, int b);int Max(int a, int b);int main(int argc, char const *argv[]){ // freopen("test.txt", "r", stdin); int N, M; scanf("%d %d", &N, &M); int graph[N+1][N+1]; for (原创 2015-10-02 10:28:28 · 1867 阅读 · 0 评论 -
10-排序4 统计工龄
#include #define Bucket_Nums 51void Bucket_Sort(int A[], int N);int main(int argc, char const *argv[]){ // freopen("test.txt", "r", stdin); int N; scanf("%d", &N); int A[N], tmp; for (int原创 2015-10-02 11:10:31 · 1195 阅读 · 0 评论 -
06-图1 列出连通集
#include #include #define MaxVertexNum 10int Visited[MaxVertexNum];typedef struct MGraph{ int Vertices[MaxVertexNum]; int Edges[MaxVertexNum][MaxVertexNum]; int n, e;} MGraph;typedef struc原创 2015-09-27 16:35:48 · 1912 阅读 · 1 评论 -
06-图3 六度空间
有借鉴http://blog.csdn.net/xkzju2010/article/details/46503251#include #include #define MaxVertexNum 10000int *Visited;typedef struct QNode{ int Data[MaxVertexNum]; int rear; int front;} QNode,原创 2015-09-27 16:37:49 · 966 阅读 · 0 评论 -
05-树7 堆中的路径
#include #include #define MinData -10001typedef struct HeapStruct *MinHeap;struct HeapStruct{ int *elements; int size; int capacity;};MinHeap Creats(int MaxSize);void Min_Insert(MinHeap H原创 2015-09-27 16:33:07 · 548 阅读 · 0 评论 -
06-图2 Saving James Bond - Easy Version
#include #include #define Island_Diameter 15int Visited[105];int FirstJump(int *a, int i, int D);int IsSafe(int *a, int i, int D);int Jump(int *a, int i, int j, int D);int DFS(int *a, int i,原创 2015-09-27 16:36:41 · 487 阅读 · 0 评论 -
05-树8 File Transfer
#include #include int Find(int x, int s[]);void Union(int c1, int c2, int s[]);int main(int argc, char const *argv[]){ int *s; int N, c1, c2; char ch; scanf("%d", &N); s = (int*)malloc(siz原创 2015-09-27 16:33:56 · 1097 阅读 · 1 评论 -
05-树9 Huffman Codes
#include #include #define MinData 0typedef struct TreeNode* HuffmanTree;struct TreeNode{ int weight; HuffmanTree Left; HuffmanTree Right;};typedef struct HeapStruct *MinHeap;struct HeapS原创 2015-09-27 16:34:46 · 1116 阅读 · 0 评论 -
08-图7 公路村村通
#include #define MAXINT 0x7fffffff#define Max 1001int Graph[Max][Max];int Prim(int N);void DFS(int N, int i, int *Visited);int main(int argc, char const *argv[]){ // freopen("test.txt", "r"原创 2015-10-02 10:31:30 · 1488 阅读 · 1 评论 -
10-排序6 Sort with Swap(0, i)
#include void swap(int *a, int *b){ int tmp = *a; *a = *b; *b = tmp;}// int findNotOk(int A[], int N)int findNotOk(int A[], int begin, int N)// 要从begin开始,从1开始会超时{ for (int i = begin; i < N;原创 2015-10-02 17:03:39 · 1310 阅读 · 1 评论 -
07-图6 旅游规划
#include #define Max 505int Graph[Max][Max], Cost[Max][Max];void Dijkstra(int S, int N, int *dist, int *cost);int main(int argc, char const *argv[]){// freopen("test.txt", "r", stdin); int N原创 2015-10-02 10:30:35 · 640 阅读 · 0 评论 -
09-排序2 Insert or Merge
#include #include void Insertion_Sort(int A[], int N);void Merge_pass(int A[], int tmpA[], int N, int length);void Merge(int A[], int tmpA[], int L, int R, int RightEnd);int compare(int a[], in原创 2015-10-02 10:34:59 · 730 阅读 · 0 评论 -
10-排序5 PAT Judge
#include #include typedef struct stu{ int id; int s[6];//各题分数 int score;//总分 int pass;//完全正确的题目数 int ns;//无提交或无任何通过编译标志,0代表没有通过} Stu;void sort(Stu stu[], int N);int compare(const Stu *s1,原创 2015-10-02 15:04:30 · 660 阅读 · 1 评论 -
07-图5 Saving James Bond - Hard Version
#include #include typedef struct { int x, y; int pre; int escape;} Vertex;typedef struct Node { int value; struct Node *next;} Table;int Abs(int a) //求a的绝对值{ if (a < 0) a = -a; retu原创 2015-10-02 10:29:40 · 564 阅读 · 0 评论 -
08-图8 How Long Does It Take
#include #define Max 100int Graph[Max][Max], Indegree[Max], Outdegree[Max], Earliest[Max];int max(int a, int b){ if (a > b) return a; else return b; }int Earliest_Time(int N);int main原创 2015-10-02 10:32:21 · 841 阅读 · 0 评论 -
09-排序3 Insertion or Heap Sort
#include #include void Insertion_Sort(int A[], int N);void PercDown(int A[], int i, int N);int compare(int a[], int b[], int N){ for (int i = 0; i < N; i++){ if (a[i] != b[i]) return 0;原创 2015-10-02 10:35:42 · 485 阅读 · 0 评论 -
04-树5 Root of AVL Tree
#include #include typedef int ElementType;typedef struct AVLNode *AVLTree; /* AVL树类型 */typedef struct AVLNode{ ElementType Data; /* 结点数据 */ AVLTree Left; /* 指向左子树 */ AVLTree Righ原创 2015-09-23 23:14:05 · 547 阅读 · 0 评论