自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

过客的博客

入门。

  • 博客(32)
  • 收藏
  • 关注

原创 01. GoogleTest Primer

GoogleTest文档翻译

2023-12-30 04:16:23 902

原创 win11恢复win10形式的右键显示

win11恢复win10右键形式

2023-10-22 02:46:20 483 1

原创 C++单例写法记录

记录C++单例写法

2022-11-08 22:34:31 430 1

原创 Ubuntu22.04安装与配置记录

记录实体机安装Ubuntu22.04和配置该系统的过程。

2022-07-11 23:20:04 6597 2

原创 Ubuntu20.04安装与配置记录

记录实体机安装Ubuntu20.04和配置该系统的过程。

2022-07-11 23:12:01 1959

原创 循环链表的实现

循环链表的实现说明参考资料传智播客扫地僧的数据结构教学视频线性表基本知识参考该实现的说明C语言实现基于单向链表,参考实现算法和数据的分离实现circular_list.h#ifndef _CIRCULAR_LIST_H_#define _CIRCULAR_LIST_H_#ifdef __cplusplusextern "C"{#endiftypedef void CIRCULAR_LIST; // 循环链表类型typedef struc

2021-10-15 22:07:01 189

原创 链式存储的线性表的实现

链式存储的线性表的实现说明参考资料传智播客扫地僧的数据结构教学视频线性表基础知识参考该实现的说明C语言实现实现算法和数据的分离实现link_list.h#ifndef _LINK_LIST_H_#define _LINK_LIST_H_#ifdef __cplusplusextern "C"{#endiftypedef void LINK_LIST; // 链式线性表的类型typedef struct LINK_LIST_NODE //

2021-10-13 15:07:07 481

原创 顺序存储的线性表的实现

顺序存储的线性表的实现说明参考资料传智播客扫地僧的数据结构教学视频线性表基础知识参考该实现的说明C语言实现实现算法和数据的分离实现seq_list.h#ifndef _SEQ_LIST_H_#define _SEQ_LIST_H_#ifdef __cplusplusextern "C"{#endiftypedef void SEQ_LIST; // 顺序线性表typedef void SEQ_LIST_NODE; // 线性表的节点类型

2021-10-13 14:54:41 355

原创 表排序

文章目录表排序表排序思想当待排数组中的元素不是简简单单的整数,而是复杂的结构体,那么移动元素所花费的时间就不能忽略不计了,这时候我们要减少元素之间移动的次数了。表排序就是这么一个排序,在表排序的过程中,实际上是不需要移动元数的,我们要移动的是指向这些元素的指针。排序例:给下面的数组进行排序,要求尽量的减少移动次数。定义一个数组作为表,纪律待排序元素的下标;对数组Tab...

2020-02-23 00:44:28 1372 2

原创 快速排序

[TOC]快速排序思路快速排序与归并排序类似,也是使用了分而治之的思路,即在数组中随机寻找一个元素,称为“主元”,然后将数组中其余元素分为两个子集,子集1中元素比主元小,放在主元左边;子集2中元素比主元大,放在主元右边,该过程称为“子集划分”。将两个子集递归地“找主元”和“子集划分”,当最后子集只有一个元素的时候,数组就排好序了。伪码描述void QuickSort(ListE...

2020-02-22 01:42:51 109

原创 归并排序

文章目录归并排序归并排序核心:有序子列的归并已知两个有序的子列,怎样才能将两个有序子列元素合并成一个有序序列?例:有序子列1(红)、有序子列2(绿)、存放结果的数组(蓝)。三个指针,Aptr指向子列1的起始位置,Bptr指向子列2的起始位置,Cptr指向存放结果数组的起始位。Aptr指向的元素和Bptr指向的元素比较大小,Aptr指向元素较小,所以将该元素存放在Cpt...

2020-02-21 00:02:11 141

原创 堆排序

文章目录堆排序堆排序想要了解堆排序,最好先掌握堆的基本操作。思路思考取出堆元素的操作,每取出一个元素,堆里面的元素就减少一个,但是存储堆元素的数组空间大小是不变的。所以可以把一个元素从堆取出后,将其存储在堆中最后一个元素后面。步骤用待排序数组建立一个没有“哨兵”的最大堆(即存储堆元素的数组从下标为0的位置开始存储)。取出最大堆中一个元素,该元素一定是堆中元素最大的。然后将...

2020-02-19 21:01:14 95

原创 希尔排序

文章目录涉及的一些知识希尔排序涉及的一些知识逆序对设AAA为一个有nnn个数字的有序集(n>1n>1n>1),其中所有数字各不相同。如果存在正整数iii、jjj使得1≤i<j≤n1 \leq i < j \leq n1≤i<j≤n而且A[i]>A[j]A[i]>A[j]A[i]>A[j],则(A[i],A[j])(A[i],A[j...

2020-02-18 18:18:49 425

原创 简单排序(选择、冒泡、插入)

文章目录涉及的一些知识简单排序选择排序冒泡排序插入排序涉及的一些知识逆序对设AAA为一个有nnn个数字的有序集(n>1n>1n>1),其中所有数字各不相同。如果存在正整数iii、jjj使得1≤i<j≤n1 \leq i < j \leq n1≤i<j≤n而且A[i]>A[j]A[i]>A[j]A[i]>A[j],则(A[i],A[j...

2020-02-18 02:43:37 108

原创 图——最小生成树

文章目录最小生成树(Minimum Spanning Tree,简称MST)求一棵树的最小生成树Prim算法Kruskal算法最小生成树(Minimum Spanning Tree,简称MST)定义生成树一个有 n 个结点的连通图的生成树是原图的极小连通子图,且包含原图中的所有 n 个结点,并且有保持图连通的最少的边。最小生成树所有生成树中边的权值之和最小的生成树。性...

2020-02-16 21:27:03 201

原创 并查集

文章目录并查集并查集问题中集合如何存储实现并查集集合的运算:交、并、补、差和判断一个元素是否属于某一集合。并查集:集合的合并、判断一个元素是否属于某一集合的操作。并查集问题中集合如何存储可以用树结构表示集合,每棵树代表一个集合,树的每个节点一个集合的元素。例:怎么更加方便的表示一棵树?答案是用数组。数组元素类型如下:Typedef struct SetNode{ ...

2020-02-16 21:18:03 150

原创 VS2017中fopen等函数报错解决方法

文章目录VS2017中fopen()函数报错解决方法问题解决方法VS2017中fopen()函数报错解决方法问题用VS2017写C语言代码的时候,代码中使用了fopen()函数,调试之后报错如下:error C4996:‘fopen’: This function or variable may be unsafe. Consider using fopen_s instead. ......

2020-02-14 17:29:21 6227 1

原创 图——最短路径算法

文章目录最短路径算法单源最短路径算法多源最短路径算法最短路径算法单源最短路径算法单源最短路径问题(Single-Source Shortest Path):给定有向图(或无向图)G=(V,E)G=(V,E)G=(V,E)和源点v0∈Vv_0 \in Vv0​∈V,求从v0v_0v0​到GGG中其余各顶点的最短路径(路径上的权值和达到最小)。有权图的单源最短路径算法例:求...

2020-02-10 21:32:56 1346

原创

文章目录图什么是图关于图的术语图的表示抽象数据类型描述代码实现图的遍历图什么是图图的定义“图”G可以表示为顶点和边的两个集合:G=(V,E)G=(V,E)G=(V,E)。每条边是一个顶点对(v,w)∈E(v,w) \in E(v,w)∈E,并且v,w∈Vv,w \in Vv,w∈V。通常:用∣V∣|V|∣V∣表示顶点的数量(∣V∣≥1)(|V| \geq 1)(∣V∣≥1)...

2020-01-30 04:03:30 216

原创 图操作集代码实现(C语言)

文章目录图操作集的代码实现用邻接矩阵表示图用邻接表表示图图操作集的代码实现图的抽象数据类型描述详见:https://www.csdn.net/用邻接矩阵表示图图的描述typedef struct GNode{ int NV;//顶点数 int NE;//边数 WeightType G[MaxVertexNum][MaxVertexNum];//类型为W...

2020-01-30 01:43:27 1119

原创 哈夫曼树与哈夫曼编码

文章目录哈夫曼树和哈夫曼编码关于编码哈夫曼树哈夫曼编码构造哈夫曼树哈夫曼树和哈夫曼编码关于编码常用编码方式等长码:每个字符对应码字的码长都一样,例如ASCII码表中的128个字符可以用7位码长的01位串表示( 27=1282^7=12827=128 )。思考能不能用不等长的编码方式来编码字符,出现次数较多的字符用较短的码长的码字来存储,出现次数较少的字符用较长的码长的码字来存储,...

2020-01-22 19:49:01 1061

原创 堆(C语言)

文章目录堆(heap)什么是堆最小堆的操作操作集的实现(C语言)堆(heap)什么是堆定义堆(heap)是计算机科学中一类特殊的数据结构的统称。堆通常是一个可以被看做一棵树的数组对象。性质结构性:用数组表示的完全二叉树。有序性:任意节点的关键字(权值)是其子树所有节点的最大值(或最小值)父节点大于子节点:最大堆(MaxHeap)父节点小于子节点:最小堆(Min...

2020-01-18 20:40:13 4171

原创 无头结点链表逆置函数(C语言)

将链表(无头结点)逆置函数(C语言)List Reverse(List head){ List FirstPtr = NULL, SecPtr = NULL, TempPtr = NULL; //链表为空,直接返回头指针 if (head == NULL) { return head; } //链表只有一个结点,直接返回头指针 else if (head->Next ...

2019-09-12 16:03:56 408

原创 平衡二叉树

文章目录平衡二叉树什么是平衡二叉树一些概念平衡二叉树定义平衡二叉树的一些性质平衡二叉树的调整一些概念平衡二叉树的调整方法平衡二叉树什么是平衡二叉树【例】搜索树结点不同插入次序,将导致不同的深度和平均查找长度ASL。将月份按照不同次序插入二叉搜索树,依据字典顺序比较大小,得到三棵不同的树如下:ASL的不同,导致二叉搜索树的搜索效率不同,ASL越小,搜索效率越高,故引进了平衡二叉树的概念...

2019-09-01 11:48:11 957

原创 二叉搜索树(C语言)

文章目录二叉搜索树什么是二叉搜索树二叉搜索树的一些操作二叉搜索树什么是二叉搜索树二叉搜索树(BST,Binary Search Tree),也称二叉排序树或二叉查找树二叉搜索树:一棵二叉树,可以为空;如果不为空,满足以下性质:非空左子树的所有键值小于其根结点的键值。非空右子树的所有的键值大于其根结点的键值。左右子树都是二叉搜索树。二叉搜索树例子:二叉搜索树的一些操作...

2019-08-31 19:30:57 377

原创 叉树同构代码示例(C语言)

文章目录二叉树同构问题题目输入求解思路二叉树的表示程序框架如何建立二叉树如何判断两二叉树是否同构代码示例二叉树同构问题题目给定两棵树T1和T2。如果T1可以通过若干次左右孩子互换就变成T2,则我们称两棵树是“同构”的。现给定两棵树,请你判断他们是否是同构的。例如:同构的树:不是同构的树:输入输入格式:输入两棵二叉树的信息先在一行中给出该树的结点数N;输入N行,第i...

2019-08-30 20:53:05 262

原创 二叉树(C语言)

文章目录二叉树二叉树的定义二叉树的几个重要性质二叉树的抽象数据类型定义二叉树的存储结构二叉树的遍历遍历二叉树的应用二叉树二叉树的定义二叉树TTT:一个有穷的结点的集合。这个结合可以为空如不为空,则它由根结点和称为其 左子树TLT_LTL​ 和 右子树TRT_RTR​ 的两个不相交的二叉树组成。二叉树具体五种基本形态。空树只有一个结点只有一个结点和左子树只有一个结点和...

2019-08-29 19:20:18 1854

原创 树(C语言)

文章目录树树的定义树的一些基本术语树的表示树树的定义树(Tree):n(n≥0)n(n \geq 0)n(n≥0)个结点构成的有限集合。当n=0时,称为空树。对于任一棵非空树(n&gt;0n&gt;0n>0),它具有以下性质:树中有一个称为“根(Root)”的特殊结点,用r表示;其余结点可分为m(m&gt;0)m(m&gt;0)m(m&g...

2019-08-29 19:07:36 8659

原创 数据结构:线性结构(C语言)

文章目录线性结构线性表什么是线性表线性表的抽象类型描述线性表的实现广义表广义表定义多重链表堆栈什么是堆栈堆栈的抽象数据类型描述堆栈的顺序存储实现堆栈的链式存储实现堆栈的应用队列什么是队列队列的抽象数据类型描述队列的顺序存储实现队列的链式存储实现线性结构线性表什么是线性表线性表(Linear List):由同类型数据元素构成有序序列的线性结构。表中元素个数称为线性表的长度。线性...

2019-08-23 15:48:26 2166

原创 堆栈应用:表达式求值(C语言)

文章目录堆栈应用:表达式求值(C语言)两个定义大致过程具体代码堆栈应用:表达式求值(C语言)两个定义中缀表达式:运算符号位于两个运算数之间。如:a + b * c - d / e后缀表达式:运算符号位于两个运算数之后。如:a b c * + d e / -大致过程用后缀表达式求值:对于后缀表达式,可以比较容易处理。大致过程为:将后缀表达式从左到右扫描,遇到数字就将数字压如堆...

2019-08-15 11:34:20 1858 1

原创 一元多项式的乘积与和(C语言)

文章目录数据结构-浙江大学-陈越、何钦铭——第一讲示例代码:一元多项式的乘积与和(C语言)数学表示输入与输出代码(C语言)数据结构-浙江大学-陈越、何钦铭——第一讲示例代码:一元多项式的乘积与和(C语言)注:以下代码是根据个人理解所写,与教学视频中代码略有出入,如有错误,烦劳指出。数学表示(1)3x4−5x2+6x−2(1) 3x^4-5x^2+6x-2(1)3x4−5x2+6x−2(2...

2019-07-21 00:09:04 771

原创 算法复杂度:最大子列和问题四种解法(C语言)

文章目录算法复杂度:最大子列和问题四种解法(C语言描述)问题描述算法算法一:穷举法算法二:穷举法的优化算法三:递归算法算法四:在线处理算法测试代码算法复杂度:最大子列和问题四种解法(C语言描述)问题描述百度百科:在计算机科学中,最大子数列问题的目标是在数列的一维方向找到一个连续的子数列,使该子数列的和最大。例如,对一个数列 −2, 1, −3, 4, −1, 2, 1, −5, 4,其...

2019-07-19 00:04:13 1098

空空如也

空空如也

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

TA关注的人

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