- 博客(42)
- 资源 (3)
- 问答 (2)
- 收藏
- 关注

原创 数据结构-二叉排序树BST初探
首先给出二叉排序树(Binary Sort Tree)的定义: 一棵二叉排序树或者是一棵空树或者满足以下条件: (1)若它的左子树不为空,则左子树所有节点的值均小于根的值 (2)若它的右子树不为空,则右子树所有节点的值均大于根的值 (3)左右子树本身又分别是二叉排序树如下图就是一个二叉排序树:(绘画水平真的就这样了,不要在意这些细节) 由二叉排序树的定义可以看出来,其实二叉排序树可以看做是
2016-09-05 22:17:57
709
原创 树莓派-系统安装(没有外接显示器、没有网线情况下)
这里写自定义目录标题树莓派4B初探系统安装所需设备step1:系统准备step2:将系统烧录至SD卡step3:查找树莓派ip地址step4:通过SSH协议远程登录树莓派step5:通过VNC远程连接树莓派桌面step6:设置树莓派树莓派4B初探前言:最近买了一个树莓派4B,想着自己捣鼓一下,买回来只是一个裸机,没有电源线和microHDMI接口,所以不能外接显示屏。想着先装个系统吧,没有显示屏,不能使用NOODS进行系统安装,于是网上找了好多办法,最终还是把系统安装好啦~系统安装所需设备树莓派
2020-05-16 06:34:07
1371
转载 C++面试宝典--设计模式
1. 请问你用过哪些设计模式,介绍一下单例模式的多线程安全问题常见的设计模式如下:单例模式:(1)概念单例模式主要解决一个全局使用的类频繁的创建和销毁的问题。单例模式下可以确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。单例模式有三个要素:一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例。(2)实现C++的实现有两种,一种通...
2019-09-05 01:23:05
1469
转载 C++面试宝典--数据库
1. 请你说一说数据库索引索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。如果想按特定职员的姓来查找他或她,则与在表中搜索所有的行相比,索引有助于更快地获取信息。索引的一个主要目的就是加快检索表中数据的方法,亦即能协助信息搜索者尽快的找到符合限制条件的记录ID的辅助数据结构。2. 请你说一说数据库事务数据库事务(Database Trans...
2019-09-05 00:58:36
512
转载 C++面试宝典--计算机网络
1. 请你说一下TCP怎么保证可靠性(1)序列号、确认应答、超时重传数据到达接收方,接收方需要发出一个确认应答,表示已经收到该数据段,并且确认序号会说明了它下一次需要接收的数据序列号。如果发送迟迟未收到确认应答,那么可能是发送的数据丢失,也可能是确认应答丢失,这时发送方在等待一定时间后会进行重传。这个时间一般是2RTT(报文段往返时间)+一个偏差值。(2)窗口控制与高速重发控制/快速重传(...
2019-09-05 00:42:35
457
转载 C++面试宝典--操作系统
1. 请你说一下进程与线程的概念,以及为什么要有进程线程,其中有什么区别,他们各自又是怎么同步的基本概念:进程是对运行时程序的封装,是系统进行资源调度和分配的的基本单位,实现了操作系统的并发;线程是进程的子任务,是CPU调度和分派的基本单位,用于保证程序的实时性,实现进程内部的并发;线程是操作系统可识别的最小执行和调度单位。每个线程都独自占用一个虚拟处理器:独自的寄存器组,指令计数器和处理...
2019-09-04 22:42:03
1430
转载 C++面试宝典--基础知识
(一)基本语言1. 说一下static关键字的作用全局静态变量在全局变量前加上关键字static,全局变量就定义成一个全局静态变量.内存中位置:静态存储区,在整个程序运行期间一直存在。初始化:未经初始化的全局静态变量会被自动初始化为0(自动对象的值是任意的,除非他被显式初始化);作用域:全局静态变量在声明他的文件之外是不可见的,准确地说是从定义之处开始,到文件结尾。局部静态变量...
2019-09-04 02:31:46
4781
3
原创 数据结构框架概念
1.线性表顺序存储–顺序表链式存储–链表(单链表、循环链表、双向链表、静态链表)2.栈和队列栈(先进后出)队列(先进先出)3.串顺序存储–顺序串链式存储–链串串的匹配–KMP算法4.树与二叉树二叉树遍历(递归、非递归)(先序、中序、后序、层次)线索二叉树、哈弗曼树5.图存储方式(邻接矩阵、邻接链表)遍历(深度优先、广度优先)生成树(最小生成树Pr...
2019-09-03 00:50:12
295
原创 LeetCode-279 完全平方数
题目描述:给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, …)使得它们的和等于 n。你需要让组成和的完全平方数的个数最少。示例 1:输入: n = 12输出: 3解释: 12 = 4 + 4 + 4.示例 2:输入: n = 13输出: 2解释: 13 = 4 + 9.来源:力扣(LeetCode)链接:https://leetcode-cn.com/...
2019-08-30 01:21:23
231
原创 LeetCode-343 整数拆分
问题描述:给定一个正整数 n,将其拆分为至少两个正整数的和,并使这些整数的乘积最大化。 返回你可以获得的最大乘积。示例 1:输入: 2输出: 1解释: 2 = 1 + 1, 1 × 1 = 1。示例 2:输入: 10输出: 36解释: 10 = 3 + 3 + 4, 3 × 3 × 4 = 36。来源:力扣(LeetCode)链接:https://leetcode-cn.c...
2019-08-30 00:46:27
177
原创 LeetCode-64 最小路径和
问题描述:给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例:输入:[[1,3,1],[1,5,1],[4,2,1]]输出: 7解释: 因为路径 1→3→1→1→1 的总和最小。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems...
2019-08-29 02:41:45
161
原创 LeetCode-120 三角形最小路径和 DP
题目如下:给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。例如,给定三角形:[[2],[3,4],[6,5,7],[4,1,8,3]]自顶向下的最小路径和为 11(即,2 + 3 + 5 + 1 = 11)。解决思路:#include <iostream>#include <vector>using namesp...
2019-08-29 01:38:47
186
原创 排序算法复习
//// Created by NickWang on 2019/8/24.///* 直接插入排序-----O(n^2) 折半插入排序-----O(n^2) 冒泡排序--------O(n^2) 快速排序--------O(nlogn) 选择排序--------O(n^2) 堆排序----------O(nlogn) 归并排序--------O(nlogn) */#i...
2019-08-28 03:54:00
168
原创 滴滴面试题第一道
#include <iostream>#include <vector>#include <math.h>using namespace std;/**61 + 2 + 1 + -4 * -5 + 11 + 1 + 2 + -5 * -4 + 1 */int data[100];char fuhao[100];/** * 快排序 ...
2019-08-27 21:41:35
671
原创 计算机网络复习
计算机网络复习1.OSI(国际标准化组织)网络层次7层2. IP地址划分3. 子网掩码以及网络划分4. 协议5.例子1.OSI(国际标准化组织)网络层次7层 网络层次 操作对象 说明 设备 协议 应用层 报文 提供访问网络的接口...
2019-08-27 02:39:20
608
2
原创 iOS开发1--加载Bundle图片
iOS开发1项目说明1.创建Bundle文件2.在iOS项目中使用Bundle文件3.创建图片显示程序,用户点击切换图片1.创建Bundle文件Bundle文件就是资源文件包。我们将许多图片、XIB、文本文件组织在一起,打包成一个Bundle文件,方便其他项目引用其中包内的...
2018-07-26 13:21:59
2621
原创 C++数据类型
C++数据类型记录数据类型的位数和范围程序结果 类型 所占字节数 最大值 最小值 bool 1 1 0 char 1 signed char 1 unsigned char 1 wchar_t 4 2147483647 -2147483648...
2018-03-22 01:31:21
949
原创 Windows编程-创建窗口
窗口创建的基本步骤是:设计窗口类注册窗口类创建窗口显示更新窗口消息循环编写回调函数——————————帅气的分割线—————————– 下面我们一步一步进行讲解:1.设计窗口类WNDCLASS我们查看MSDN可以知道窗口类的成员变量有哪些:typedef struct _WNDCLASS { UINT style; WNDPROC lpfnWnd
2016-08-04 23:10:22
8010
原创 OpenGL-绘制点、线、面
今天我们来看一下在OpenGL中如何绘制点线面。我们只需要给出相关的数据点并调用函数就可以很轻松的绘制了。我们使用glBegin,和glEnd两个函数进行所要绘制图形的描述。绘制的内容要放在这两个函数之间。 glBegin(GLenum mode); //给出数据点 glEnd();其中mode表示你所要绘制的是什么?是要画点?还是线?还是面?mode的可选项有如
2016-07-18 23:43:30
30228
4
原创 OpenGL-创建视口
问题描述: 之前我们创建了一个简单的窗口。但是存在这一个问题,我们创建窗口的时候创建了一个正方形,在窗口中绘制一个正方形,所以窗口中的正方形可以正常显示。(如下图)但是当我们拉伸窗口,将窗口变为长方形的时候,发现图形中的正方形也跟着变成了长方形。(如下图)这并不是我们想要的结果,我们希望无论窗口怎么变化,绘制的图形都不会改变。下面我们就想想为什么拉伸窗口时图形会变形?这个画布的大小可以和
2016-07-17 15:29:09
1339
原创 OpenGL-绘制简单矩形
/**功能:本程序将展示一个简单的OpenGL程序,实现一个窗口*/#include <gl\glut.h>#include <Windows.h>void draw(){ glClearColor(0.0, 0.0, 0.0, 0.0); //设置清除颜色为黑色 glClear(GL_COLOR_BUFFER_BIT); //用当前缓冲区清除值来清楚缓冲区 /*
2016-07-17 13:49:56
3003
原创 编译原理-LR(0)分析法
一、课程设计内容1.1 功能需求 根据标准规范族构造LR(0)分析表;设计数据结构(领接矩阵)存储NFA,DFA。并能够对输入串进行判别是否正确。1.2 开发环境Visual Studio 2015,控制台应用程序1.3 前置条件熟悉LR(0)分析法的过程熟悉构造NFA熟悉将NFA转换成为DFA熟悉通过DFA构造LR分析表二、数据结构设计2.1 结构体2.1.1 NFA结点数据结构
2016-07-07 23:08:37
14007
7
原创 编译原理-算符优先
/**功能:算符优先*作者:王文堃*创建时间:2016/5/15*/#include <iostream>#include <malloc.h>#include <stack>using namespace std;/**任务一:构造FIRSTVT,LASTVT*任务开始时间:2016/5/15*任务结束时间:2016/5/16*//**任务二:构造算符优先表*任务开始时间
2016-05-17 11:29:08
7835
原创 汇编-vcIO.inc
之前写的汇编程序中都包含了一个叫vcIO.inc的头文件 今天将简单了解一下这个头文件都干了什么事情为什么要使用这个头文件? 为了在汇编语言中使用c语言的printf和scanf等函数进行格式输出这个头文件存放在哪里? 笔者的存放路径是:D:\Visual Studio 2015\VC\include 即你安装vs的目录下的VC下的include文件夹中下面是头文件的内容:;
2016-04-25 20:17:45
3256
1
原创 汇编-通过子程序交换两个内存变量
交换两个内存变量相信大家都不陌生,核心的代码就是:;交换[esi],[edi]两个内存变量mov eax, [esi]xchg eax, [edi]mov [esi],eax然而现在我们要通过用汇编编写一段子程序来调用这个子程序来实现交换两个数,我们定义主函数给子函数传递的参数是以地址的形式(指针),传递需要交换的两个内存变量。 源程序如下:;功能:使用子程序交换两个内存变量;作者:王文堃
2016-04-20 18:55:22
3171
2
原创 汇编-判断两个字符串是否相等
使用串操作: CMPSB|CMPSW|CMPSD ;字节串比较:DS:[ESI]-ES:[EDI] ;然后:ESI←ESI±1/2/4,EDI←EDI±1/2/4 REPE|REPZ ;执行一次串指令,ECX减1;直到ECX=0或ZF=0源程序如下:;功能:比较两个字符串是否相等;作者:王文堃;创建时间:2016/4/19INCLUDE vcIO.inc.d
2016-04-19 22:57:26
4786
原创 汇编-字符串的复制
将一个字符串复制给另一个字符串,我们可以逐个访问数组并进行逐个地赋值到新的数组中。但我们今天要介绍的是串指令。 MOVSB|MOVSW|MOVSD ;串传送:ES:[EDI]←DS:[ESI] ;然后:ESI←ESI±1/2/4,EDI←EDI±1/2/4 REP ;执行一次串指令,ECX减1;直到ECX=0下面是源程序:;功能:复制字符串;作者:王文堃;创建时
2016-04-19 22:54:20
5320
原创 汇编-求数组中所有偶数的和
程序重点:使用test命令来判断一个数是不是偶数,而不是使用除2求余数。使用除2求余数的方法太占寄存器了,设置被除数需要使用eax,设置除数需要一个寄存器,假定使用ebx,两者的商会存放到eax中,同时把余数存放到edx中。所以使用这种方法使用了三个寄存器。 而使用test这种方法就使得判断变得简单。 test des,src 的指令功能就是将des和src两个操作数进行与运算。
2016-04-19 20:58:11
8355
原创 Linux-定时器创建
实验环境 VMware Workstation Pro下Linux Red Hat 内核版本:2.6.321.使用vim编写程序 (1)创建timer.c文件 头文件linux/timer.h中包含time_list结构体(2)编写Makefile文件 2.运行程序验证结果 使用make命令编译内核 使用insmod命令加载模块、使用lsmod查看模块已经加载进去。 使用dme
2016-04-15 13:57:28
1163
原创 Linux-获取进程管理
实验环境 VMware Workstation Pro下Linux Red Hat 内核版本:2.6.321.通过vim编写程序 首先程序需要包含所需要的头文件。sys/types.h数据结构pid_t在此构造、sys/wait.h函数wait在内定义、sys/time.h和sys/resource.h包含getpriority函数定义。 其中函数getpriority的函数原
2016-04-15 13:47:06
645
原创 Linux-内核模块编程
实验环境 VMware Workstation Pro下Linux Red Hat 内核版本:2.6.321.使用vim进行程序编写 (1)编写hello.c 包含两个必要的头文件linux/init.h包含模块初始化和清除、linux/modele.h包含模块加载的函数 “MODULE_LICENSE(“GPL”)”是进行模块许可证声明,内核模块应遵循 GPL 兼容许可权。
2016-04-15 13:42:59
762
原创 Linux-简单的Makefile编写
实验环境 VMware Workstation Pro下Linux Red Hat 内核版本:2.6.321.使用vim进行程序编写(1)创建Calc.h文件声明一个类 创建一个类MyCalc,类的数据成员有三个float型的数字,类可以实现对两数的加、减、显示结果运算。(2)创建Calc.cpp文件对该类的成员函数进行实现 (3)创建main.cpp文件调用类进行运算 在主函数中将
2016-04-15 13:34:24
1090
1
原创 Linux-shell编程简单程序
实验环境 VMware Workstation Pro下Linux Red Hat 内核版本:2.6.32一、使用shell编程实现输入一个分数返回分数的等级 1.使用vim进行程序编写 具体的程序如下: 其中第一行中#!/bin/sh 是指此脚本使用/bin/sh来解释执行,#!是特殊的表示符,其后面根的是此解释此脚本的shell的路径。echo的作用是输出文本,而语句并不会将双引号中
2016-04-15 13:24:57
1492
原创 汇编-判断素数
判断条件: for(int i = num/2; i>=2; i–) { if(num % i == 0) //被整除 //不是素数 }根据判断条件,有汇编程序:;功能:求2~100之间的所有素数;作者:王文堃;创建时间:2016/4/11INCLUDE vcIO.inc .data array DWORD 100 dup(0) str_o
2016-04-11 22:49:19
2465
原创 汇编-求闰年
已知判断闰年的条件是: if((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) printf(“year是闰年”); 所以,根据上述判断条件进行编写:;功能:求闰年;作者:王文堃;创建时间:2016/4/11INCLUDE vcIO.inc.data str_ouput BYTE "%d年是闰年",0ah,0
2016-04-11 21:31:15
696
原创 汇编-求两数最大公约数
最大公约数算法如下: gcd(num1,num2)=gcd(num2, num1 mod num2) gcd(num1 ,0)= num1 其中num1, num2 >=0根据算法有汇编程序如下:;功能:求两个数的最大公约数;作者:王文堃;创建时间:2016/4/11INCLUDE vcIO.inc.data str_input BYTE "请输入两个整数:",0ah,0
2016-04-11 20:45:10
4322
原创 汇编-分离一个整数的各个位
;功能:分离一个整数的各个位;作者:王文堃;创建时间:2016/4/11INCLUDE vcIO.inc.data num DWORD 123456 array BYTE 11 dup(0) str_ouput BYTE "字符化后的字符如下:%s",0ah,0.codemain PROC xor esi,esi ;esi记录放置字符的数组下标 mo
2016-04-11 20:17:44
1905
原创 汇编-测试回文串
;功能:测试回文串;作者:王文堃;创建时间:2016/4/10INCLUDE vcIO.inc.data array BYTE "lwasdffdsawl",0 str_error BYTE "该字符串不是回文串",0ah,0 str_ok BYTE "该字符串是回文串",0ah,0.codemain PROC xor esi, esi mov ed
2016-04-10 18:02:38
1763
原创 汇编-逆置一个数组
;功能:逆置一个数组;作者:王文堃;创建时间:2016/4/10INCLUDE vcIO.inc.data array DWORD 1,2,3,4,5 str_output BYTE "%5d".codemain PROC xor esi, esi ;赋值为0 mov edi, LENGTHOF array - 1 jmp TESTINGFORLOO
2016-04-10 17:33:44
946
原创 过河问题-狼羊人菜
/**功能:解决狼羊人过河问题*作者:王文堃*作者邮箱:wenkun_wang@163.com*创建时间:2016/4/5*//*问题描述:有一个人带着一匹狼、一头羊和白菜要过河已知人每次过河只能带一样东西,狼和羊不能单独在一起羊和菜不能单独在一起,求人过河的方案有几种?问题抽象:分别用m、w、g、c来表示人(men)、狼(wolf)、羊(goat)、菜(cabbage)问题的解决步
2016-04-09 16:13:56
6889
K-DBSCAN: Identifying Spatial Clusters With Differing Density Levels
2018-10-09
多元信息融合
2018-06-29
windows编程关闭窗口时进程还在后台运行
2016-08-04
MFC不同项目之间的项目调用
2016-03-09
TA创建的收藏夹 TA关注的收藏夹
TA关注的人