自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zhichao.yan的博客

努力向上爬

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

原创 Mac m1下Qt6.2.4的Mysql驱动插件编译配置和加载

Qt编译mysql驱动插件和加载问题解决

2022-08-13 13:38:43 903 1

原创 7-38 数列求和-给定某数字A(1≤A≤9)以及非负整数N(0≤N≤100000),求数列之和S=A+AA+AAA+⋯+AA⋯A(N个A)。例如A=1, N=3时,S=1+11+111=123。

PTA 7-38 数列求和-加强版

2022-07-05 20:44:32 3117

原创 字符串的模式匹配算法

模式匹配算法前言对于数据结构中串的章节,最为重要的莫过于串的模式匹配算法:即为求给定子串在主串中的出现的位置。从最开始的朴素模式匹配到后来的KMP算法,再到改良的KMP算法,算法逐渐改良,理解难度也逐渐加大。本人曾经多次阅读相关内容,怪于自身理解能力有限仅一知半解,但心中甚为挂念。今再次读之理解更深入之,遂记之以铭后效。注解:本文字符串结构皆为顺序存储结构,且使用下标为0的数组分量表示字符串的长度主串标记为字符数组S,子串或者模式注为字符数组T朴素模式匹配算法//返回子串T在主串S中第pos

2021-05-15 11:34:01 566 2

原创 韩信点兵算法题解

在中国数学史上,广泛流传着一个“韩信点兵”的故事:韩信是汉高祖刘邦手下的大将,他英勇善战,智谋超群,为汉朝建立了卓越的功劳。据说韩信的数学水平也非常高超,他在点兵的时候,为了知道有多少兵,同时又能保住军事机密,便让士兵排队报数:按从1至5报数,记下最末一个士兵报的数为1; 再按从1至6报数,记下最末一个士兵报的数为5; 再按从1至7报数,记下最末一个士兵报的数为4; 最后按从1至11报数,最末一个士兵报的数为10;请编写程序计算韩信至少有多少兵。解体代码:#include<std

2021-01-06 23:26:42 4535

原创 辗转相除法

求两个数的最小公约数经常使用辗转相除法。代码很简单,如下所示:#include<stdio.h>int main(){ int M,N; scanf("%d %d",&M,&N); int a=M,b=N; if(M<N)//先调整大小,使M为两数中较大者,N为较小者 { int t=M; M=N; N=t; } int r=M%N;//求得余数 w

2020-12-22 17:36:37 5432 1

原创 ubuntu的基础命令

ubuntu的基础命令首先打开一个新终端:$表示当前为普通用户,即有一般用户权限#表示当前为根用户,即有根用户权限那么如何成为根用户了?使用su命令,输入根用户密码切换用户权限,$变成了#,/home/yan为当前所处位置通用的切换用户方法为 su+用户名:pwd命令用于显示当前所在目录位置:由图可见对于root用户和普通用户都可随时使用pwd命令,此时位置均是/home/yan~代表当前目录位置为用户主目录:yan的主目录为/home/yan,root的主目录为/rootcd命令

2020-07-09 20:43:41 118

原创 拓扑排序以及求解关键路径

拓扑排序以及求解关键路径都是属于有向无环网的应用拓扑排序:解决工程能否顺序进行的问题介绍2个概念AOV网:在一个表示工程的有向图中,用顶点表示活动,用弧表示活动之间的优先关系,这样的有向图为顶点表示活动的网,我们称之为AOV网。弧表示活动之间的某种制约关系:比如演职人员确定了,场地联系好了,才可以开始进场拍摄。 AOV网中不能存在回路,即不能存在环,否则某个活动的开始要以自己完成...

2019-10-29 23:57:44 3664

原创 最短路径算法(迪杰斯特拉算法,弗洛伊德算法)

最短路径:非网图:指两个顶点之间经过的边的数量最少的路径网图:指两个顶点之间经过的边上权值之和最少的路径两种算法:迪杰斯特拉算法:求某个源点到其余各顶点的最短路径问题 弗洛伊德算法:求图中每一对顶点之间的最短路径1.迪杰斯特拉算法(Dijkstra)迪杰斯特拉是一个按路径长度递增的次序产生最短路径的算法大致道理:引进辅助分量D,每个分量D[i]表示从初始点到终点的最...

2019-10-29 13:20:36 1734

原创 最小生成树算法(普里姆算法和克鲁斯卡尔算法)

什么是生成树?一个连通图的生成树是一个极小的连通子图,它含有图中全部的n个顶点,但是只有足以构成一棵树的n-1条边。理解:连通图是属于无向图的范畴,有向图的连通子图叫强连通图 它含有n个全部顶点,只有n-1条,将n个顶点连起来至少要n-1条边 少于n-1条边连不起来,那么则无法连通。比如10个点直线连起来至少中间要有9条边 多于n-1条边会形成环,是连通图,但是不是极小的连通子图...

2019-10-25 12:59:34 3384

原创 排序算法学习之归并排序(2-路归并排序)

归并排序基本思路:假设初始序列有n个记录,则可看成是n个有序的子序列,每个序列长度为1,然后两两归并,得到个长度为2或者是1的有序子序列;再两两归并,,,,如此重复,直到得到一个长度为n的有序序列为止,这种排序方法称为2-路归并排序。详细动态图解(详细图解)-------号外:归并排序发明者竟然是约翰-冯诺伊曼归并操作的工作原理如下:第一步:申请空间,使其大小为两个已经排序序列...

2019-10-10 20:43:02 1085

原创 选择排序(简单选择排序,树形选择排序,堆排序)

简单选择排序基本思想:第i趟排序经过n-i次关键字的比较在n-i+1(i=1,2,3,......n-1)个记录中选取关键字最小的记录作为序列的第i个记录直接看代码!没啥好说的这个!void SelectSort(SqList *L){ for(int i=0;i<L->length-1;i++){//总共进行n-1趟排序,便可使整个序列有序 { ...

2019-10-09 19:43:38 592

原创 排序算法学习之交换排序(冒泡排序,快速排序)

冒泡排序名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名“冒泡排序”。步骤:进行第i趟排序:比较第1个记录和第2个记录关键字,逆序则交换两个记录 往后比较第2个记录和第3个记录,逆序则交换两个记录 依次往后比较,直到比较完第n-i个记录和第n-i+1个记录,逆序则交换两个记录 关键字最大的记录...

2019-10-08 17:51:06 148

原创 插入排序(直接插入排序,折半查找插入排序,2-路插入排序,表插入排序,希尔排序)

直接插入排序(n个元素非递减排序)原理:将一个记录插入到已经排好序的有序表中(将序列第一个记录看做只有一个记录的有序序列),得到新的记录数+1的有序表//顺序表结构#define MAXSIZE 20typedef struct{ int r[MAXSIZE];//默认是短整形 int length;//表长}SqList;步骤:将第i个记录插入前面含有第...

2019-10-07 13:48:17 860

原创 数据结构习题集实习之航空客运订票系统(示意系统,全部数据放在内存)

航空客运订票系统1、系统名称:航空客运订票系统航空客运订票的业务活动包括:查询航线、客票预定和办理退票等。要求在TC或VC环境下设计一个航空客运订票系统,以使上述业务可以借助计算机来完成。2、要求:(1)每条航线所涉及的信息有:终点站名、航班号、飞机号、飞行日期(星期几)、乘员定额、余票量、已经订票的客户名单(包括姓名、订票量)以及等候替补的客户名单(包括姓名、所需票量)。(2...

2019-08-03 00:43:56 4422 8

原创 数据结构习题集之银行业务模拟(双队列事件驱动)

个人感受和想法:写这个课程设计很煎熬,时间话的太久,我就是一个容易死磕的笨蛋,一直不太理解离散事件驱动,在网上看了很多博客,感觉乱糟糟看不下去,有些对离散事件驱动感觉写的体现不明显,我就比较偏执所以主线是根据事件驱动函数执行的,其实这个里面涉及到一些解锁开锁的问题,操作系统里面的知识我忘记了许多,并且这个程序是模拟,初始条件随机,对于出现结果难于预期,于是感觉还是比较绕吧,但还是被我怼出来了!...

2019-07-21 21:59:47 1020

原创 数据结构习题集之算数表达式求值演示

数据结构习题集实习之算数表达式求值演示问题描述:设计一个程序,演示用算符优先法对算数表达式求值的过程基本要求:以字符形式从终端输入语法正确的,不含变量的整数表达式。利用教科书表3.1给出的算符优先关系,实现对算数四则混合运算表达式的求值,并仿照教科书的例子3-1演示在求值中运算符栈、运算数栈、输入字符和主要操作的变化过程。#include <stdio.h>#inclu...

2019-07-09 12:57:35 1531 1

原创 程序设计实践之车辆信息管理系统

为杭州市车辆管理所建立车辆信息录入系统。编写具有下列功能的菜单驱动的程序。添加车辆信息显示所有车辆信息删除车辆信息 让操作者输入要删除车辆的车牌,将其删除查询车辆信息 让操作者输入要查询车辆的车牌,显示其信息或提示无清空车辆信息更新车辆信息退出系统啥也不敢说,啥也不敢问,直接看代码#include <stdio.h>#include <stdlib...

2019-07-09 00:46:49 1733 3

原创 文件读写操作速成攻略

1. fopen函数原型为: FILE *fopen(const char *filename, const char *mode)功能:使用给定的模式 mode 打开 filename 所指向的文件位置:C 标准库<stdio.h>中打开正常:返回指向该流的文件指针 打开失败:返回 NULL2.fclose函数原型:int fclose( FILE *fp );功能:...

2019-07-08 22:34:07 264

原创 C语言控制台打印输出整齐问题

关键词:控制台\打印\制表符\空格\格式控制符\列\对齐\初衷:经常写程序时需要打印输出,然后每次又打印的一团糟糕,我又是一个接近强迫症和略微完美主义者,碰巧好像网上没有我所需要的帖子,所以经过探索之后得到这些如何让自己在控制台打印输出整齐的Tips,同时和大家分享!鄙人水平不够,有错还望指教首先你需要明白的影响打印整齐控制的因素:1.制表符(8个空格)2.键盘输入一个空格(一个空...

2019-07-08 17:19:33 8788 2

原创 摩尔投票算法

摩尔投票算法顾名思义是一种类似投票过程的算法其由1981年出版的Robert S. Boyer和J Strother Moore的名字命名,并且是流式算法的典型例子。LeedCode原题:给定一个大小为n的数组,找到其中的众数。众数是指在数组中出现次数大于⌊ n/2 ⌋的元素。你可以假设数组是非空的,并且给定的数组总是存在众数。易知事实:由于假定总是存在众...

2019-05-07 17:13:15 141

原创 数据结构习题集之魔王语言解释

魔王语言解释问题描述有一个魔王总是使用自已的一种非常精练而抽象的语言讲话,没有人能听得懂。但他的语言是可以逐步解释成人能懂的语言的,因为他的语言是由以下两种形式的规则由人的语言逐步抽象上去的:(1) α→β1β2…βm(2) (θβ1β2…βm)→(θβm…β2θβ1θ)在这两种形式中,从左到右均表示解释; 从右到左均表示抽象。写一个魔王解释程序,将魔王的话解释成人能听懂的话。基...

2019-04-27 01:08:42 2613

原创 数据结构习题集之停车场管理

停车场管理【问题描述】设停车场是一个可停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车放在车场的最北端),若车场内已停满n辆汽车,则后来的汽车只能在门外的便道上等待,一旦有车开走,则排在便道上的第一辆车即可开入;当停车场内某辆车要离开时,在它之后进入的车辆必须先退出车场为它让路,待该辆车开出大门外,其...

2019-04-25 23:11:49 2175

原创 数据结构习题集之运动会分数统计

运动会分数统计#include <stdio.h>#include <stdlib.h>#include <string.h>typedef struct Score{ char AthleteName [20]; char SchoolName [20]; int SchoolCode; int Rank; ch...

2019-04-10 18:49:05 7845 1

原创 快速排序精讲

快速排序是对于冒泡排序的改进那么它是如何改进的呢??假设有n个记录值,冒泡排序的排序过程的最差情况经历n-1趟排序,每一趟排序中前后相邻的值进行交换,每个值逐步地移动到它应该有的位置,序列从无序状态到渐进到有序状态(每次交换都是相邻交换),经过n-1趟交换效果的累积,终于达到整体有序相比之下快速排序呢是粗精度到高精度的冒泡排序,首先选取一个PivoKey,用以将序列分成相邻的2段,左边为小...

2019-03-14 22:08:54 245

原创 希尔排序

希尔(Shell)排序又称为缩小增量排序,它是一种插入排序。它是直接插入排序算法的一种威力加强版。希尔排序是非稳定排序算法直接插入排序:对于数据量较小,数据序列基本有序的情况下算法复杂度较低希尔排序基本思想:通过将序列划分若干组小数据量的序列(设置增量序列),别且对各组序列分别进行直接插入排序。因此:希尔排序等价于将原有数据量大的直接插入拆分成数次小的直接插入,形成基本有序的序列,通过最后增...

2019-03-14 15:12:22 110

原创 2路插入排序

2路插入排序2路插入是在折半插入的基础上进行改进。折半插入在原先直接插入的基础上改进,通过折半查找,以较少的比较次数就找到了要插入的位置,但是在插入的过程中仍然没有减少移动次数,所以2路插入在此基础上改进,减少了移动次数,但是仍然并没有避免移动记录(如果要避免的话还是得改变存储结构)那么如何减少的移动次数???常规的一个数组{2, 7, 8,10,15 ,29,30, 40,50,66,7...

2019-03-13 14:33:15 4882 2

原创 Matplotlib绘图库简要介绍

Matplotlib是python中绘图的库plot:其中最重要的一个函数,允许绘制2D图单图单线&gt;&gt;&gt; import numpy as np //将numpy库以简化的np导入,引用时用np代表&gt;&gt;&gt; import matplotlib.pyplot as plt //同理导入 matplotlib.pyplot &gt;&gt;&...

2019-02-21 16:25:43 364

原创 python中容器总结

python中容器container总结首先,什么叫做容器呢?容器顾名思义就是里面可以容纳很多东西,可以理解成已经被包装好的一个盒子。python中的container是一种内置的封装好的数据结构,是可以直接拿来使用,不需要自己构造。当然是容器也是可以通过自己构造的。本文介绍四种容器:列表:List集合:set字典:dictionary元组:tupleList定义:List是一...

2019-02-19 23:38:26 685

原创 python之数值类型

数值numbers计算数值类型分为int类型和float类型#和其他程序设计语言一样python中+,-,*,/的使用同其他程序设计语言也一样,遵循先乘除后加减,括号内先执行,略微不同的是/,稍后有介绍&amp;gt;&amp;gt;&amp;gt; 2 + 24&amp;gt;&amp;gt;&amp;gt; 50 - 5*620&amp;gt;&amp;gt;&amp;gt; (50 - 5*6) / 45.0//

2019-02-03 01:51:48 133

原创 MNIST数据集两层神经网络分类

MNIST数据集两层神经网络分类&gt;&gt;&gt; import tensorflow as tf&gt;&gt;&gt; from tensorflow.examples.tutorials.mnist import input_data&gt;&gt;&gt; mnist=input_data.read_data_sets("MNIST_data/",one_hot=True)/...

2019-02-01 17:54:48 1041

原创 MNIST数据集手写数字识别(softmax回归模型)

机器学习入门之MNIST数据集使用平台:python35自带的IDLE&gt;&gt;&gt;from tensorflow.examples.tutorials.mnist import input_data&gt;&gt;&gt; mnist=input_data.read_data_sets("MNIST_data/",one_hot=True)//从MNIST_data/中读取数据到...

2019-01-31 16:56:29 1541 1

原创 python shell脚本语言编写使用

python shellpython shell 是一种交互式的命令行界面。是作为python的程序控制台。一般作为python语言学习用。解释性:输入一段代码,立即得到结果。ctrl+N新建一个未命令的脚本输入print(“hello,world”)点击工具栏:run-&gt;run module或者F5运行执行打印hello world也可通过其他编辑器code出以.py结...

2019-01-30 23:49:35 1620

原创 win7中使用cmd打开磁盘和文件夹

你好

2019-01-30 00:31:41 799

空空如也

空空如也

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

TA关注的人

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