- 博客(11)
- 收藏
- 关注
原创 二叉树的遍历
main.h#include <stdio.h>#include <stdlib.h>#define MaxSize 5typedef int ElemType;typedef struct{ ElemType data[MaxSize];//数组,存储MaxSize-1个元素 int front,rear;//队列头 队列尾}SqQueue;void InitQueue(SqQueue &Q){ Q.rear=Q.front=0;}//判空b
2022-10-23 20:36:17
142
原创 考研系列之数据结构——串的模式匹配算法
#include <stdio.h>#include <stdlib.h>#include <string.h>typedef char* SString;//暴力比对//S abcabaaabaabcac//T abaabcac//为什么从1位置开始比较,因为0号位置存储了字符串的长度int Index(SString S,SString T){ int i=1,j=1; while(i<=S[0]&&j<=T[0]
2022-03-21 19:39:22
163
原创 考研系列之数据结构——冒泡排序与快速排序
#include <stdio.h>#include <stdlib.h>#include <time.h>#include <string.h>typedef int ElemType;typedef struct{ ElemType *elem;//存储元素的起始地址 int TableLen;//元素个数}SSTable;void ST_Init(SSTable &ST,int len){ ST.TableLen=len;
2022-03-21 19:24:06
122
原创 考研系列之数据结构——dijkstra算法
#define _CRT_SECURE_NO_WARNINGS#include"iostream"#include"cstring"#include"cstdio"using namespace std;#define INF 0x7f7f7f7fconst int N = 5; //点的个数上限int maze[N][N];int dis[N];bool vis[N];//点的个数和边的条数int n, m;void init(){ memset(maze, I
2022-03-21 19:14:52
263
原创 考研系列之数据结构——循环队列
#include <stdio.h>#include <stdlib.h>#define MaxSize 5typedef int ElemType;typedef struct{ ElemType data[MaxSize];//数组,存储MaxSize-1个元素 int front,rear;//队列头 队列尾}SqQueue;void InitQueue(SqQueue &Q){ Q.rear=Q.front=0;}//判空bool isE
2022-03-21 19:13:23
90
原创 考研系列之数据结构——二叉树的插入、删除、遍历、查找操作
//二叉树的插入操作int BST_Insert(BSTree &T,TElemType data) {if (T == NULL){T = (BSTree)malloc(sizeof(BSTNode));T->data = data;T->lchild = NULL;T->rchild = NULL;return 1;}else if(data < T->data){return BST_Insert(T->lchild,data);
2022-03-21 19:09:07
102
原创 考研系列之数据结构——哈夫曼树以及哈夫曼编码
//哈夫曼树结点结构typedef struct HNode{ char data; //数据,比如说a,b,c... double weight;//权重 int parent;//双亲,-1表示没有双亲,即根节点 int lchild;//左孩子,数组下标,-1表示无左孩子,即叶节点 int rchild;//右孩子}Hnode;//编码结构,每个节点数据都对应一个编码 typedef struct HCNode{ char data; //数据 string code;/
2022-03-21 19:07:04
331
原创 自学C++笔记(第一部分:C++核心编程)
前言:由于考研需要以及C++强大的STL,决定入手c++!C语言部分就不做重复,直接开始核心编程部分程序的内存模型代码区全局区栈区:由计算机自己分配管理,由计算机进行分配和释放堆区:由程序员进行分配(比如说用new进行数据开辟)New操作符在堆区进行开辟数据,由程序员进行手动开辟,释放利用操作符delete;New返回的是该类型的指针;Delete释放数组的时候要加括号,delete[] 数组指针;#include<iostream>using namespace std;
2022-01-02 10:31:08
231
原创 并行处理分布式系统考点复习
任务并行与数据并行任务并行:将许多可以解决问题的任务分割,然后分布在一个或者多个核上进行程序的执行。数据并行:将可以解决问题的数据进行分割,将分割好的数据放在一个或者多个核上进行执行;每一个核对这些数据都进行类似的操作。冯诺依曼体系结构的瓶颈以及改进瓶颈:cpu与主存的分离(可以比喻为负责生产的工厂与仓库的分离)改进:CPU缓存是两种方案的结合(CPU缓存是基于访存局部性而设计)(例子中通过(1)加宽公路(多通道)(2)迁移工厂或仓库,建立统一的场地来改进)flynn的分类以及特点单指令流单数
2022-01-01 03:07:48
573
原创 链栈的基本操作
还是要注意内存访问权限的问题数组越界指针未初始化(野指针)链栈的数据结构//链表的结构typedef struct LinkStackNode{ element data; LinkStackNode* next;}LinkStackNode, * LinkStack;链栈的初始化//初始化链栈int Init_LinkStack(LinkStackNode *top)//有头节点{ top = (LinkStackNode*)malloc(sizeof(LinkStack
2021-12-23 15:57:39
595
原创 数据结构之栈的基本操作(顺序栈)
数据结构之栈语言版本特点:后进先出(LIFO:last in,first out)基本操作:栈的初始化、判断空、栈满、取栈顶的元素、在栈顶进行插入和删除;在栈顶插入元素称为入栈、在栈顶删除元素成为出栈;在这里插入代码片typedef struct{SDatatype *base;//栈底指针SDatatape *top;//栈顶指针int StackSize;//栈中定义内存大小}SqStack;新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markd
2021-12-22 00:22:48
2460
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人