自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 图的遍历(DFS、BFS)实现

DFS测试样例样例输入:0 1 0 0 0 0 0 1 0 01 0 1 1 0 0 0 0 0 00 1 0 0 0 0 0 0 0 00 1 0 0 1 1 1 0 0 00 0 0 1 0 1 0 0 0 00 0 0 1 1 0 1 0 0 00 0 0 1 0 1 0 0 0 01 0 0 0 0 0 0 0 1 10 0 0 0 0 0 0 1 0 10 0 0 0 0 0 0 1 1 0样例输出:dfs遍历结果:1 2 3 4 5 6 7 8 9

2021-11-07 16:47:38 303 1

原创 图的邻接矩阵、邻接表的表示实现

目录邻接矩阵邻接矩阵算法思想使用邻接矩阵的好处与坏处测试样例代码实现邻接表邻接表算法思想测试样例实现代码邻接矩阵与邻接表的区别邻接矩阵邻接矩阵算法思想输入总顶点数和总边数。 依次输入点的信息存入顶点表中。 初始化邻接矩阵,使每个权值初始化为极大值。 构造邻接矩阵。使用邻接矩阵的好处与坏处好处:直观、方便、好理解 方便检查任意一对顶点间是否存在边 方便找任意顶点的所有”邻接点“(有边直接相连的顶点) 方便计算任一顶点的”度“(从该顶点出

2021-11-07 16:15:36 625

原创 哈夫曼树基本操作代码实现

目录哈夫曼树功能函数测试样例实现代码哈夫曼树功能函数void CreatHuffmanTree(HuffmanTree &HT, int n);//构造哈夫曼树void PrintT(HuffmanTree HT, int n); //打印哈夫曼树void CreatHu...

2021-11-06 15:49:34 440

原创 二叉树的基本操作代码实现

目录二叉树功能函数测试样例代码实现二叉树功能函数void CreateTree(BiTree& T); //先序创建二叉树void PreOrderTraverse(BiTree T); //先序遍历void InOrderTraverse(BiTree T); //中序遍历void PostOrderTraverse(BiTree T); //后序遍历void levelO...

2021-11-06 10:32:16 1003 1

原创 树、二叉树的知识总结

树的基础知识树的定义树(Tree)是n(n≥ 0)个结点的有限集。若n=0,称为空树;若n>0,则它满足如下两个条件:(1)有且仅有一个特定的称为根(Root)的结点; (2)其余结点可分为m(m ≥ 0)个互不相交的有限集T1,T2,T3,...,Tm,其中每一个集合本身又是一棵树,并称为根的子树(SubTree)。树的基本术语结合该图理解以下术语:根结点:非空树中无前驱结点的结点。 {...

2021-11-05 22:46:50 225

原创 串的模式匹配问题(含BF算法,KMP算法)

串模式匹配问题算法介绍算法目的:确定主串中所含子串(模式串)第一次出现的的位置(定位)算法应用: 搜索引擎、拼写检查、语言翻译、数据压缩算法种类:BF算法(Brute-Force,又称古典的、经典的、朴素的、穷举的) KMP算法(特点:速度快)BF算法BF算法介绍Brute-Force简称为BF算法,亦称为简单匹配算法,采用穷举的思想。S:a a a a b c d 主串:正文串T: a b c 子串:模式...

2021-11-01 17:46:42 2014

原创 括号匹配的检验(利用栈实现)

目录问题描述代码实现(手写栈实现)代码实现(调用STL库中的栈实现)问题描述假设表达式中允许包含三种括号:圆括号,方括号,花括号(大括号)。写入一个括号序列,来判断括号序列是否匹配。例如:1. ( [ ] ( ) { } ) 为正确格式2. [ ( { } ] ) 为错误格式3. [ [ ] ] ] 为错误格式若括号序列匹配正确则输出YES,否则输出NO。代码实现(手写栈实现)#include<bits/stdc++.h>us...

2021-11-01 12:09:35 276

原创 进制转换(利用栈实现)

目录知识总结例题描述实现代码(手写栈实现)实现代码(调用STL库中的栈实现)知识总结十进制整数N向其它进制数d(二、八、十六)的转换是计算机实现计算的基本问题。转换法则:除以d倒取余该转换法则对应于一个简单算法原理:n = (n div d) * d + n mod d其中:div为整除运算,mod为求余运算例题描述该例题是以十进制转换为八进制来做的:通过上面图示的过程,我们可以将问题由十进制转换为8进制推广到十进制转换为n进制。实现代码(..

2021-11-01 11:23:58 713

原创 链队列知识总结及代码实现

链队的存储方式可以通过单链表的方式来实现,使用链式队的优点在于它能够克服用数组实现的顺序队空间利用率不高的特点,但是需要为每个队元素分配额外的指针空间用来存放指针域。如下就是一个链式队:链队的优点链队的优点在于如果没有办法估计队列长度时,采用链队可以随时扩充。链队功能函数bool InitQueue(LinkQueue &Q); //1.队列的初始化bool En...

2021-10-30 17:04:42 467

原创 顺序队知识总结及代码实现

顺序队的存储方式同一般线性表的顺序存储结构完全相同,利用一组地址连续的存储单元依次存放自队头到队尾的数据元素。#include<bits/stdc++.h>using namespace std;#define MAXSIZE 100typedef int ElemType;typedef struct SqQueue { ElemType *base; int front; int rear;}SqQueue;//初始化顺序队 bool InitQueu...

2021-10-30 14:39:27 371

原创 队列知识总结

目录队列的定义队列的表示与实现队列的应用队列的定义队列(queue)是一种先进先出(FristInFristOut---FIFO)的线性表。在表一端插入(表尾),在另一端(表头)删除。 队列的逻辑结构与同线性表相同,仍为一对一关系。 只能在队首和队尾运算,且访问结点时依照先进先出(FIFO)的原则。队列和我们日常生活中排队购物是一个道理的,如下所示:队列的表示与实现由于队列本身就是线性表,于是队列也有顺序存储和链式存储两种实现方式。队列的顺序存储--顺序队...

2021-10-30 10:09:08 413

原创 递归知识总结

递归的定义若一个对象部分地包含它自己,或用它自己给自己定义,则称这个对象是递归的; 若一个过程直接地或间接地调用自己,则称这个过程是递归的过程。例如:递归求n的阶乘long Fact(long n) { if(!n) return 1; return n * Fact(n - 1);}递归必备的三个条件1、能将一个问题转变成一个新问题,而新问题与原问题的解法相同或类同,不同的仅是处理的对象,且这些处理对象是变化有规律的;2、可以通过上述转化而使问题简

2021-10-30 09:30:48 158

原创 链栈知识总结及代码实现

链栈的存储方式可以通过单链表的方式来实现,使用链式栈的优点在于它能够克服用数组实现的顺序栈空间利用率不高的特点,但是需要为每个栈元素分配额外的指针空间用来存放指针域。链栈的表示链栈是运算受限的单链表,只能在链表头部进行操作。如右图就是一个链栈。链栈的特点链表的头指针就是栈顶 不需要头结点 基本不存在栈满的情况 空栈相当于头指针指向空 插入和删除仅在栈顶处执行链栈功能函数bool InitStack(SqStack &S); ...

2021-10-30 00:06:00 370

原创 顺序栈知识总结及代码实现

目录顺序栈的存储方式顺序栈存储的特点栈空、栈满定义栈满时的处理方法上溢、下溢定义顺序栈功能函数代码实现顺序栈的存储方式同一般线性表的顺序存储结构完全相同,利用一组地址连续的存储单元依次存放自栈底到栈顶的数据元素。栈底一般在低地址端。·附设top指针,指示栈顶元素在顺序栈中的位置。·另设base指针,指示栈底元素在顺序栈中的位置。但是,为了方便操作,通常top指示真正的栈顶元素之上的下标地址另外用stacksize表示栈可使用的最大容量...

2021-10-29 23:02:25 619

原创 exit(0)与exit(1)、exit(-1)、return区别

exit(0):正常运行程序并退出程序;exit(1):非正常运行导致退出程序;return():返回函数,若在主函数中,则会退出函数并返回一值。详细说:1. return返回函数值,是关键字; exit 是一个函数。 2. return是语言级别的,它表示了调用堆栈的返回;而exit是系统调用级别的,它表示了一个进程的结束。 3. return是函数的退出(返回);exit是进程的退出。 4. return是C语言提供的,exit是操作系统提供的(或者函数库中给出的)...

2021-10-29 16:54:35 3396

原创 栈知识总结

栈的定义·栈(stack)是一个特殊的线性表,是限定仅在一端(通常是表尾),进行插入和删除操作的线性表。·又称为后进先出(Last In First Out)的线性表,简称LIFO结构。·栈的逻辑结构与线性表相同,仍为一对一的关系。栈的相关概念栈顶和栈底:入栈和出栈:入栈:插入元素到栈顶(即表尾)的操作。 ”入“ = 压入 = PUSH(X)出栈:从栈顶(即表尾)删除...

2021-10-29 16:02:59 303

原创 链表与顺序表区别

有关链表与顺序表的区别首先应分别了解其结构以及通过代码来分析:顺序表的详细分析:顺序表链表的详细分析:链表其区别如下图:

2021-10-24 20:34:40 2823

原创 两个一元稀疏多项式的基本运算(链表实现)

实验问题【问题描述】设计一个一元稀疏多项式简单计算器。【基本要求】一元稀疏多项式简单计算器的基本功能是:输入并建立多项式; 输出多项式,输出形式为整数序列:n,c1,e1,c2,e2,…,cn,en,其中n是多项式的项数,ci,ei分别是第i项的系数和指数,序列按指数升序排列; 多项式a和b相加,建立多项式a+b;下列代码只写了一元稀疏多项式的加法运算,减法与加法类似,注意改变符号即可。 实现代码:#include<bits/stdc++.h>...

2021-10-24 19:56:51 1854 1

原创 链表知识总结及代码实现

目录头指针、头结点和首元结点的概念链表的概念链表的特性有关链表的三个讨论了解顺序表前首先应该了解结点等知识,下面来依次了解相关知识:头指针、头结点和首元结点的概念头指针: 是指向链表中第一个结点的指针 首元结点: 是指链表中存储第一个数据元素的结点 头结点: 是在链表的首元结点之前附设的一个结点;链表的概念定义:链表,别名链式存储结构或单链表,用于存储逻辑关系为 "一对一" 的数据。与顺序表不同,链表不限制数据的物理存储状态,换句话说,使用链表存储的数据元素...

2021-10-24 11:55:21 2718 1

原创 顺序表知识总结及代码实现

目录结点的概念顺序表的概念顺序表的特性顺序表三要素顺序表功能函数实现代码了解顺序表前首先应该了解结点等知识,下面来依次了解相关知识:结点的概念结点:结点是内存中一片由用户分配的储存空间,只有一个地址来表示它的存在,没有显式名称。在学习顺序表时,一般不会去特别强调结点的概念,此概念往往在链表学习中涉及,但并不代表结点与顺序表无关,所以我特意把结点的概念放在此处以加深对顺序表的理解。顺序表的概念定义:把逻辑上相邻的结点储存在物理位置上的相邻储存单元中,结点的...

2021-10-24 10:48:47 2785

原创 复数的四则运算

问题描述编写程序,计算2个复数的和、差、积、商。输入格式:输入在一行中按照a1 b1 a2 b2的格式给出2个复数C1=a1+b1i和C2=a2+b2i的实部和虚部。题目保证C2不为0。输出格式:分别在4行中按照(a1+b1i) 运算符 (a2+b2i) = 结果的格式顺序输出2个复数的和、差、积、商,数字精确到小数点后1位。如果结果的实部或者虚部为0,则不输出。如果结果为0,则输出0.0。输入样例12.0 3.1 -2.0 5.1输出样例1(2.0+3.1i) + (

2021-10-23 14:43:45 1096

空空如也

空空如也

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

TA关注的人

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