自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 51单片机十字路口交通灯课程设计

等有时间再续……设计图代码#include <reg51.h>#define uchar unsigned char#define RR 0x24#define RG 0x0c#define GR 0x21#define GG 0x09#define LOCK(num) A##num = 1; A##num = 0#define START 127#define GAP 10sbit A8 = P1^0;sbit A9 = P1^1;sbit A10 = P1^2

2021-05-27 16:24:52 5453 14

原创 慕课推荐

高数浙江大学 微积分(一)https://www.icourse163.org/learn/ZJU-1003315004?tid=1450283441#/learn/announce浙江大学 微积分(二)https://www.icourse163.org/learn/ZJU-1003308005?tid=1450282442#/learn/announce浙江大学 微积分(三)https://www.icourse163.org/learn/ZJU-1003376003?tid=1

2020-12-15 13:18:40 653

原创 重庆邮电大学第十一届ACM程序设计竞赛-网络选拔赛 C题

1008: 偷袭时间限制: 1.000 sec 内存限制: 128 MB武林要以和为贵,张麻子不讲武德来偷袭马老师的亲传弟子。马老师有n个亲传弟子,每个弟子有一个武力值a[i]。n个弟子中只有某些弟子学会了闪电鞭,张麻子想知道如果自己的武力值为W可以打败多少个会闪电鞭的亲传弟子(只有W严格大于a[i],才可以打败第i个弟子)。输入第一行一个整数T(1<=T<=100),表示数据组数每组数据第一行两个整数n(1<=n<=100000),m(1<=m<=1000

2020-11-16 00:28:21 1041

原创 hdoj_Problem1.1.8_A+B for Input-Output Practice (VIII)

A+B for Input-Output Practice (VIII)Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Problem DescriptionYour task is to calculate the sum of some integers.InputInput contains an integer N in the first line, and then N li

2020-10-30 12:59:05 241

原创 ZOJ 1001 A + B Problem

A + B ProblemTime Limit: 2000 ms Memory Limit: 65536 KBCalculate a + bInputThe input will consist of a series of pairs of integers a and b,separated by a space, one pair of integers per line.OutputFor each pair of input integers a and b you should ou

2020-10-17 15:20:57 307

原创 大数阶乘 模拟法实现

参考链接https://blog.csdn.net/yu121380/article/details/792640191https://blog.csdn.net/vaeloverforever/article/details/792632030x0 一道PTA试题7-7 阶乘的非零尾数 (20分)“求 N 阶乘末尾的第一个非零数字”是一道常见的企业笔试题。这里我们略微做个变化,求 N 阶乘末尾的第一个非零 K 位数,同时输出末尾有多少个零。输入格式:输入给出一个不超过107的正整数 N 和要

2020-10-11 00:26:15 365

原创 最大公约数 最小公倍数算法

递归形式最大公约数 Greatest Common Divisorvoid swap(int& a, int& b) { int temp = a; a = b; b = temp;}int GCD(int i, int j) { if (i < 0 || j < 0) { return 0; } if (i < j) { swap(i, j); } if (j == 0) { return i; } return GCD(j, i

2020-10-11 00:24:52 227

原创 vector 删除和插入

删除#include <iostream>#include <vector>using namespace std;int main() { vector<int> vi; for (int i = 0; i < 10; i++) { vi.push_back(i); } for (vector<int>::iterator it = vi.begin(); it < vi.end(); it++) { //按照关键字删除

2020-10-07 17:55:29 289

原创 数据结构概论

数据数据是客观事物的符号表示。在计算机科学中,数据是指所有能输入到计算机中,并被计算机程序处理的符号总称。它是能够被计算机识别、存储和加工处理的信息的载体。数据元素数据元素是数据的基本单位,有时一个数据元素可以由若干个数据项组成。比如学生是一个数据元素,学生里面有姓名、学号和班级这样的数据项。数据项是具有独立含义的最小数据标识单位。数据结构数据结构是计算机中存储、组织数据的方式。根据数据元素之间关系的不同,可以分为下列四类基本结构集合数据元素之间除了属于同一个集合的关系外,别无其他逻辑关系。数

2020-10-02 22:13:22 350

原创 信号与系统 (施工中)

序言消息语言文字、声音、图像、统计数据等信息人们需要的消息称为信息信号信号是携带消息的随时间变化的物理量用f(t)表示激励信号,y(t)表示响应信号系统相互制约又相互作用的个体所组成的具有一定功能的整体信号的描述用一个单变量或多变量的函数来表示自变量时间空间频率……以时间t为自变量,信号可以表示为t的函数,用函数f(t),y(t)表征信号的时间特性信号在某一时刻的大小信号持续时间的长短信号变化的快慢……这些都可以从波形图上反映出来,信号的这一特性叫做信

2020-09-12 12:06:04 885

原创 PTA实验11-1-7 藏头诗 (15分)

实验11-1-7 藏头诗 (15分)本题要求编写一个解密藏头诗的程序。输入格式:输入为一首中文藏头诗,一共四句,每句一行。注意:一个汉字占两个字节。输出格式:取出每句的第一个汉字并连接在一起形成一个字符串并输出。同时在末尾输入一个换行符。输入样例:一叶轻舟向东流帆稍轻握杨柳手风纤碧波微起舞顺水任从雅客流输出样例:一帆风顺#include <stdio.h>#include <stdlib.h>intmain(void){ char* a[4

2020-09-02 09:51:38 2279 1

原创 最小生成树 Kruskal

Kruskal算法比起Prim算法还要更贪心一些Prim算法以某个顶点为起点,在这个顶点附近找权重最小的边;而Kruskal算法只要当前图中权重最小的边Kruskal算法Kruskal算法的思路是:把森林合并成树最开始时,我们把所有的顶点看做是一棵树的根节点,总共有n棵树edgebeginendweight00110105112121831616418125232262887

2020-09-01 23:47:33 348

原创 最小生成树 Prim

最小生成树Minimum Spanning Tree最小生成树首先是一棵树没有回路有n个顶点一定有n-1条边然后是一棵生成树包含了图中全部n个顶点只有足以构成一棵树的n-1条边最小指的是边的权重和最小向生成树中任意添加一条边一定构成回路一个图若存在对应的最小生成树,则此图为连通图,反之也成立Prim算法Prim算法的思路是:从一个根节点开始,让这棵小树慢慢长大...

2020-08-31 00:43:05 446

原创 图的遍历 DFS BFS

从图中某一顶点出发访遍图中其余顶点,且使每一个顶点仅被访问一次,这一过程就叫做图的遍历(Traversing Graph)深度优先遍历Depth First Search又称深度优先搜索,简称为DFS

2020-08-24 23:30:43 653

原创 图的存储结构

图是由顶点集合和边集合组成的,考虑怎么把这两样东西存储在计算机内存中邻接矩阵用两个数组来表示图。一个一维数组存储图中顶点信息;一个二维数组,称为邻接矩阵,用来存储图中的边或弧的信息。无向图设图G有n个顶点,则邻接矩阵arc是一个n × n的方阵若(vi,vj)∈E,arc[i][j]=1否则arc[i][j]=0若(v_i,v_j) \in E,arc[i][j] = 1\\否则arc[i][j] = 0若(vi​,vj​)∈E,arc[i][j]=1否则arc[i][j]=0由

2020-08-19 00:13:26 631

原创 图的概念

图的定义图(Graph)G由顶点(Vertex)集合V(G)和边(Edge)集合E(G)构成。G=(V,E)G = (V,E)G=(V,E)在图G中,如果代表边的顶点对是无序的,则称G为无向图。用圆括号序偶表示无向边(0,1)也可以写成(1,0)如果表示边的顶点对是有序的,则称G为有向图。用尖括号序偶表示有向边(又称弧 Arc)不能写成<1,0>图的基本术语端点和邻接点无向图若存在一条边(i, j),则称顶点i和顶点j为这条边的两个端点,它们互为邻接点(Adj

2020-08-14 14:04:10 729

原创 哈夫曼树

定义从树中一个节点到另一个节点之间的分支构成两个节点之间的路径路径上的分支数目称为路径长度。如图所示,根节点到节点D的路径长度为4。树的路径长度就是从树根到每一个节点的路径长度之和a树的路径长度=1+1+2+2+3+3+4+4=20\begin{aligned}a树的路径长度 &= 1+1+2+2+3+3+4+4\\&=20\end{aligned}a树的路径长度​=1+1+2+2+3+3+4+4=20​设二叉树具有n个带权值的叶子节点,那么从根节点到各个叶子节点的路径

2020-08-12 15:33:59 1864

原创 线索二叉树

对于有n个节点的二叉树,采用二叉链存储结构时,每个节点有2个指针域,总共有2n个指针域,其中只有n+1个空指针把空指针域用来存放前趋节点和后继节点的地址,这样的指针称为线索创建线索的过程称为线索化线索化的二叉树称为线索二叉树显然线索二叉树与遍历方法有关分为:先序线索二叉树中序线索二叉树后序线索二叉树线索二叉树的目的是提高遍历过程的效率...

2020-08-10 18:10:22 706

原创 二叉树的存储结构和基本运算

遍历树的遍历是指按照某种方式访问树中的每一个节点且每一个节点只被访问一次。以3种方法遍历下面这棵树。先根遍历若树不空,则先访问根节点,然后依次先根遍历各棵子树。遍历顺序是A、B、E、F、C、D、G、H、I、J、K后根遍历若树不空,则先依次后根遍历各棵子树,最后访问根节点。遍历顺序是E、F、B、C、I、J、K、H、G、D、A先根遍历和后根遍历是递归的层次遍历若树不空,则自上而下、自左而右地访问树中每个节点。遍历顺序是A、B、C、D、E、F、G、H、I、J、K...

2020-08-06 14:43:39 613

原创 二叉树

二叉树的定义二叉树是有限的节点集合这个集合或是空或由一个根节点和两棵互不相交的子树组成,分别是左子树和右子树两种特殊的二叉树满二叉树在一棵二叉树中如果所有分支节点都有两个分节点并且叶子节点都集中在二叉树的最下一层高度为h的满二叉树有2h−1个节点高度为h的满二叉树有2^h-1个节点高度为h的满二叉树有2h−1个节点完全二叉树最多只有下面两层的节点的度小于2并且最下面一层的叶子节点都依次排列在该层最左边的位置上二叉树性质性质一非空二叉树上叶子节点的个数等于双分

2020-08-03 01:15:29 464 1

原创 树的存储结构

树的存储结构双亲表示法由于树中任一节点有且仅有一个双亲节点,所以可以增加一个伪指针来指向节点的双亲节点。对应的存储结构如下#define MAXSIZE 100typedef int ElemType;typedef struct _ptnode{ ElemType data; /* 节点数据域 */ int parent; /* 双亲节点的位置*/}ptnode;typedef struct _ptree{ ptnode node[MAXSIZE]; /* 节点数组

2020-08-02 12:10:32 340

原创 树的概念

树的定义树形式化定义T={D,R}T=\{D,R\}T={D,R}D是包含n个结点的有限集合(n ≥ 0)。当n=0时为空树,否则关系R满足以下条件:有且仅有一个结点d0∈D,它对于关系R来说没有前趋结点,结点d0称作树的根结点;除根检点外,每个结点有且仅有一个前趋结点;D中每个结点可以有0个或多个后继结点。树的递归定义树是由n(n ≥ 0)个结点组成的有限集合(记为T)。其中:如果n = 0,它是一棵空树,这是树的特例;如果n > 0,其中存在一个唯一结点作为树的根节点

2020-08-01 14:08:02 1339

原创 PTA数据结构 习题2.8 输出全排列 (20分)

习题2.8 输出全排列 (20分)请编写程序输出前n个正整数的全排列(n<10),并通过9个测试用例(即n从1到9)观察n逐步增大时程序的运行时间。输入格式:输入给出正整数n(<10)。输出格式:输出1到n的全排列。每种排列占一行,数字间无空格。排列的输出顺序为字典序,即序列a​1,a​2,⋯,an排在序列b​1,b2,⋯,bn之前,如果存在k使得a1=b1,⋯,ak=bk并且 ak+1 < bk+1。输入样例:3输出样例:123132213231312321

2020-07-31 19:52:47 1357

原创 递归的数学定义和编程应用

递归的定义在定义一个过程或函数时,出现直接或者间接调用自己的成分,称之为递归。若直接调用自己,称之为直接递归若间接调用自己,称之为间接递归intfact( int n ){ if( n == 1 ){ return 1; }else{ return ( n * fact( n-1 ) ); }}...

2020-07-30 21:54:57 812 4

原创 串的模式匹配 BF算法和KMP算法

设有主串s和子串t,子串t的定位就是要在主串中找到一个与子串t相等的子串。通常把主串s称为目标串,把子串t称为模式串,因此定位也称为模式匹配。模式匹配成功是指在目标串s中找到一个模式串t;不成功则指目标串s中不存在模式串tBrute-Force算法采用穷举的思路,从目标串s的第一个字符开始和模式串t的第一个字符开始比较若相等,则继续逐个比较后续字符不相等则从目标串s的第二个字符开始重新与模式串t的第一个字符进行比较若匹配成功则返回主串中第一次出现模式串的位置,匹配失败返回-1以目标串"a

2020-07-27 17:47:27 1249

原创 顺序串和链串

串是字符串的简称,串是由零个或多个字符组成的有限序列,串属于一种线性表串中所含字符的个数称为该串的长度(或串长),含零个字符的串称为空串串相等:当且仅当两个串的长度相等并且对应位置上个的字符都相同时,这两个串才是相等的。所有的空串都是相等的子串:一个串中任意个连续字符组成的子序列(含空串)称为该串的子串,例如"abcd"的子串有""(空串),“a”,“ab”,“abc”,“abcd”,"abcde"等。真子串是指不包含自身的所有子串...

2020-07-26 14:24:10 1057

原创 链队

采用不带头结点的单链表实现链队队空条件front == NULL && rear == NULL队列的链式存储结构typedef struct _qnode{ ElemType data; struct _qnode *next;}qnode;typedef struct _lQueue{ qnode *front; qnode *rear;}lQueue;链队的基本操作voidinitQueue( lQueue **q ){ *q = ( lQueu

2020-07-23 11:44:28 274

原创 顺序队

队列队列是一种运算受限的线性表。队列只能选取一个端点进行插入操作,另一个端点进行删除操作。进行插入操作的一端称为队尾进行删除操作的一端称为队头向队列中插入新元素的操作称为进队,新元素进队后成为新的队尾元素从队列中删除元素的操作称为出队,元素出队后,其后继元素成为队首元素队列的特点是先进先出 ( First In First Out ) ,因此又把队列称为先进先出表队列的顺序存储结构typedef struct _sqQueue{ ElemType data[ SIZE ]; int

2020-07-21 16:36:06 709

原创 PTA数据结构 习题2.1 简单计算器 (20分)

习题2.1 简单计算器 (20分)模拟简单运算器的工作。假设计算器只能进行加减乘除运算,运算数和结果都是整数,四种运算符的优先级相同,按从左到右的顺序计算。输入格式:输入在一行中给出一个四则运算算式,没有空格,且至少有一个操作数。遇等号”=”说明输入结束。输出格式:在一行中输出算式的运算结果,或者如果除法分母为0或有非法运算符,则输出错误信息“ERROR”。输入样例:1+2*10-10/2=输出样例:10这道题不要求判断运算符的优先级,不用栈就可以完成任务。将第一个数字和第一个操作符

2020-07-18 16:55:00 742

原创 链栈

采用链表存储的栈称为链栈栈空条件:s->next == NULL栈满条件:不考虑入栈:将新元素插到头结点后面出栈:取出头结点之后的结点并删除之链栈的存储结构typedef struct _linkStack{ ElemType data; struct _linkStack *next;}linkStack;链栈的基本运算初始化voidinitStack( linkStack **s ){ *s = ( linkStack* )malloc( sizeof( lin

2020-07-17 20:04:00 385

原创 顺序栈

栈的定义

2020-07-17 00:31:15 1318

原创 C 标准库函数手册摘要

<stdlib.h>intabs( int value );long intlabs( long int value );返回参数的绝对值intrand( void );voidsrand( unsigned int seed );rand返回一个范围在0和RAND_MAX(至少为32767)之间的伪随机数为了避免程序每次运行...

2020-07-16 17:25:24 346

原创 C 输入输出函数

voidperror( char const *message );标准库函数在一个外部整型变量errno(在error.h中定义)中保存错误代码。当库函数失败时,errno才会被设置 FILE *fp; fp = fopen( "data3.txt", "r" ); if( fp == NULL ){ perror( "data3.txt" ); exit( EXIT_FAILURE ); }data3.txt: No such file or directory请按任意键继续

2020-07-16 15:28:26 267

原创 循环链表

循环单链表:将表中尾结点的指针域改为指向表头脑结点,整个链表形成一个环。由此从表中任一结点出发均可找到链表中其他结点。循环双链表:形成两个环。

2020-07-15 00:28:50 2159

原创 C 字符串相关的库函数

char*strchr( char const *str, int ch );char*strrchr( char const *str, int ch );strchr从头向尾找,找到了返回一个指向目标字符的指针,找不到返回NULLstrrchr从尾向头找,找到了返回指针,找不到返回NULLchar*strpbrk( char const *str, char const *group );strpbrk在str字符串中查找,找到gruop中任意一个字符则返回指针,找不到返回NU

2020-07-14 00:23:09 331

原创 双向链表

在单链表的基础上,给每个物理结点增加一个指向后继结点的指针域优点:从任一结点出发可以快速找到其前趋结点和后继结点从任一结点出发可以访问其他结点typedef struct Dnode{ int data; struct Dnode *prior; struct Dnode *next;}dnode;成员作用data数据域prior指针域,指向前趋结点next指针域,指向后继结点双链表中结点的插入在p指向的结点之后插入s指向的结点 s

2020-07-12 00:43:06 551

原创 PAT (Basic Level) Practice (中文)1025 反转链表 (25分)

1025 反转链表 (25分)给定一个常数 K 以及一个单链表 L,请编写程序将 L 中每 K 个结点反转。例如:给定 L 为 1→2→3→4→5→6,K 为 3,则输出应该为 3→2→1→6→5→4;如果 K 为 4,则输出应该为 4→3→2→1→5→6,即最后不到 K 个元素不反转。输入格式:每个输入包含 1 个测试用例。每个测试用例第 1 行给出第 1 个结点的地址、结点总个数正整数 N (≤105​​ )、以及正整数 K (≤N),即要求反转的子链结点的个数。结点的地址是 5 位非负整数,NU

2020-07-10 17:16:00 322

原创 PTA数据结构 习题3.6 一元多项式的乘法与加法运算 (20分)

设计函数分别求两个一元多项式的乘积与和。输入格式:输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。输出格式:输出分2行,分别以指数递降方式输出乘积多项式以及和多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。零多项式应输出0 0。输入样例:4 3 4 -5 2 6 1 -2 03 5 20 -7 4 3 1输出样例:15 24 -25 22 30 21 -10 20

2020-07-09 17:16:07 4278 4

原创 单链表的算法设计

一般的算法设计方法以查找为基础的算法设计按照条件进行节点查找进行插入或者删除操作例1设计一个算法,删除一个单链表L中元素值最大的节点,题目保证最大值节点是唯一的。voiddelmaxnode( linkList *l ){ linkList *p = l->next, *pre = l; linkList *maxp = p, *maxpre = pre; while( p != NULL ){ if( max->data < p->data ){

2020-07-08 15:51:28 1840

原创 单向链表

链表线性表中每个节点有唯一的前趋节点和后趋节点设计链式存储结构时,每个逻辑节点是单独存储的,为了表示逻辑关系,增加指针。单链表——每个物理节点增加一个指向后继节点的指针从逻辑结构映射到存储结构...

2020-07-04 21:59:54 1452

空空如也

空空如也

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

TA关注的人

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