- 博客(16)
- 收藏
- 关注
原创 个人常备随记
pip 换源常用豆瓣源pip install 库名 -i http://pypi.douban.com/simple --trusted-host pypi.douban.com其他源清华:https://pypi.tuna.tsinghua.edu.cn/simple阿里云:http://mirrors.aliyun.com/pypi/simple/中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/...
2022-05-13 16:35:46
183
原创 第六章 图——图的遍历
深度优先搜索bool visited[MVNum]; //访问标志数组,初始值为false//连通图void DFS(Graph G, int v) //从第v个顶点开始{ cout << v; visited[v] = true; //FirstAdjvex(G,v):表示v的第一个邻接点 //NextAdjvex(G,v,w):表示v的相对于w的下一个邻接点 for(w = FirstAdjvex(G,v); w >= 0; w = NextAdjvex(G,v
2021-02-16 20:08:13
148
原创 第六章 图——图的存储结构
图的邻接矩阵表示法#define MaxInt 32767 //表示极大值,表示两个顶点之间没有连线#define MVNum 100 //最大顶点数typedef char VerTexType;typedef int ArcType;typedef struct{ VerTexType vexs[MVNum]; //顶点表 ArcType arcs[MVNum][MVNum]; //邻接矩阵 int vexnum, arcnum; //图的当前点数和边数}AMGraph; /
2021-01-12 21:50:00
121
原创 数据结构总结 第五章 二叉树——二叉树的应用
计算二叉树的深度//后序遍历的基础int Depth(BiTree T){ if(T = NULL) { return 0; } else { m = Depth(T->lchild); n = Depth(T->rchild); //二叉树的深度为m与n中较大者加1 if(m > n) { return m+1; } esle { return n+1; } }}统计二叉树中结点的个数int NodeCoun
2021-01-06 22:29:27
193
1
原创 数据结构总结 第五章 二叉树——二叉树的存储结构
二叉树的顺序存储结构#define MAXTSIZE 100typedef TElemType SqBiTree[MAXTSIZE];SqBiTree bt;二叉树的链式存储结构typedef struct BiTNode{ TElemType data; struct BiTNode *lchild, *rchild;}BiTNode, *BiTree;
2021-01-06 17:07:23
251
原创 数据结构总结 第三章 栈和队列——链队
队列的链式存储结构typedef struct QNode{ QElemType data; struct QNode *next;}QNode, *QueuePtr;typedef struct{ QueuePtr front; QueuePtr rear;}LinkQueue;初始化Status InitQueue(LinkQueue *Q){ //有头结点!意味着头结点的下一位才是第一个元素 Q->front = Q->rear = new QNode;
2021-01-05 18:05:59
148
原创 数据结构总结 第三章 栈和队列——顺序队
队列的顺序存储结构#define MAXSIZE 100//顺序队列一般都用循环的存储模式,否则容易浪费空间typedef struct{ QElemType *base; int front; //指向队首元素 int rear; //指向队尾元素的后一位}SqQueue;初始化循环队列Status InitQueue(SqQueue *Q){ Q->base = new QElemType[MAXSIZE]; if(!Q->base) return ERROR
2021-01-05 17:52:55
148
原创 数据结构总结 第三章 栈和队列——链栈
链栈的存储结构//栈顶就是链表的首结点,因此一般链栈不需要设置头结点typedef struct StackNode { ElemType data; struct StackNode *next;}StackNode, *LinkStack;初始化Status InitStack(LinkStack *S){ S = NULL; return OK;}入栈//头插法入栈Status Push(LinkStack *S, SElemType e){ /* Stack
2021-01-05 17:18:14
274
原创 数据结构总结 第三章 栈和队列——顺序栈
顺序栈的存储结构#define MAXSIZE 100typedef struct{ SElemType *base; //始终指向基地址 SElemType *top; //当栈非空时,指向栈顶元素的上一个位置 int stacksize;}SqStack;初始化Status InitStack(SqStack *S){ /* S->base = (SElemType *)malloc(MAXSIZE * sizeof(SElemType)); */ S->b
2021-01-05 17:13:41
213
原创 数据结构总结 第二章 线性表——双向链表
双向链表的存储结构//Double Linked Listtypedef struct DuLNode{ ElemType data; struct DuLNode *prior; struct DuLNode *next;}DuLNode, *DuLinkList;插入Status ListInsert_DuL(DuLNode *L, int i, ElemType e){ //在带头结点的双向链表L中第i个位置之前插入元素e if(!(p=GetElem_DuL(L,i))
2021-01-04 20:46:59
185
1
原创 数据结构总结 第二章线性表——顺序表
顺序表的存储结构//Sequential List//C语言可用动态分配的一维数组表示线性表#define MAXSIZE 100typedef struct{ ElemType *elem; //存储空间的基地址 int length;}SqList;初始化Status InitList(SqList *L){ /* L->elem = (ElemType *)malloc(MAXSIZE * sizeof(ElemType)); //C语言具体表达方式 mallo
2021-01-04 17:56:07
201
原创 数据结构总结 第二章 线性表——单链表
单链表的存储结构//LNode表示一个单一的结点//*LinkList表示头指针,指向一个单链表的头结点,头结点一般为空!typedef struct LNode{ ElemType data; struct LNode *next;}LNode, *LinkList;初始化Status InitList(LinkList *L){ /* *L = (LNode *)malloc(sizeof(LNode)); */ //头结点的data一般为空 (*L) = new LN
2021-01-04 17:33:26
162
原创 LeetCode:买卖股票的最佳时机含手续费(个人理解,希望对你有帮助)
下面是LeetCode的官方答案,我是在此基础上来理解答案。DAYS012345prices134849cash001558hold-1-1-1-111手续费fee=2设置为在卖出股票时才支付。【DAY 0】1cash[0]:初始化为0,因为不持有任何股票hold[0]:初始化为 -prices[1],也就是在第0天买入当天股票(其实有点像做空hha)【DAY 1】3cash[1]:不持有股票,就是要把手上的
2020-12-16 23:08:44
370
原创 数据结构总结 第五章 二叉树——二叉树的遍历
//先序遍历void PreOrderTraverse(BiTree T){ if(T) { cout<<T->data; PreOrderTraverse(T->lchild); PreOrderTraverse(T->rchild); }}//中序遍历void InOrderTraverse(BiTree T){ if(T) { InOrderTraverse(T->lchild); cout<<T->da
2020-12-04 15:08:55
114
原创 数据结构总结 第五章 二叉树——线索二叉树
//充分利用空链域来存放结点的前驱和后继信息typedef struct BiThrNode{ TElemType data; struct BiThrNode *lchild, *rchild; int LTag, RTag;}/* lchild LTag data RTag rchild*//* LTag=0,lchild指示结点的左孩子 LTag=1,rchild指示结点的前驱 RTag=0,lchild指示结点的左孩子 RTag=1,rchild指示结点的前驱
2020-12-04 15:05:06
176
原创 数据结构总结 第五章 二叉树的应用——HuffmanTree及HuffmanCode
1、Huffman算法//哈夫曼树的存储表示//哈夫曼树说白了还是用数组表示的typedef struct { int weight; int parent, lchild, rchild; //双亲,左孩子,右孩子的下标}HTNode, *HuffmanTree;/* 哈夫曼树中没有度数为1的结点,所以一棵由n个叶子节点的哈夫曼树共有2n-1个结点; 哈夫曼树的各结点存储在动态分配的数组中,0号单元不适用,数组大小为2n; 叶子节点集中存储在前面1~n个位置,后面的n-1个位置存储
2020-12-04 15:00:15
287
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人