自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 数据结构与算法:13.Prim算法与Dijkstra算法

普里姆算法(Prim):对顶点操作,在最小生成树的顶点集U和待处理顶点集V-U中,不断地寻找最短边(代价最小变),找到后将对应顶点加入集合U,直到所有顶点均处理完毕(V-U里没有剩余顶点)。迪杰斯特拉(Dijkstra):它先确定起点的最短路径(自己到自己)再从起点周围寻找⼀个离起点最近的点,并确定它现在到起点的的路径就是最短路径。然后再从已确定的两个点周围寻找离起点最近的点,并确定它现在到起点的路径就是最短路径。初始化网格算法函数测试函数完整代码以及运行结果...

2022-06-05 19:20:29 195

原创 数据结构与算法学习:12.图的遍历以及邻接表

文章目录图图的定义图的遍历队列的定义(多个索引)判断队列是否为空入队出队图的结构深度优先遍历广度优先遍历完整代码以及运行结果邻接表以及广度优先遍历定义代码图的初始化队列的初始化判断队列是否为空入队出队邻接表的定义邻接表的创建打印邻接表广度优先遍历完整代码以及运行结果图图的定义图是由顶点的有穷非空集合和顶点之间边的集合组成, 通常表示为: G(V,E), 其中,G表示一个图,V是图G中顶点的集合,E是图G中边的集合。注意:线性表可以是空表,树可以是空树,但图不可以是空图。就是说,图中不能一个顶点也没

2022-05-31 16:00:48 794

原创 数据结构与算法学习:11、哈夫曼树与n皇后问题

文章目录哈夫曼树什么是哈夫曼树代码有序单链表的定义链表的初始化元素的插入(排序)节点的删除及返回哈夫曼树的创建哈夫曼树编码有序链表的打印哈夫曼树的打印完整代码以及运行结果n皇后问题总结哈夫曼树什么是哈夫曼树当用 n 个结点(都做叶子结点且都有各自的权值)试图构建一棵树时,如果构建的这棵树的带权路径长度最小,称这棵树为“最优二叉树”,有时也叫“赫夫曼树”或者“哈夫曼树”。代码有序单链表的定义//定义有序单链表typedef struct Link{ int w;//存储整形权重

2022-05-27 19:17:28 161

原创 数据结构与算法学习:10.二叉树的构建与遍历

文章目录二叉树的定义代码二叉树结构体的定义二叉树的初始化判断是否为空入队出队构造一个结点转化函数层序遍历先序遍历中序遍历后序遍历完整代码总结二叉树的定义二叉树(binary tree)是指树中节点的度不大于2的有序树,它是一种最简单且最重要的树。二叉树的递归定义为:二叉树是一棵空树,或者是一棵由一个根节点和两棵互不相交的,分别称作根的左子树和右子树组成的非空树;左子树和右子树又同样都是二叉树代码二叉树结构体的定义// 二叉树结构体的定义 typedef struct BTNode{ char

2022-05-24 16:27:01 136

原创 数据结构与算法:9.二维数组(矩阵乘法)以及压缩矩阵的转置

文章目录二维数组(矩阵乘法)动态二维数组的定义静态二维数组的定义二维数组的初始化随机给二位数组一个数二维数组的打印矩阵相乘测试函数完整代码以及运行结果压缩矩阵的转置二维数组(矩阵乘法)动态二维数组的定义// 动态二维数组的定义 typedef struct TwoDArray{ int rows; int columns; int** elements;} TwoDArray, *TwoDArrayPtr;静态二维数组的定义// 静态二维数组的定义 typedef struct Tw

2022-05-20 09:27:48 169

原创 数据结构与算法学习:8.链队列、循环队列

文章目录链队列链队列的初始化队列的打印入队出队完整代码以及运行结果循环队列链队列链队列的初始化// 链队列的初始化 LinkQueuePtr initQueue(){ LinkQueuePtr resultPtr = (LinkQueuePtr)malloc(sizeof(struct LinkQueue)); LinkNodePtr headerPtr = (LinkNodePtr)malloc(sizeof(struct LinkNodePtr)); headerPtr->next

2022-05-17 15:25:18 240 1

原创 数据结构与算法学习:7.累加的递归实现和汉诺塔问题

文章目录代码块累加的递归函数递归测试函数汉诺塔汉诺塔测试完整代码以及运行结果总结代码块累加的递归函数// 数字的累加(递归) int addTo(int num){ if(num < 0)return 0; else return addTo(num-1) + num;}递归测试函数void addToTest(){ printf("---- 检测开始 ----\r\n"); int n,ret; n = 5; ret = addTo(n); printf("从0开始

2022-05-12 10:56:11 71

原创 数据结构与算法学习:6.栈以及栈的应用(表达式求值)

文章目录栈的基本概念代码的创建定义初始化打印栈压栈弹栈(栈顶)计算栈的长度功能测试完整代码以及运行结果括号的匹配应用功能测试运行结果栈的应用(表达式求值)核心代码运算结果栈的基本概念栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。代

2022-05-10 19:03:06 346

原创 数据结构与算法:5.多项式的加法

文章目录链表的定义初始化表打印表打印一个节点来进行测试在尾处添加一个元素多项式进行相加完整代码链表的定义// 链表的定义typedef struct LinkNode{ int coefficient; int exponent; struct LinkNode *next;} *LinkList, *NodePtr;初始化表// 初始化表LinkList initLinkList(){ LinkList tempHeader = (LinkList)malloc(sizeof(st

2022-05-05 19:55:19 73

原创 数据结构与算法学习:4.静态链表

文章目录1. 静态链表的定义2. 静态链表的优缺点优点缺点3. 静态链表的设计3. 1 静态链表的定义3. 2 初始化静态链表3. 3 静态链表的打印3. 4 在指定位置插入相应元素3.5 删除指定元素4. 完整代码以及运行结果1. 静态链表的定义逻辑结构上相邻的数据元素,存储在指定的一块内存空间中,数据元素只允许在这块内存空间中随机存放,这样的存储结构生成的链表称为静态链表。也就是说静态链表是用数组来实现链式存储结构,目的是方便在不设指针类型的高级程序设计语言中使用链式结构。2. 静态链表的优缺点

2022-05-03 15:55:57 595 1

原创 数据结构与算法学习:3.双向链表

文章目录1 双链表1.1 双向链表的定义1.2 双向链表相较于单向链表的优点2.双向链表的相关操作及实现2.1 链表的初始化2.2 链表中元素的打印2.3 在指定的位置插入元素2.4 删除指定元素3 在此基础上新增的函数3.1 结点的查找3.2 两个链表的合并1 双链表1.1 双向链表的定义双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱点和后继结点。1.2 双向链表相较于单向链表的优点

2022-05-03 15:17:34 571 1

原创 数据结构与算法学习:2.单链表

文章目录1.链表1.1、链表的概念1.2、为什么要创建链表2.链表的构成2.1、创建链表2.2、链表的初始化2.3、打印链表2.4、元素的插入2.5、指定元素的删除2.6、链表的反转3.总代码4.总结1.链表1.1、链表的概念链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中的每一个元素称为结点)组成,结点可以在运行时动态生成。1.2、为什么要创建链表与之前学习的顺序表相比较,顺序表存在两个比较明显的缺陷,一是在顺序表中

2022-04-29 11:34:40 89

原创 数据结构与算法学习:1.顺序表

数据结构与算法学习:顺序表1.原版代码#include <stdio.h>#include <malloc.h>#define LIST_MAX_LENGTH 10/** * Linear list of integers. The key is data. */typedef struct SequentialList { int actualLength; int data[LIST_MAX_LENGTH]; //The maximum le

2022-04-25 23:06:19 1353

空空如也

空空如也

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

TA关注的人

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