- 博客(49)
- 资源 (2)
- 收藏
- 关注
原创 Messidor视网膜数据集
Messidor视网膜数据集[1],共1200张组成。Messidor是由法国国防研究部在 2004 年资助研究的 TECHNO-VISION 项目中建立的, 也是目前公开的最大的眼底图数据库, 共 1200 幅眼底图, 来自于 3 个不同的眼科机构. 其中图像分辨率分别为 1440×960, 2240×1488 和 2304×1536, TIFF 格式; 它给出了对应糖尿病视网膜病变分期和黄斑性水肿症状, 同时给出了专家手动标定的视盘, 也是常用的眼底图像库。国内下载链接:(阿里网盘)原论文:[1
2021-12-18 16:07:36 2426 4
原创 PROC文件的实现
主要就是一个proc_read,其他都可根据实验指导书写// 设备号 光标位置 用户缓存 字数int proc_read(int dev, unsigned long * pos, char * buf, int count){ struct task_struct ** p; //先使用内核缓存 将数据格式化存入proc_buf 再利用put_fs_byte输出到用户态buf char* proc_buf = (char *)malloc(sizeof(char)*512); int f
2021-12-09 22:54:11 882 2
原创 KMP 串的模式匹配 (25 分)
KMP算法(有限状态机思路):https://zhuanlan.zhihu.com/p/83334559//KMP 串的模式匹配#include <iostream>#include <string.h>using namespace std;// BF算法int search(string pat, string txt) { int M = pat.length(); int N = txt.length(); for (int i = 0
2021-11-29 23:14:19 306
原创 地址映射与共享
实验目标:1)用Bochs调试跟踪linux0.11的地址转换过程;2)实现基于共享物理页框的进程间内存共享。1)用Bochs调试跟踪linux0.11的地址转换过程1.汇编级调试linux0.11 启动操作系统 执行test.c#include <stdio.h>int i = 0x12345678;int main(void){ printf("The logicla address of i is 0x%08x",&i); fflush(stdout); whil
2021-11-25 23:14:34 1204
原创 信号量的实现与应用
记录以下实践项目5:信号量的实现与应用sem.c://只有正数的实现(利用sleep_on)``int sem_wait(sem_t * sem){ //关中断 cli(); //由于V操作已经唤醒了所有进程,并且已经通过shedule()调度了其中优先级最大的进程, //然后遍历所有的进程,直到找到value不为0的,也就是获得了信号量的,继续执行 while(sem->value == 0) sleep_on(&(sem.
2021-10-31 21:39:42 436
原创 PTA 04-树4 是否同一棵二叉搜索树
给出一种不建树版本不过不知道为何过不了测试点1:最大N,多组合还请各位帮忙解答一下。题目:结果:#include <iostream>#include <vector>using namespace std;// 对于输入的各种插入序列 确定是否可生成一样的二叉搜索树// 有三种方法// 1.分别建两棵树判别// 2.不建树判别// 3.建一棵树 判别其他序列是否与该树一致// 本方案选择不建树 嘿嘿vector<int> ReadIn(
2021-10-10 14:50:55 166
原创 操作系统原理、实现与实践课后习题参考答案(已完结)
李治军老师所著《操作系统原理、实现与实践》课后习题,答案均为个人编写,错误在所难免,希望可以多多指教,共同进步。
2021-09-07 20:28:10 4266 1
原创 Git使用
git clone / git initgit pull --rebase(拉取代码 增量)#此处Codinggit add .(代码进入缓冲区)git commit -m ‘’ (T 改动内容简介)git log (日志 commit 号)git checkout dev (切换分枝)git pull --rebasegit cherry-pick commit_idgit push origin dev(推到dev分支)...
2021-07-07 14:19:09 67
原创 可嵌入式的实时人脸属性分析平台
最近将开发的可嵌入式实时人脸属性分析平台开源在github上了,希望感兴趣的朋友多多关注。链接:https://github.com/HT-Yuan/Real-time-Face-attribute-analysis-platform-Based-on-deep-learning功能说明:1.支持人脸检测、性别识别(adience>0.9)、年龄段估计(adience>0.86)、表情属性识别(fer>0.66)等2.软件:基于pyqt5的客户端(用户登录、实时检测、离线检测、上传
2021-06-07 23:02:29 163 2
原创 常用网站记录
1.python开发(web、pyqt、性能测试等)基础教程:http://www.python3.vip/2.pyqt5官方文档:https://www.riverbankcomputing.com/static/Docs/PyQt5/index.html3.web服务器:http://huatsing.pythonanywhere.com/admin/
2021-04-12 23:33:59 141
原创 【习题】快速求幂
原理介绍:a^n需要作n-1次乘法运算,我们可不可以考虑使用已知结果,简化计算量呢?答案是显然的,当n是偶数时,我们只需要a^(n/2) * a^(n/2) ,这样就降低了一半的运算量,当n是奇数时,n-1是偶数哇,a^(n-1/2) * a^(n-1/2)*a,也是可以降低约一半的运算量的。1.递归写法:int pow(int a, int n){ if(n == 0) return 1; if(n == 1) return a; if(
2021-03-22 10:02:12 112
原创 【习题】关于素数
1.判断数N是否是素数素数即质数,是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。反之则为合数。1既不是素数也不是合数。那么根据定义,即可判断一个整数n是否为素数:bool isPrime(int n){ //判断n是否是素数 if(n == 1) return false; //2~n-1中只要有因数就不是素数 for(int i = 2;i < n;i++) if(n % i==0) retu
2021-03-22 00:07:21 511
原创 求子序列和/乘积 最值
最近在学习《数据结构与算法分析》C语言时,第二章内容中出现了几个比较新颖的算法,这里记录一下。1.a.求最小子序列和://思路是,逐步计算,如果ThisSum 是正数,//则ThisSum对于后面的数而言是累赘,舍去int MinSubsequenceSum(vector<int>& V){ int length = V.size(); int MinSum = V[0]; int ThisSum = 0; for(int i = 0; i &
2021-03-21 23:45:36 301
原创 《计算机网络》(自顶向下)第二章 应用层
2.1 应用层协议原理研发网络应用的核心是写出能够运行在不同端系统和通过网络彼此通信的程序;值得注意的是,我们不需要写在网络核心设备如路由器或者链路层交换机上运行的软件,这种设计方式即将应用程序限制在端系统的方法,促进了大量网络应用程序的迅速研发和部署2.1.1 网络应用程序体系结构客户-服务器体系结构(C-S):如Web应用程序,总是打开的Web服务器服务于来自浏览器的请求。 特点:客户相互之间不能通信,服务器具有固定、周知的地址(IP)P2P体系结构:对位于数据中心的专用服务器有最小的依.
2021-03-17 10:30:26 903
原创 《计算机网络》(自顶向下)第一章 计算机网络和因特网
1.1什么是因特网两种回答方式,一从描述构成因特网的基本硬件和软件组件,二从因特网的功能角度,即为分布式应用提供服务的联网基础设施。1.1.1具体构成描述所有连入因特网的设备都叫做主机或者端系统,其位于网络边缘。 端系统通过通信链路和分组交换机连接。当一台端系统要向另一台端系统发送数据时,发送端系统将数据分段,并为每段加上首部字节,称为分组。分组交换机包括:路由器(route)和链路层交换机。 路由器用于网络核心,链路层交换机通常用于接入网中。端系统通过因特网服务提供商ISP接入因特网,每
2021-03-15 12:55:02 947
原创 剑指 Offer 38. 字符串的排列
输入一个字符串,打印出该字符串中字符的所有排列。你可以以任意顺序返回这个字符串数组,但里面不能有重复元素。本题没有做出来,先把答案记录一下输入:s = "abc"输出:["abc","acb","bac","bca","cab","cba"]class Solution {public: vector<string> permutation(string s) { dfs(s, 0); return res; }private:
2021-03-09 19:17:13 122
原创 【剑指Offer】面试题8 寻找二叉树中序遍历的下一个节点
struct TreeNode{ int value; TreeNode* left; TreeNode* right; TreeNode* parent;};//首先分为三种情况,由于是中序遍历,当执行到节点时,如果该节点存在右子树 则下一个节点就是右子树的最左节点;//如果没有右子树,则细分有三种情况://1.该节点是其父节点的左子节点,则遍历输出的下一个节点就是父节点//2.该节点是其父节点的右子节点,则遍历输出的下一个节点应当往上追溯至节点为其父节点的左子
2021-02-22 13:05:40 135
原创 虚拟机Ubuntu内鼠标闪烁终极解决方案
话说这个问题很早就遇到了,最近才解决,不免唏嘘。由于造成鼠标闪烁的原因有很多,鼠标闪烁的特点也有很多,因此网上也充斥着很多解决方案,这里一并做一下梳理,以节约各位看众时间。1.通用解决方法这个方案适用于暂时不清楚鼠标闪烁原因的同学,在测试了其它方案不可以使用后,可以试一下这个,不过需要来回在window,ubuntu内来回切换,比较麻烦。首先进入windos下设置->设备->鼠标界面然后点击下方其它鼠标选项选中指针选项选项卡,在可见性中勾选显示指针轨迹,视个人习惯调节光标长短
2021-02-20 17:23:50 22384 34
原创 【剑指Offer】面试题6从尾到头打印链表
输入头节点,从尾到头打印链表:/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: vector<int> reversePrint(ListNode* head) {
2021-02-20 00:01:31 48
原创 【剑指Offer】面试题5 替换空格
题目:代码:c++ STL 方法 时间复杂度高class Solution {public: string replaceSpace(string s) { int pos = s.find(' '); while(pos != -1) { s.erase(pos,1); s.insert(pos,"%20"); pos = s.find(' '); }
2021-02-18 22:19:44 70
原创 【剑指Offer】面试题4 二维数组中的查找
题目:结题代码:class Solution {public: bool findNumberIn2DArray(vector<vector<int>>& matrix, int target) { if( matrix.size() > 0) { int rows = matrix.size(); int columns = matrix[0].size();
2021-02-18 13:32:15 82
原创 【剑指Offer】面试题3 数组中重复的数字
题目1描述:找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例 1:输入: [2, 3, 1, 0, 2, 5, 3]输出:2 或 3代码实现:class Solution {public: int findRepeatNumber(vector<int>& nums) { for(int
2021-02-17 23:22:51 82
原创 《算法图解》所述算法Python实现
BFS 广度优先搜索BFS 指出是否有A到B的路径,如果有 找出最短路径下述代码在关系图中,找到最亲近的经销商from collections import dequedef search(name): search_person = deque() search_person += graph[name] popdone = [] while search_person: person = search_person.popleft() .
2021-02-14 20:36:24 371
原创 【剑指Offer】面试题2 实现Singleton(单例)模式
考点:单例模式的理解基础语法:构造函数 和静态成员变量的理解多线程编程#include<iostream>using namespace std;//剑指offer 面试题2 实现Singleton模式//设计一个类,只能生成该类的一个实例class Singleton{private: Singleton(){}; //声明静态构造函数 static Singleton* instance; public: static S.
2021-01-26 14:00:30 93
原创 【剑指offer】面试题1 赋值运算符函数
#include<cstdio>#include <cstring>//剑指offer 面试题1 赋值运算符函数//如下为类型CMyString的声明,为该类型添加赋值运算符函数class CMyString{public: CMyString(char* pData = nullptr); CMyString(const CMyString& str); CMyString& operator = (const CMyString
2021-01-24 23:08:04 123
转载 欧几里得算法详解
一、干什么用?算出最大两个非负整数的最大公约数。虽然小学知识,大家概念很清楚,但我们这里还是提下,能被两个数A,B整除的最大整数C,就称C是A和B的最大公约数。可以用GCD(A,B)表示。GCD是Greatest Common Divisor的缩写。二、欧几里得算法的内容欧几里得是快速找出两个数最大公约的一种算法。算法核心思想:例如找A,B的最大公约数GCD(A,B),并且A>B如果A=0,那么GCD(A,B)=GCD(0,B)=B;如果B=0,那么DCD(A,B)=GCD(A,0)=A;
2021-01-24 14:16:52 4319
原创 求链表中的倒数第k个节点
求链表中的倒数第k个节点是数据结构中的经典面试题,思路是用两个指针,第一个指针先走k-1步,然后两个指针一起走。当第一个指针走到尾节点时,第二个指针指向的就是倒数第k个节点。 本文基于C++对这一思想做具体实现,且基于数学知识,附上算法的详细解释与说明。
2021-01-24 00:34:27 203
原创 C++ STL-常用算法
本文主要基于黑马教程,对STL常用算法做简单整理与实现代码包含头文件如下:#include<algorithm>//涉及比较、交换、查找、遍历、复制等#include<functional>//定义了一些模板类,用以声明函数对象#include<numeric>//简单运算1.常用遍历算法for_each//遍历容器transform//搬运容器到另一个中1.1 for_each函数原型:for_each(iterator beg, iter.
2021-01-23 16:36:44 188
原创 C++ 修改默认排序方式(sort、set、map)
bool myCompare(Person &p1, Person &p2){ if(p1.m_Age == p2.m_Age) { return p1.m_Height > p2.m_Height; } return p1.m_Age < p2.m_Age;}sort(myCompare);先对年龄进行升序排序,当年龄相同时,按照身高进行降序排序...
2021-01-22 22:09:52 2354
原创 C++数据结构之list 链表
基本概念功能:将数据进行链式存储链表是一种物理存储单元上非连续的存储结构,数据元素的逻辑顺序是通过链表中的指针链接实现的链表由一系列结点组成,一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。数组和链表区别:STL中的链表是一个双向循环链表:特点是:1)指针域不仅有指向后向结点的next 还有指向前向结点的prev2)最后结点的next不是指向Null,而是第一个结点;第一个结点的prev不是指向Null,而是最后一个结点;3)push_front()、pop_fr
2021-01-22 22:07:08 389
原创 C++ 巧用swap收缩内存空间
代码:void test03(){ vector<int> v; for(int i = 0; i < 10000; i++) { v.push_back(i); } cout << "v.容量为:"<<v.capacity()<<endl; cout << "v的大小为:"<<v.size()<<endl; v.resize(3); //重
2021-01-22 16:38:39 654
原创 C++泛型编程之string容器
1.基本概念string是C++风格字符串,本质是一个类string和char*的区别在于:char *是一个指针,而string是一个类,类内部封装了char *管理这个字符串,是一个char*型的容器。string的特点在于其内部封装了很多成员方法,例如:查找、拷贝、删除、替换和插入。string管理char*所分配的内存,不用担心复制越界和取值越界等,由类内部进行负责。2.构造函数构造函数原型:string(); //默认构造 创建一个空字符串,例如string str;st
2021-01-22 14:11:41 146
原创 虚拟机下Ubuntu系统开机时需要多等1分30秒问题解决方案
最近虚拟机在开机时经常出现A start job is running for dev-disk-by\x2duui...53\x2....(2s/1min30s)这太影响体验了,而且之前从来没出现过,一定哪里有问题。首先这个问题出现的原因是:虚拟机在重新分配内存或者扩容后,没有更改相关配置:虚拟机的swap分区的UUID号发生了变化,导致swap分区挂载失败,进而导致每次开启虚拟机时都会出现等待1分30秒的问题。解决方法如下:1.打开终端,输入 sudo blkid 命令来查看swap分区的真
2021-01-20 21:32:08 2185
原创 C++之STL(一)初识
1.基本概念Standard Template Library 标准模板库容器、算法、迭代器、仿函数、适配器、空间配置器容器和算法之间通过迭代器进行无缝连接技术基于模板实现容器:各种数据结构,vector、list、deque、set、map等算法:如sort、find、copy等迭代器:扮演容器算法间的胶合剂仿函数:行为类似函数、可作为算法的某种策略适配器:一种用来修饰容器或仿函数或迭代器接口的东西空间配置器:负责空间的配置和管理1.1容器、算法、迭代器STL容器分为序列式容
2021-01-20 20:13:22 92
原创 C++泛型编程之类模板
1.基本概念基本格式为:template <class Type>类示例代码template <class NameType, class AgeType>class Person{public: Person(NameType name, AgeType age) { this->m_Age = age; this->m_Name = name; } void Show() {
2021-01-20 15:33:50 127
基于STM32的恒温箱自动控制系统设计
2021-01-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人