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 · 297 阅读 · 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 · 1481 阅读 · 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 · 69 阅读 · 0 评论 -
浙大DS_第二章_线性表_基础代码
未纠错线性表顺序储存#include<stdio.h>#include<stdlib.h>typedef int Position;typedef int ElemType;#define MAXSIZE 100struct LNode { ElemType Data[MAXSIZE]; Position Last;};typedef struct LNode* List;/* 初始化 */List MakeEmpty(){ Li原创 2021-10-31 00:42:37 · 75 阅读 · 0 评论 -
浙大DS_第二章_堆栈_基础代码
未纠错堆栈顺序储存//关于堆栈顺序储存与链式储存的区别://链式储存在push函数中,每添加一个新元素,需要malloc一个新的小链表,即每次都需要声明一个小结构体//而顺序储存除了在create使用过一次结构体之外,此外均使用数据和MaxSize进行调控//即结构体内成员储存数据(链式)与结构体内数组储存数据(顺序)的区别#include<stdio.h>#include<stdlib.h>#define ERROR -1typedef int ElemTy原创 2021-10-31 00:41:24 · 114 阅读 · 0 评论 -
浙大DS_第二章_队列_基础代码
未纠错队列顺序储存#include<stdio.h>#include<stdlib.h>typedef int ElemType;typedef int Position;#define ERROR -1typedef struct QNode { //数组形式储存数值 ElemType* data; Position rear; Position front; int MaxSize;};typedef QNode* Queue;Queue C原创 2021-10-31 00:40:12 · 84 阅读 · 0 评论 -
队列的出入栈问题_存疑(问号处)
#include<stdio.h>#include<stdlib.h>typedef int ElemType;#define MaxSize 10#define ERROR -1typedef 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 · 101 阅读 · 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 · 315 阅读 · 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 · 52 阅读 · 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 · 147 阅读 · 0 评论