自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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 117

原创 第六章 图——图的遍历

深度优先搜索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 96

原创 第六章 图——图的存储结构

图的邻接矩阵表示法#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 82

原创 数据结构总结 第五章 二叉树——二叉树的应用

计算二叉树的深度//后序遍历的基础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 112 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 210

原创 数据结构总结 第三章 栈和队列——链队

队列的链式存储结构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 110

原创 数据结构总结 第三章 栈和队列——顺序队

队列的顺序存储结构#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 109

原创 数据结构总结 第三章 栈和队列——链栈

链栈的存储结构//栈顶就是链表的首结点,因此一般链栈不需要设置头结点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 161

原创 数据结构总结 第三章 栈和队列——顺序栈

顺序栈的存储结构#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 116

原创 数据结构总结 第二章 线性表——双向链表

双向链表的存储结构//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 105 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 163

原创 数据结构总结 第二章 线性表——单链表

单链表的存储结构//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 107

原创 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 303

原创 数据结构总结 第五章 二叉树——二叉树的遍历

//先序遍历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 75

原创 数据结构总结 第五章 二叉树——线索二叉树

//充分利用空链域来存放结点的前驱和后继信息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 116

原创 数据结构总结 第五章 二叉树的应用——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 236

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除