- 博客(11)
- 收藏
- 关注
原创 二叉树的遍历
main.h #include <stdio.h> #include <stdlib.h> #define MaxSize 5 typedef 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 123
原创 考研系列之数据结构——串的模式匹配算法
#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 138 1
原创 考研系列之数据结构——冒泡排序与快速排序
#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 99
原创 考研系列之数据结构——dijkstra算法
#define _CRT_SECURE_NO_WARNINGS #include"iostream" #include"cstring" #include"cstdio" using namespace std; #define INF 0x7f7f7f7f const 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 234
原创 考研系列之数据结构——循环队列
#include <stdio.h> #include <stdlib.h> #define MaxSize 5 typedef 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 69
原创 考研系列之数据结构——二叉树的插入、删除、遍历、查找操作
//二叉树的插入操作 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 82
原创 考研系列之数据结构——哈夫曼树以及哈夫曼编码
//哈夫曼树结点结构 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 285
原创 自学C++笔记(第一部分:C++核心编程)
前言:由于考研需要以及C++强大的STL,决定入手c++!C语言部分就不做重复,直接开始核心编程部分 程序的内存模型 代码区 全局区 栈区:由计算机自己分配管理,由计算机进行分配和释放 堆区:由程序员进行分配(比如说用new进行数据开辟) New操作符 在堆区进行开辟数据,由程序员进行手动开辟,释放利用操作符delete; New返回的是该类型的指针; Delete释放数组的时候要加括号,delete[] 数组指针; #include<iostream> using namespace std;
2022-01-02 10:31:08 207
原创 并行处理分布式系统考点复习
任务并行与数据并行 任务并行:将许多可以解决问题的任务分割,然后分布在一个或者多个核上进行程序的执行。 数据并行:将可以解决问题的数据进行分割,将分割好的数据放在一个或者多个核上进行执行;每一个核对这些数据都进行类似的操作。 冯诺依曼体系结构的瓶颈以及改进 瓶颈:cpu与主存的分离(可以比喻为负责生产的工厂与仓库的分离) 改进:CPU缓存是两种方案的结合(CPU缓存是基于访存局部性而设计)(例子中通过(1)加宽公路(多通道)(2)迁移工厂或仓库,建立统一的场地来改进) flynn的分类以及特点 单指令流单数
2022-01-01 03:07:48 530
原创 链栈的基本操作
还是要注意内存访问权限的问题 数组越界 指针未初始化(野指针) 链栈的数据结构 //链表的结构 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 576
原创 数据结构之栈的基本操作(顺序栈)
数据结构之栈 语言版本 特点:后进先出(LIFO:last in,first out) 基本操作:栈的初始化、判断空、栈满、取栈顶的元素、在栈顶进行插入和删除; 在栈顶插入元素称为入栈、在栈顶删除元素成为出栈; 在这里插入代码片 typedef struct{ SDatatype *base;//栈底指针 SDatatape *top;//栈顶指针 int StackSize;//栈中定义内存大小 }SqStack; 新的改变 我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markd
2021-12-22 00:22:48 2393 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人