自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

转载 一,单源最短路径

单源最短路径

2022-06-05 14:20:07 426

转载 一,最小生成树

最小生成树

2022-06-05 14:15:01 95

转载 一,图的遍历

图遍历

2022-06-05 14:06:55 89

转载 一,邻接表

邻接表

2022-06-05 14:01:32 71

原创 一,哈夫曼二叉树

哈夫曼树又称为最优二叉树.1、路径和路径长度在一棵树中,从一个结点往下可以达到的孩子或子孙结点之间的通路,称为路径。通路中分支的数目称为路径长度。若规定根结点的层数为1,则从根结点到第L层结点的路径长度为L-1。2、结点的权及带权路径长度 若将树中结点赋给一个有着某种含义的数值,则这个数值称为该结点的权。结点的带权路径长度为:从根结点到该结点之间的路径长度与该结点的权的乘积。3、树的带权路径长度 树的带权路径长度规定为所有叶子结点的带权路径长度之和,记为WPL。哈夫曼树的构造:假设有n个权

2022-05-29 20:39:27 430

原创 一,静态链表

全部代码及其运行结果#include <stdio.h>#include <stdlib.h>#define max 5typedef struct listNode{ char data; int next;}*NodePtr;typedef struct list{ NodePtr nodes; int *used;}*ListPtr;ListPtr start(){ ListPtr Header=(ListPtr)malloc(siz

2022-05-28 14:49:17 40

原创 一,双向链表

全部代码及其运行结果#include <stdio.h>#include <malloc.h>typedef struct doubleList{ char data; struct doubleList *previous; struct doubleList *next;}DLnode,*ListPtr;ListPtr initLinkList(){ ListPtr Header=(ListPtr)malloc(sizeof(ListPtr));

2022-05-28 14:47:05 38

转载 一,n后问题

全部代码以及运行结果#include <stdio.h>#include <malloc.h>#include <math.h>bool place(int* parasolution,int parat){ int j; for(j=0;j<parat;j++) { if(abs((parat-j)==abs(parasolution[j]-parasolution[parat]))||(parasolution[j]==parasolu

2022-05-28 13:43:32 59

转载 一,二叉树的构建和遍历

1,创建节点和栈typedef struct BTNode{ char element; BTNode* left; BTNode* right;}BTNode, *BTNodePtr;//创建树的结点typedef struct BTNodePtrQueue{ BTNodePtr* nodePtrs; int front; int rear;}BTNodePtrQueue, *QueuePtr;//创建栈2,初始化栈QueuePtr initQueue(){ Q

2022-05-24 19:10:58 65

原创 一,压缩矩阵的转置

先上原理示意图1,定义一个记录行列中元素个数的结构体typedef struct triPle{ int i; int j; int e;}triPle,*triPlePtr;用来记录每一列有多好个数据,并且规定转制后每一行的数据应该从那个位置开始排序2,创建矩阵typedef struct comPressedmatrix{ int rows,columns,numelements; triPle* elements;}comPressedmatrix,*c

2022-05-19 15:55:39 113

原创 一,二维数组以及矩阵乘法

矩阵乘法原理图1,创建矩阵(大小已知和大小未知的)typedef struct twoDarray{ int rows; int columns; int**data;}twoDarray,*towDarrayPtr;typedef struct staticDarray{ int rows; int columns; int data[ROWS][COLUMNS];}staticDarray,*staticDarrayPtr;定义一个指向指针的指针来对应二维数组,

2022-05-19 15:31:46 1081

原创 一,队列以及循环队列

一,队列1,队列创建typedef struct LinkNode{ int data; struct LinkNode *next;}*ListPtr,LNode;typedef struct LinkQueue{ ListPtr front; ListPtr rear;}*LinkQueuePtr,LNodeQueue;创建两个指针跟踪链表,front指向链表头,rear指向连尾。2,初始化队列LinkQueuePtr initQueue(){ LinkQ

2022-05-17 17:58:55 89

转载 一,汉诺塔问题

原理:利用了递归的思想全部代码以及部分实验结果#include <stdio.h>void move(int paraPlates,char x,char y,char z)//整体目的是将所有盘子都移动到C柱子上去{ if(paraPlates==1) { printf("%c----->%c\r\n",x,z); } else { move(paraPlates-1,x,z,y);// printf("%c----->%c\r\n",x,z)

2022-05-12 13:44:40 49

转载 一,累加的递归实现

递归的原理:递归算法是把问题转化为规模缩小了的同类问题的子问题。然后递归调用函数或过程来表示问题的解。一个过程或函数直接或间接调用自己本身,这种过程或函数叫递归过程或函数。1,递归部分代码int addTo(int paraData){ int sum; printf("开始addTo(%d)\r\n",paraData); if(paraData<=0)//递归到最小值处回头解决之前的问题 { printf("return 0\r\n"); return 0; }

2022-05-12 12:22:45 408

转载 一,栈的应用--表达式求值

全部代码以及运行结果#include <iostream>#include <cstring>#include <algorithm>#include <stack>#include <unordered_map>using namespace std;stack<int> num;stack<char> op;void eval(){ auto b = num.top(); n

2022-05-10 21:36:20 55

转载 一,栈的部分功能运用(包括括号匹配)

(一),栈的操作1,创建栈typedef struct stack{ int top; int data[MAX];}*stackPtr;2,输出当前栈(追踪数据)void outPut(stackPtr paraStack){ for(int i=0;i<=paraStack->top;i++) { printf("%c ",paraStack->data[i]); } printf("\r\n");}3,初始化(top指向栈顶初始值

2022-05-09 17:59:43 61

原创 一,多项式的加法

1,创建链表typedef struct List{ int data; int exponent; struct List*next;}*ListPtr,*NodePtr;2,初始化ListPtr initLinkList(){ ListPtr Header=(ListPtr)malloc(sizeof(ListPtr)); Header->data=0; Header->exponent=0; Header->next=NULL; return H

2022-05-06 22:37:12 541

原创 一、单链表创建以及操作

链表操作全内容:1,链表创建2,创建头结点(赋值)3,输出当前链表4,连接节点形成链表5,插入节点函数6,删除节点函数7,伪尾插法8,测试并运行上述代码9,打印地址了解计算机运行代码的规则1,链表创建typedef struct List//创建链表 { char data; struct List*next; }LNode,*NodePtr;2,创建头结点(赋值)NodePtr startList()//创建链表头结点 { Node..

2022-04-28 12:09:49 1640 1

空空如也

空空如也

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

TA关注的人

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