自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

张公子:桃花落影飞神剑,碧海潮生按玉箫。欢迎共赴知识与乐趣的探索之旅!

张公子:码龄5年的C++开发者,从事C++开发、测试、售前相关工作。博客提供技术文章和工具教程,帮助您高效完成开发任务。作为西安开发者,了解西安就业形势及相关赛道、组织线下活动。加入优快云自2019年,总访问量超35万,感谢全网超7K粉丝的支持和认可 !

  • 博客(174)
  • 资源 (3)
  • 收藏
  • 关注

原创 一文详解软件测试

软件测试主要旨在通过执行一系列的测试用例,检查和验证软件产品的功能和性能是否符合设计规格和用户需求。这一过程不仅限于查找错误,还包括分析软件在实际环境中的表现,提出改进方案,并确保所有功能在各种条件下都能稳定运行。测试方法:软件测试可以分为手动测试和自动化测试,涵盖从单元测试到系统测试、从内部功能测试到外部兼容性测试等多个层面。其中包括白盒测试和黑盒测试,前者基于内部结构和逻辑进行测试,后者则关注输入与输出结果。测试类型:常见的软件测试类型包括功能测试、性能测试、安全测试、压力测试等。

2024-07-12 18:25:44 1244

原创 高效时间管理

时间的四象限管理法是一种有效的时间管理策略,由美国管理学家科维提出。该方法将工作按照重要性和紧急性两个维度进行划分,形成四个象限,从而帮助人们更好地分配时间和资源。第一象限:既重要又紧急(重要且紧急)特点:这类事务通常是危机或迫切问题,需要在限定时间内完成,对个人和组织的影响极大。示例:处理客户投诉、即将到期的项目、突发的健康问题等。处理方法:应优先解决,立即行动。但这类事务应尽可能减少,因为它们往往是由于第二象限的事务没有得到及时处理而转变来的。精力分配:建议分配20%至30%的精力。

2024-06-15 23:47:43 1230 1

原创 Windows、Linux下,基于QT的打包方法

确认方法:修改本地QT的名称,比如:Qt5.12.12,修改为666,如果程序正常运行、功能无缺陷就代表打包成功了。2、找到构建后的文件夹,复制当前生成的exe文件到一个新的文件夹(打包的目的文件,如:fileName)两种打包方法都有问题,但是报错会提醒到我们,无非是某些库没有复制到,这里需要我们进行手动复制、拷贝。10、在Qt的安装目录下,将copylib.sh复制到platforms文件夹当中,执行。命令,此时也会生成lib文件夹,同样复制lib内的库到File下,重复的选替换即可。

2024-05-26 17:23:02 1937

原创 QML的Image 路径问题(source)

相对路径: QML 文件和一个名为 close.png 的图片在同一目录下,直接使用 source: “close.png”。QML 会相对于 QML 文件的路径来查找这个图片。绝对路径:知道图片的确切位置,你可以使用绝对路径。但是,这通常不推荐,因为这会使 QML 文件更难以移植和重用。资源路径 :使用 Qt 的资源系统(.qrc 文件),可以将图片添加到资源文件中,并在 QML 中通过资源路径引用它。

2024-05-26 16:15:04 1256 1

原创 QML与C++交互的两种注册方法比较(rootContext 和 qmlRegisterType)

- `qmlRegisterType` 用于注册 C++ 类型,以便 QML 可以直接创建和使用这些类型的实例。- `setContextProperty` 用于将 C++ 对象或值设置为 QML 上下文的属性,以便 QML 可以直接访问它们。这通常用于单例或全局对象。

2024-05-26 11:15:47 1176 1

原创 .gitignore 文件的说明文档

.gitignore文件说明

2024-05-08 10:50:35 633

原创 Qt跨平台开发demo(简单练手)

MVC模式模型(Model)、视图(View)和控制器(Controller)。使用MVC模式有很多优势,例如:简化后期对项目的修改、扩展等维护操作;使项目的某一部分变得可以重复利用;使项目的结构更加直观。具体来讲,MVC模式可以将项目划分为模型(M)、视图(V)和控制器(C)三个部分,并赋予各个部分不同的功能,方便开发人员进行分组。**(1)模型(Model):**模型持有所有的数据、状态和程序逻辑。模型接受视图数据的请求,并返回最终的处理结果。

2024-05-08 09:48:11 1346

原创 linux(ubuntu18.04.2) Qt编译 MySQL(8.0以上版本)链接库 Qt版本 5.12.12及以上 包含Mysql动态库缺失问题

Qt5.12.12构建64位QMYSQL数据库驱动,解决数据库驱动丢失问题Qt5.12.12构建64位QMYSQL数据库驱动,解决数据库驱动丢失问题Qt5.12.12构建64位QMYSQL数据库驱动,解决数据库驱动丢失问题

2024-04-30 00:07:03 1306 3

原创 【AI创作助手使用测试】C++使用场景生成、Windows设备驱动开发介绍、调试技巧

Windows设备驱动开发是编写能够控制硬件的软件程序,它们是操作系统内部的一部分,用于与硬件设备进行通信。设备驱动程序可以控制诸如输入/输出(I/O)端口、中断、DMA、物理内存等硬件资源,使得操作系统和应用程序可以与硬件设备进行通信和协调工作。在Windows操作系统中,设备驱动程序可分为内核模式驱动程序和用户模式驱动程序。内核模式驱动程序是在操作系统内核中运行的程序,具有更高的权限和更大的设备访问能力,通常用于控制核心硬件设备,如磁盘控制器、网络接口卡等。

2023-08-30 14:17:05 717 2

原创 Windows测试模式打开/关闭 C++ Windows驱动开发

Windows下测试模式打开和关闭

2023-08-06 10:19:08 3763

原创 Windows驱动开发必备工具

Windows驱动开发必备书籍、工具

2023-08-03 10:19:59 725

原创 《异兽迷城》天赋表(已完结)~ 酷 诸事顺,利

全文无刀

2023-08-01 21:58:24 195251 26

原创 INF文件剖析(包含完整代码教学)

对INF文件做了整体剖析,对INF、INX文件的生成方式做了简单介绍,对其中域、指令的概念做了梳理,结尾有梳理好的脑图,仅供参考!INF (文件) 安装信息是驱动程序包中的文本文件,其中包含设备安装组件在设备上安装驱动程序包时使用的所有信息。

2023-08-01 21:20:09 1487

原创 驱动程序的基本结构(WDM)

简单介绍了驱动对象、设备对象、设备扩展,重点介绍了WDM驱动的结构,如:驱动入口、派遣函数、AddDevice(设备创建)、设备层次结构等。

2023-07-11 20:07:10 702

原创 PCIE学习

物理层的主要职责是处理所有的Packet数据物理传输,发送端数据分发到各个Lane传输(stripe),接收端把各个Lane上的数据汇总起来(De-stripe),每个Lane上加扰(Scramble,目的是让0和1分布均匀,去除信道的电磁干扰EMI)去扰(De-scramble),以及8/10或者128/130编码解码,等等。在计算机系统中,只有系统软件可以为 PCIe 设备内部的资源指定合适的地址,而 PCIe 设备能做的就是告诉系统软件该设备内部可访问的资源大小、资源类型和资源特性。

2023-05-31 15:45:12 1677

原创 C 语言printf打印各种数据类型的方法 驱动开发常用类型

C 语言printf打印各种数据类型的方法 驱动开发常用类型。

2023-05-23 14:10:42 646

原创 驱动开发函数详解之Wdm

整理常用函数

2023-03-09 16:04:28 819

原创 一文搞定驱动签名流程(Win10)

在学习驱动的过程中免不了大量的测试,在驱动运行过程中,驱动签名一直是关键一环,因此带大家做一遍完整的驱动签名。

2023-02-10 17:36:59 5348

原创 驱动开发代码研读

XDMA源码解读

2022-12-02 17:17:58 6328 5

原创 XDMA PCIE开发期间两个版本问题的解决

PCIE问题解决

2022-12-01 15:47:29 2180 4

原创 Vivado驱动安装

Vivado驱动

2022-11-17 09:39:30 5077

原创 WIN10 驱动开发环境从0搭建 (内含调试程序下载 驱动开发必看)

本文记录如何配置一个可使用的驱动开发环境。

2022-11-08 09:19:24 1413

原创 驱动开发基础知识

驱动开发前部分知识储备

2022-11-04 14:51:12 3323

原创 Linux.14_多线程(重点总结)

线程是一个进程内部的控制序列,通俗的说:在一个程序里的一个执行路线就叫做线程(thread)。一个进程至少有一个执行线程线程在进程内部运行,本质是在进程地址空间内运行。在Linux系统CPU眼中,看到的PCB都要比传统进程更加轻量化。透过进程虚拟地址空间,可以看到进程的大部分资源,将进程资源合理分配给每个执行流,就形成了线程执行流。

2022-11-02 09:07:39 119 1

原创 音视频编解码-5——《代码整洁之道》读书笔记

《代码整洁之道》读书笔记,编码规范个人梳理

2022-10-17 10:18:44 871

原创 音视频编解码-6——Cmake文件配置

CMakeLists文件配置

2022-10-11 15:28:33 872 1

原创 RGB转BMP——格式转换

RGB转BMP

2022-09-13 08:55:55 858

原创 git仓库管理规范

git使用

2022-08-31 14:33:09 488

原创 FFmpeg问题梳理

FFmgeg初学问题梳理

2022-08-18 11:35:22 2299

原创 音视频编解码-2

音视频编解码学习记录

2022-08-08 11:08:25 202

原创 音视频编解码-1

视频开发人员入职系列

2022-08-01 17:30:31 3291

原创 《计算机工程与应用》投稿详解

《计算机工程与应用》投稿记录文章目录《计算机工程与应用》投稿记录下载中心一、期刊简介二、投稿流程总结下载中心官网下载链接论文写作模板、版权转让声明都是在这里下载一、期刊简介——中国科技核心期刊 ——北大中文核心期刊 ——RCCSE中国核心学术期刊 ——中国科学引文数据库(CSCD)来源期刊 ——中国学术期刊综合评价数据库(CAJCED)统计源期刊——中国科技论文与引文数据库(CSTPCD)统计源期刊——中文科技

2021-10-19 22:38:13 11152 58

转载 怎么成为一个优秀的面试官

转载陈皓——再谈“我是怎么招聘程序员的”文章目录转载陈皓——再谈“我是怎么招聘程序员的”几个重要观点不要肤浅地认识算法题和智力题模拟实际中的挑战和能力把应聘者当成你的同事一些相关的点评1.酷壳的面试题中的答复豆瓣产品经理的面试(这里)建议大家多读读原文,很有深度再谈“我是怎么招聘程序员的”几个重要观点只有应聘者真实和自然的表现,才能了解到最真实的东西重要的不是知识,重要的是其查找知识的能力重要的不是那个解题的答案,而是解题的思路和方法操作,知识,经验,能力我们有很多的面试官似乎分不清,什么是

2021-09-06 09:30:45 561

原创 C语言一文复习重点难点

文章目录一、指针和数组1.什么是指针:2.什么是指针数组?什么是数组指针?什么是函数指针?练习1.程序的结果是什么?2.程序的结果是什么?3.程序的结果是什么?4.程序的结果是什么?5.程序的结果是什么?6.程序的结果是什么?7.程序的结果是什么?二、结构体1.结构体、联合、枚举体他们之间区别2.内存对齐内存对齐的规则+如何计算为什么要对齐:二、使用步骤1.引入库2.读入数据总结一、指针和数组1.什么是指针:指针就是个变量,用来存放地址,地址唯一标识一块内存空间。指针的大小是固定的4/8个字节(3

2021-08-21 11:20:09 982 4

原创 八大排序详解

数据结构八大排序详解文章目录数据结构八大排序详解排序的概念一、直接插入排序1.单趟2.多趟二、希尔排序(改进的插入)1.基本思想2.具体步骤3.单趟4.多趟5.完整希尔总结排序的概念排序:所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。稳定性:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,r[i]=r[j],且r[i]在r[j]之前,而在排序后的序列中,r[i]仍在r[j]之前,则称这种排序

2021-08-05 09:37:10 280 1

原创 数据结构——线性表详解(考研必备)

线性表详解线性表线性表(linear list)是n个具有相同特性的数据元素的有限序列。 线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列、字符串…1.线性表结构在逻辑上是线性结构物理结构上不一定是连续的线性表在物理上存储时,通常以数组和链式结构的形式存储顺序表1.概念顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储。在数组上完成数据的增删查改。顺序表一般可以分为:静态顺序表:使用定长数组存储动态顺序表:动态开辟

2021-08-04 19:54:42 768 1

原创 一文详解计算机网络

计算机网络

2021-08-01 16:44:48 1760

原创 数据结构之时间复杂度、空间复杂度详解

算法效率算法效率分为两种,一种是时间效率,一种是空间效率。时间复杂度主要衡量的是一个算法的运行速度,而空间复杂度主要衡量一个算法所需要的额外空间。在计算机发展的早期,计算机的存储容量很小。所以对空间复杂度很是在乎。但是经过计算机行业的迅速发展,计算机的存储容量已经达到了很高的程度。所以我们如今已经不需要再特别关注一个算法的空间复杂度。时间复杂度算法中的基本操作的执行次数,为算法的时间复杂度。如下程序:void Func1(int N) {int count = 0;for (int i

2021-07-31 17:14:15 332 1

原创 剑指 Offer 62. 圆圈中最后剩下的数字(数学推导)

剑指 Offer 62. 圆圈中最后剩下的数字题目描述剑指 Offer 62. 圆圈中最后剩下的数字0,1,···,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字(删除后从下一个数字开始计数)。求出这个圆圈里剩下的最后一个数字。例如,0、1、2、3、4这5个数字组成一个圆圈,从数字0开始每次删除第3个数字,则删除的前4个数字依次是2、0、4、1,因此最后剩下的数字是3。公式推导给定n=5,m=3的时候,是这么取的设dp[n,m]dp[n,m]表示在n个数字序列(0~

2021-07-29 21:01:41 110 1

原创 剑指 Offer 20. 表示数值的字符串(一看就会的解法)

剑指 Offer 20. 表示数值的字符串题目要求如下走过的坑一开始我是这么分析的:这种方法不容易实现分析题目其实我们可以换一种思路,利用一个标签,决定true或者false。第一步当然是去掉若干空格 bool isNumber(string s) { //指针,记录扫描到s的哪个字符了 int i = 0; //跳过初始的空格 for(; i < s.size(); ++i) if(s

2021-07-25 17:08:57 93 1

针对Stable Diffusion、Midjourney、DALL-E等AI绘画软件的部署、训练模型、安装、原理等等教程

针对Stable Diffusion、Midjourney、DALL-E等AI绘画软件的部署、训练模型、安装、原理、提示词合集、API开发、插件等方面的信息,我将分别进行阐述: 一、Stable Diffusion 1. 部署 Stable Diffusion的部署通常需要一定的技术基础,包括准备合适的硬件环境(如具备独立显卡的机器)和安装必要的软件(如Python、CUDA等)。具体步骤可参考GitHub上的官方仓库(如stable-diffusion-webui)的文档和教程。部署过程可能涉及拉取代码、安装依赖、配置环境等步骤。 2. 训练模型 Stable Diffusion的训练模型过程较为复杂,需要专业的机器学习知识和大量的计算资源。通常,这一过程由开发者或研究机构进行,使用大量的图像数据作为训练集,通过深度学习算法进行训练。训练好的模型可以用于生成与输入文本描述相符的图像。 3. 安装 Stable Diffusion的安装可以通过多种方式实现,包括从GitHub上拉取代码进行本地安装、使用启动器一键安装等。对于没有开发经验的用户,推荐使用启动器一键安装的方式。

2024-07-15

操作系统开发/调试的案例集合

针对Linux、Mac、Windows、Android、iOS等操作系统的开发与调试,以下是各系统的一些具体案例及说明: Linux 开发工具 编译器:GCC 编辑器:Vim, Emacs, VS Code 调试工具:GDB 项目示例:简单的HTTP服务器 项目结构: simple_http_server/ ├── server.c └── Makefile server.c:实现一个基本的HTTP服务器,监听8080端口,对请求返回"Hello world"消息。 Makefile:用于编译server.c生成可执行文件。 编译和运行: bash make ./server 调试:使用GDB进行调试。 Mac 开发工具 编译器:Clang 编辑器:Xcode, VS Code 调试工具:LLDB 项目示例:简单的Mac应用 项目结构: simple_mac_app/ ├── main.m └── Makefile main.m:使用Cocoa框架创建一个简单的Mac应用。 Makefile:用于编译main.m生成应用。 编译和运行

2024-07-15

ROS安装配置与语法介绍文档、ROS代码文档、树莓派与ROS结合使用等相关文档

ROS安装配置与语法介绍文档 安装配置 ROS(Robot Operating System)的安装配置通常依赖于Ubuntu系统。以下以ROS Noetic为例,介绍其安装配置过程: 设置软件源 首先,需要设置Ubuntu软件源,以确保能够安装来自ROS官方源的软件包。可以通过执行以下命令来添加ROS的软件源: bash sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list' 添加ROS的GPG密钥 为了验证软件包的来源,需要添加ROS的GPG密钥: bash sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654 更新软件包索引 执行以下命令来更新Ubuntu的软件包索引: bash sudo apt update

2024-07-14

MongoDB的Linux安装、基本操作、可视化、实验源码与报告文档

MongoDB的Linux安装 MongoDB的Linux安装步骤通常包括下载、解压、配置环境变量、创建数据存储目录和启动MongoDB服务器。以下是一个详细的安装过程: 确保系统更新: 在开始安装MongoDB之前,确保你的Linux操作系统是最新的,并且具有管理员权限。 下载MongoDB: 打开终端,使用包管理器下载MongoDB。对于基于Debian的系统(如Ubuntu),可以使用以下命令: bash sudo apt-get update sudo apt-get install mongodb 注意:这里直接通过包管理器安装的是MongoDB的官方版本,如果需要安装特定版本或进行更详细的配置,可能需要从MongoDB官网下载压缩包进行安装。 解压MongoDB(如果需要从官网下载压缩包): 如果通过官网下载的是MongoDB的压缩包(如.tgz文件),则需要先解压。使用以下命令解压: bash tar -zxvf mongodb-linux-x86_64-<version>.tgz 请将<version>替换为你下载的MongoDB版本号。 配置环境变量:

2024-07-14

Linux环境下项目开发相关教程

在Linux环境下进行开发项目,通常涉及软件安装、环境配置、项目源码管理、运维调试等多个方面。以下是对这些方面的详细说明: 一、软件安装 在Linux环境下,软件安装主要可以通过包管理器(如apt、yum、pacman等)和手动安装两种方式完成。 使用包管理器安装: Ubuntu/Debian:使用apt包管理器,如sudo apt-get install <package>。 CentOS/RHEL:使用yum包管理器,如sudo yum install <package>。 Arch Linux:使用pacman包管理器,如sudo pacman -S <package>。 手动安装: 下载软件的源码或二进制文件。 解压(如果是源码)或直接安装到指定目录。 根据软件提供的说明文件进行配置和编译(对于源码安装)。 二、环境配置 Linux环境下的环境配置通常涉及系统环境变量、开发工具、依赖库等方面的设置。 系统环境变量配置: 通过修改.bashrc或.profile文件来配置环境变量,如JDK的安装路径(JAVA_HOME)、Python库的路径等。 使用source ~/.bash

2024-07-14

Nginx使用教程、安装部署配置及常见问题说明

Nginx使用教程、安装部署配置及常见问题说明 一、Nginx使用教程 Nginx是一款高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。它可以用于缓存、负载均衡和提供静态文件服务。以下是一个基本的Nginx使用教程: 1.下载Nginx: 访问Nginx官网(http://nginx.org/)下载最新稳定版本的Nginx。 在Linux环境下,可以使用wget命令下载,如wget http://nginx.org/download/nginx-latest.tar.gz(注意替换为实际版本链接)。 2.安装Nginx: 在Linux上: 安装依赖项,如gcc, pcre-devel, openssl-devel, zlib-devel等。 解压Nginx源代码包,并进入解压后的目录。 配置Nginx编译参数,如./configure --prefix=/usr/local/nginx(指定安装路径)。 编译并安装Nginx,使用make和make install命令。 在Windows上: 直接下载Nginx的Windows版本(通常是.exe文件)

2024-07-14

小程序开发模版教程、包含接口说明模板文档、部分源代码

这个教程将包括一个计算两个整数和的程序,以及相应的接口说明文档和部分源代码。 首先,我们需要创建一个名为addition.h的头文件,用于声明我们的函数接口: // addition.h #ifndef ADDITION_H #define ADDITION_H int add(int a, int b); #endif // ADDITION_H 接下来,我们创建一个名为addition.cpp的源文件,实现我们在头文件中声明的函数: // addition.cpp #include "addition.h" int add(int a, int b) { return a + b; } 现在,我们需要创建一个名为main.cpp的主程序文件,用于调用我们的add函数并输出结果:

2024-07-14

原生App开发的教程模板

项目背景: 俄罗斯方块是一款经典的电子游戏,由苏联程序员阿列克谢·帕基特诺夫于1984年发明。游戏的目标是通过移动、旋转和放置不同形状的方块,使它们填满一行或多行,从而消除这些行并得分。俄罗斯方块因其简单易学、策略性强而受到全球玩家的喜爱。 研究意义: 学习计算机图形学和游戏设计的基本概念。 提高编程技能,特别是面向对象编程和数据结构的应用。 了解游戏开发的基本流程和技巧。 源码分析: 由于篇幅原因,这里仅提供一个简化版的俄罗斯方块游戏的实现思路和关键代码片段。完整的实现需要更多的细节和优化。 初始化游戏界面和方块数据结构。 随机生成下一个方块。 根据用户输入(如方向键)移动和旋转方块。 检测方块是否到达底部或与其他方块碰撞。 消除满行并计分。 更新游戏界面。 这个示例仅提供了一个基本的框架,实际的游戏实现还需要添加更多的功能,如绘制界面、处理用户输入、优化性能等。你可以根据自己的需求和平台选择合适的图形库和游戏引擎进行开发。 如果您想学习如何在原生平台上开发更复杂的应用程序,建议您查阅更多资源。 祝您学习顺利!

2024-07-14

人工智能相关完整教程 C++

关于C++开发工程师在人工智能领域的一般性信息、技术栈、项目案例以及测试方法等方面的指导和建议。 专业技能与成就 编程语言与技术栈:精通C++,熟悉Python(常用于AI领域),了解机器学习库如TensorFlow, PyTorch等。 项目类型:参与过计算机视觉、自然语言处理、数据挖掘等AI项目。 关键技术问题:解决过高并发数据处理、算法优化、内存管理等技术难题。 软件测试:运用单元测试、集成测试和性能测试确保软件质量,使用过Google Test等测试框架。 项目案例 假设项目:基于C++的图像识别系统 技术栈:OpenCV, C++, TensorFlow C++ API 问题解决:通过多线程处理提升图像处理速度,使用TensorFlow C++ API部署训练好的模型进行实时预测。 测试技能:编写单元测试验证图像处理模块的准确性,进行压力测试以确保系统稳定性。 职业规划 短期目标:深入学习最新的AI技术和算法,如深度学习、强化学习等。 长期目标:成为AI领域的解决方案专家,为复杂的业务问题提供高效的软件解决方案。

2024-07-12

常见算法介绍及辗转相除法求解最大公约数

常见算法可以分为以下几类: 排序算法:如冒泡排序、选择排序、插入排序、快速排序、归并排序等。 查找算法:如线性查找、二分查找、哈希查找等。 图算法:如深度优先搜索、广度优先搜索、最短路径算法(Dijkstra、Floyd-Warshall)、最小生成树算法(Prim、Kruskal)等。 动态规划:用于解决具有重叠子问题和最优子结构特性的问题,如背包问题、最长公共子序列等。 贪心算法:在每一步选择中都采取当前状态下最优的选择,以期望得到全局最优解,如霍夫曼编码、最小生成树等。 分治算法:将问题分解为若干个规模较小的相同问题,递归求解这些子问题,然后将子问题的解合并得到原问题的解,如快速幂、大整数乘法等。 下面展示一道常见的算法题:求两个数的最大公约数(GCD)。 解析:可以使用辗转相除法求解最大公约数。辗转相除法的基本思路是:用较大的数除以较小的数,再用除数除以出现的余数(第一余数),再用第一余数除以出现的余数(第二余数),如此反复,直到最后余数是0为止。如果是求两个非负整数a和b的最大公约数,那么最后的除数就是它们的最大公约数。

2024-07-12

Matlab仿真实验报告模板、项目源代码

摘要: 本实验旨在通过Matlab软件对图像进行处理,以实现图像增强、滤波和边缘检测等功能。实验方法包括使用Matlab内置函数进行图像读取、显示和保存,以及编写自定义函数进行图像处理。实验结果表明,通过对图像进行处理,可以有效地提高图像质量和提取图像特征。 引言: 图像处理是数字信号处理的一个重要分支,广泛应用于计算机视觉、医学影像、遥感图像等领域。本实验将介绍图像处理的基本概念和方法,并通过Matlab软件进行仿真实验。 实验目的: 掌握Matlab中图像处理的基本操作; 学会使用Matlab进行图像增强、滤波和边缘检测等处理; 分析实验结果,总结实验经验。 实验方法: 使用imread、imshow和imwrite函数分别进行图像读取、显示和保存; 编写自定义函数进行图像增强、滤波和边缘检测等处理; 使用subplot函数在同一个窗口中显示原始图像和处理后的图像; 使用title和xlabel函数为图像添加标题和坐标轴标签。 实验环境: 硬件环境:计算机(Windows 10操作系统) 软件环境:Matlab R2020a 实验结果:图像增强:通过对图像进行直方图均衡化

2024-07-12

hadoop&spark安装、环境配置、使用教程、应用项目示例

需要分别安装Hadoop和Spark 安装Hadoop: 下载Hadoop安装包:访问Apache Hadoop官网(http://hadoop.apache.org/releases.html),选择适合的版本并下载。 解压Hadoop安装包到一个目录,例如:/opt/hadoop。 配置Hadoop环境变量:编辑~/.bashrc文件,添加以下内容: 配置Hadoop核心文件:编辑$HADOOP_HOME/etc/hadoop/core-site.xml、$HADOOP_HOME/etc/hadoop/hdfs-site.xml和$HADOOP_HOME/etc/hadoop/mapred-site.xml,设置Hadoop的基本参数。 初始化HDFS:运行hdfs namenode -format命令。 启动Hadoop:运行start-all.sh脚本。 2.安装Spark: 下载Spark安装包:访问Apache Spark官网(http://spark.apache.org/downloads.html),选择适合的版本并下载。 解压Spark安装包到一个

2024-07-12

Spring Cloud教程

Spring Cloud是一个基于Spring Boot实现的云应用开发工具,它为基于JVM的云应用开发中涉及的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等操作提供了一种简单的开发方式。 Spring Cloud配置:Spring Cloud Config是将配置信息放到远程服务器,它可以在所有的环境中提供应用程序的设置管理。它是一个解决分布式系统的配置问题的开源工具,包括应用程序运行的环境和版本管理。 可以访问Spring Cloud官方文档来获取详细的教程和示例代码。这个网站包含了Spring Cloud的所有特性和组件的详细解释,以及如何使用它们的示例。 可以在GitHub上找到Spring Cloud的源代码。这个项目包含了Spring Cloud的所有组件和示例应用,你可以在这里查看和下载源代码。 Spring Cloud Netflix:这是Spring Cloud的一个子项目,它集成了多种Netflix OSS提供的开源软件,包括Eureka, Hystrix, Zuul, Archaius等。

2024-07-12

MySQL开发全攻略:从入门到实战项目

本教程旨在为广大开发者提供一份详尽的MySQL开发指南。内容涵盖MySQL的基础知识、高级特性、性能优化以及实战项目案例。通过本教程的学习,你将能够熟练掌握MySQL的开发技巧,并能够在实际项目中灵活应用。 1. MySQL基础 MySQL基础部分将介绍数据库的基本概念和MySQL的核心功能。内容将涵盖数据库和表的设计原则,确保数据的一致性和完整性。同时,你将学习SQL语言的基础,包括如何创建、查询、更新和删除数据。此外,还会介绍数据类型、约束、索引和视图等关键概念。 2. MySQL高级特性 在掌握了MySQL基础之后,本部分将介绍MySQL的高级特性,帮助你更深入地了解MySQL的功能和性能。内容将涵盖存储过程、触发器、分区表、用户权限管理等高级功能。 3. 性能优化 随着数据库规模的增长,性能问题逐渐凸显。本部分将介绍如何对MySQL进行性能优化,提高数据库的响应速度和吞吐量。内容将涵盖查询优化器的工作原理、慢查询日志分析、索引优化策略以及缓存与复制技术等。 4. 实战项目案例

2024-05-28

软件开发后的用户手册模板

软件开发后的用户手册模板,仅供个人开发者、小企业内部使用

2024-05-28

中小型软件开发测试计划及报告模板

中小型软件开发测试计划及报告模板,仅供个人学习、小企业开发使用

2024-05-28

C++课件-面向对象高级编程的学习课件

C++课件_面向对象高级编程的学习课件

2024-03-17

PCIE驱动开发断点命中工具

在学习驱动开发过程中,需要做软件的调试,不能够像普通程序开发一样,进行打断点,单步调试,因此需要配置双机调试环境,通过使用相关工具加载生成的sys文件,加载之后准确命中断点,就和VS2019中调试的方法类似了。 该工具功能齐全,我找了比较久的时间,仅需1分下载。

2022-12-29

2021年春季机器学习试题.pdf

最新版机器学习复习资料,某大学机器学习、数据挖掘考试真题,适合平时练习、期末考试复习使用,题型超全

2021-07-19

工程伦理.docx

工程伦理的角度分析了大数据工程风险,仅供大家参考!

2019-11-05

JrjTetris.zip

MFC实现俄罗斯方块,基于对话框,添加过BGM,没能实现双缓冲技术

2019-11-02

空空如也

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

TA关注的人

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