
DS
jianglx3
跨考汪一以贯之!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
单链表的查找
#include<stdio.h> //按位查找 按值查找 typedef int ElemType; typedef struct LNode { ElemType data; struct LNode* next; }LNode, * LinkList; //按位查找,返回第i个元素(带头结点) 平均时间复杂度O(n) LNode* GetElem(LinkList L, int i) { if (i < 0) { return NULL; } LNod.原创 2021-11-06 19:57:15 · 334 阅读 · 0 评论 -
单链表的插入与删除
王道2022-2.2.6 #include<stdio.h> #include<stdlib.h> //对应插入的前插与后插两种方法,删除也有头指针遍历法与偷天换日法 //前插与后插区别主要问题出在: p的前驱结点是否为神秘区域 (是否给出头结点) //前插与后插区别主要表现在于: 平均时间复杂度O(1)与O(n) //前插与后插区别主要手法比较: 前后正常连接与在正常连接基础上进行数据交换,造成真的进行了前插的假象 (实际新结点是后插的) typedef int Ele...原创 2021-11-06 18:32:51 · 1579 阅读 · 0 评论 -
浙大DS_第二章_章末练习_多项式计算(链式)
注意:未明晰,为何传递指针地址,只是指针不可以完成更改数值任务吗? #include<stdio.h> #include<stdlib.h> typedef struct PolyNode { int coef; int expon; struct PolyNode* link; }; typedef struct PolyNode* Polynomial; //输出多项式 void PrintPoly(Polynomial P) { int flag = 0; if原创 2021-10-31 00:44:30 · 99 阅读 · 0 评论 -
浙大DS_第二章_线性表_基础代码
未纠错 线性表顺序储存 #include<stdio.h> #include<stdlib.h> typedef int Position; typedef int ElemType; #define MAXSIZE 100 struct LNode { ElemType Data[MAXSIZE]; Position Last; }; typedef struct LNode* List; /* 初始化 */ List MakeEmpty() { Li原创 2021-10-31 00:42:37 · 97 阅读 · 0 评论 -
浙大DS_第二章_堆栈_基础代码
未纠错 堆栈顺序储存 //关于堆栈顺序储存与链式储存的区别: //链式储存在push函数中,每添加一个新元素,需要malloc一个新的小链表,即每次都需要声明一个小结构体 //而顺序储存除了在create使用过一次结构体之外,此外均使用数据和MaxSize进行调控 //即结构体内成员储存数据(链式)与结构体内数组储存数据(顺序)的区别 #include<stdio.h> #include<stdlib.h> #define ERROR -1 typedef int ElemTy原创 2021-10-31 00:41:24 · 154 阅读 · 0 评论 -
浙大DS_第二章_队列_基础代码
未纠错 队列顺序储存 #include<stdio.h> #include<stdlib.h> typedef int ElemType; typedef int Position; #define ERROR -1 typedef struct QNode { //数组形式储存数值 ElemType* data; Position rear; Position front; int MaxSize; }; typedef QNode* Queue; Queue C原创 2021-10-31 00:40:12 · 119 阅读 · 0 评论 -
队列的出入栈问题_存疑(问号处)
#include<stdio.h> #include<stdlib.h> typedef int ElemType; #define MaxSize 10 #define ERROR -1 typedef struct Node { //数组形式储存数值 ElemType* data; struct Node* next; int rear; int front; }; typedef Node* List; void push(ElemType elem, List .原创 2021-10-29 18:17:22 · 133 阅读 · 0 评论 -
浙大DS_02-线性结构1 两个有序链表序列的合并
#include <stdio.h> #include <stdlib.h> typedef int ElementType; typedef struct Node* PtrToNode; struct Node { ElementType Data; PtrToNode Next; }; typedef PtrToNode List; List Read(); /* 细节在此不表 */ void Print(List L); /* 细节在此不表;空链表将.原创 2021-10-28 20:18:24 · 365 阅读 · 0 评论 -
浙大DS_2021秋_Maximum Subsequence Sum
1.使用在线处理算法,成功运行 #include<iostream> using namespace std; void SumArray4(int* num, int k, int& L, int& R, int& max, int& t) { L = 0; int sum = 0; int L0 = 0; int k0 = 0; for (int i = 0; i < k; i++) { //第一个0的位置记录 if (num[i原创 2021-10-24 14:47:22 · 82 阅读 · 0 评论 -
最大子列和_浙大DS_MOOC (new与num[100005]的奇怪bug)
int Max3(int A, int B, int C) { /* 返回3个整数中的最大值 */ return A > B ? A > C ? A : C : B > C ? B : C; } } int DivideAndConquer(int List[], int left, int right) { /* 分治法求List[left]到List[right]的最大子列和 */ int MaxLeftSum, MaxRightSum; /* 存放左右子问题的解 */.原创 2021-10-20 11:31:21 · 167 阅读 · 0 评论