- 博客(119)
- 资源 (1)
- 收藏
- 关注

原创 保姆级演示!一文让你彻底通关JavaIO流
一、IO流,什么是IO?I :InputO:Output通过IO可以完成硬盘文件的读和写二、IO流的分类有多种分类方式:1. 按照流的方向进行分类(输入流、输出流):以内存作为参照物往内存中去,叫做输入(Input),或者叫做读(Read)。从内存中出来,叫做输出(Output),或者叫做写(Write)。2. 按照读取数据方式不同进行分类(字节流、字符流):按照字节的方式读取数据,一次读取1个字节byte,等同于一次读取8个二进制。这种流是万能的,什么类型的.
2020-06-01 22:14:41
1199
3

原创 程序员必备十大学习网站,你真的都了解吗?
一、开源中国开源中国成立于2008年8月,是目前国内最大的开源技术社区,拥有超过200万会员,形成了由开源软件库、代码分享、资讯、协作翻译、码云、众包、招聘等几大模块内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。网站链接:https://www.oschina.net二、码云gitee是开源中国(https://www.oschina.net/)开发的一款基于git的代码托管平台,能够用码云实现代码托管、项目管理、协作开发,目前是国内最大的代码系统,gitee和github的
2020-05-29 10:00:04
2102
2

原创 JavaSE阶段学习总结(学习路线框架+各部分重点)
一、Java语言初识1、百度百科对Java的解释 Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。2、Java语言业务方向上的分类JAVA SE (标准版)JAVA ME — An
2020-05-20 21:38:13
2679

原创 视觉项目之单目摄像机标定(Matlab)(附详细代码)
单目标定一、环境准备:标定工具:MatlabR2019b运行环境:Xcode(MacOS)+ opencv4.1.1棋盘格一张:测量好每个方格的大小,这个标定的时候会用到。Tips:不要选择正方形,即横竖格子数量相同的棋盘,否则后面标定过程中,Matlab会有一个Warning:“The checkerboard must be asymmetric: one side shoul...
2020-02-14 01:04:27
7306
7
原创 MySQL(三)基本的SELECT语句
使用通配符虽然可以节省输入查询语句的时间,但是获取不需要的列数据通常会降低查询和所使用的应用程序的效率。通配符的优势是,当不知道所需要的列的名称时,可以通过通配符来获取所有列。MySQL中的SQL语句是不区分大小写的,因此SELECT和select的作用是相同的,但是,许多开发人员习惯将关键字大写、数据列和表名小写,更容易后期的阅读和维护。SELECT查询还可以对常数进行查询,目的是增加一列常数列,使得查询结果每一条数据都增加一个常数属性,这个常数属性不是来自数据库表中的。在生产环境下,不推荐直接使用。..
2022-08-18 11:09:33
603
原创 MySQL(一)概述
关系型数据库是最古老的数据库类型,关系型数据库模型是把复杂的数据结构归结为简单的二元关系(即二维表格形式)。关系型数据库以行(row)和列(column)的形式存储数据,以便于用户理解。这一系列的行和列被称为表(table),一组表组成了一个库。表与表之间的数据记录有关系(relationship)。现实世界中的各种实体以及实体之间的各种联系均用关系模型来表示。关系型数据库,就是建立在关系模型基础上的数据库。SQL就是关系型数据库的查询语言。......
2022-08-16 15:34:27
354
原创 雷达传感器融合相关调研
一、主流雷达简介1.微波雷达简介:微波是波长很短的无线电波,微波的方向性很好,速度等于光速。微波遇到车辆立即被反射回来,再被雷达测速计接收。这样一来一回,不过几十万分之一秒的时间,数码管上就会显示出所测车辆的车速。应用:汽车雷达防撞系统 公路测速系统优势:微波的方向性很好2.红外雷达简介:红外雷达是指工作在红外波段的光雷达。由红外辐射源、光学会聚系统、红外探测部件、电子部件、控制机构和显示部分等组成。应用:生命迹象探测3.毫米波雷达简介:毫米波雷达,是工作在毫米波波段(milli
2022-05-18 17:03:04
450
原创 自动驾驶仿真相关调研
自动驾驶仿真调研一、自动驾驶技术栈都有哪些?二、为什么需要仿真?随着现在深度学习的兴起,仿真在自动驾驶领域有了新的用武之地。自动驾驶平台通过仿真采集数据,可以把训练时间大大提高,远远超出路测的时间,加快模型迭代速度。先利用集群训练模型,然后再到实际的路测中去检验,采用数据驱动的方式来进行自动驾驶研究。验证新的算法,仿真通过软件模拟来发现和复现问题,而不需要真实的环境和硬件,可以极大的节省成本和时间。三、如何进行仿真?要模拟车所在的环境,就得把真实世界投影到虚拟世界,并且需要构造真实世界的物
2021-08-10 13:13:16
1155
原创 HTML表单实战
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body><!--表单formaction:表单提交的位置,可以是网站,也可以是一个请求处理地址method:post,get提交方式 get:可以在URL中看到提交的信息,不安全,但高效.
2021-05-28 15:38:41
198
原创 HTML基本标签
HTML基本标签一、网页基本信息二、网页基本标签三、图像标签四、链接标签五、列表标签六、表格标签七、媒体元素一、网页基本信息<!--告诉浏览器,使用什么规范 --><!DOCTYPE html><!--所有内容都在html标签范围中--><html lang="en"><!--head标签代表网页头部--><head> <!--meta是描述性标签--> <meta charset="U.
2021-05-27 17:54:45
124
原创 LeeCode最优题解收录:74. 搜索二维矩阵
class Solution {public: //题解1:暴力法 bool searchMatrix_1(vector<vector<int>>& matrix, int target) { if(matrix.empty()||matrix[0].empty())return false; for(const auto& m:matrix) { if(find(m.be...
2021-03-30 12:11:43
113
原创 LeeCode最优题解收录:94. 二叉树的中序遍历
/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), left(nullptr), right(nullptr) {} * TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}...
2021-03-28 09:41:23
151
原创 LeeCode最优题解收录:83. 删除排序链表中的重复元素
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListNode(int x) : val(x), next(nullptr) {} * ListNode(int x, ListNode *next) : val(x), next(nex..
2021-03-26 15:33:35
141
原创 吴恩达 AI For Everyone Course Summary
一、现在火热谈论的以及迅速发展的是弱人工智能,强人工智能(和人几乎一样)并未有什么发展,所以无须担心。二、人工智能中最重要的概念是机器学习, 其中监督学习表现突出,它描述的是从A到B, 也就是从输入到输出的映射,更多的数据能使它有更好的表现。三、不要认为只要扔数据给AI团队,它们就一定会创造价值。四、数据科学是通过挖掘数据来获取见解。 所以,通常一个数据科学项目的结果是一组幻灯片,它们包括一些帮助高管们采取商业行动的结论,或者是一些帮助产品团队决定如何改善网站的结论。五、机器学习是一个让电脑在不被
2021-03-08 09:30:47
370
1
原创 单链表指定结点的前插与后插(C/C++)
typedef struct LNode{ int data; struct LNode* next;}LNode, *LinkList; //这里LNode 和 *LinkList 等价,只不过LNode更强调一个结点,LinkList更强调一个链表。//指定结点的后插操作:在p结点之后插入元素ebool InsertNextNode(LNode *p,int e){ if(p == NULL) return false; LNode *s = (
2021-03-04 13:48:53
2029
4
原创 数据结构(三)线性表之单链表
一、链表的定义和的特点线性表的链式存储又称单链表,它是通过一组任意的存储单元来存储线性表中的数据元素。每个链表结点,除存放元素自身的信息外,还需要存放一个指向其后继的指针。头结点和头指针的区分:不管带不带头结点,头指针都始终指向链表的第一个结点,而头结点是带头结点的链表中的第一个结点,头结点内通常不存储信息。头结点的优点:1. 由于第一个数据结点的位置被存放在头结点的指针域中,因此在链表的第一个位置上的操作和在表的其他位置上的操作一致,无须进行特殊处理。2. 无论链表是否为空,其头指针都指向头结点
2021-03-02 17:50:10
255
原创 LeetCode最优题解 67. 转置矩阵
class Solution {public: vector<vector<int>> transpose(vector<vector<int>>& matrix) { int M = matrix.size(); int N = matrix[0].size(); vector<vector<int>> res(N, vector<int>(M, 0));.
2021-03-02 16:54:12
227
原创 顺序表的动态分配实现
#include<cstdlib>#include <cstdio>#define InitSize 10 //默认的最大长度typedef struct{ int *data; //指示动态分配数组的指针 int MaxSize; //顺序表的最大容量 int length; //顺序表的当前长度}SeqList;void InitList(SeqList &L);void IncreaseSize(SeqList &L,
2021-02-27 17:14:29
238
原创 数据结构(二)线性表之顺序表
一、顺序表的定义和特点顺序表是用一组地址连续的存储单元依次存储线性表中的数据元素,从而使得逻辑上相邻的两个元素在物理位置上也相邻。特点为表中元素的逻辑顺序与物理顺序相同。插入和删除操作需要移动大量元素。线性表中的任一数据元素都可以随机存取。通过首地址和元素序号可在时间O(1)内找到指定元素。线性表中的元素的位序是从1开始的,而数组中的元素的下标是从0开始的。一维数组可以是静态分配的,也可以是动态分配的。二、顺序表的基本操作结构体声明#define MaxSize 50 //线性表的最
2021-02-19 14:49:17
404
原创 数据结构(一) 绪论
数据结构绪论一、知识框架二、基本概念和术语数据数据元素数据对象数据类型数据结构三、数据结构三要素1. 数据的逻辑结构2. 数据的存储结构3. 数据的运算一、知识框架二、基本概念和术语数据数据是信息的载体,是描述客观事物属性的数、字符及所有能输入到计算机中并被计算机程序识别和处理的符号的集合。数据是计算机程序加工的原料。数据元素数据元素是数据的基本单位,通常作为一个整体进行考虑和处理。一个数据元素可由若干数据项组成,数据项是构成数据元素的不可分割的最小单位。例如,学生记录就是一个
2021-02-08 21:49:20
155
原创 计算机组成与结构知识点总结
第三章1、加减法运算的溢出处理以补码整数加法运算为例当符号相同的两数相加时,如果结果的符号位与加数(或被加数)不相同,则为溢出。当任意符号两数相加时,如果数值最高位的进位不等于符号位的进位,则为溢出。采用双符号位,正数的的双符号位为00,负数为11,符号位参与运算,结果的两个符号位不相同时,则为溢出。2、浮点乘法运算步骤求乘积的阶码尾数相乘规格化处理舍入判溢出3、码距码距的含义:两个码组对应位置上数字的不同位数称为码组的距离,简称码距。码距大小的作用:码距越大检错能力越
2020-12-08 08:37:09
1760
转载 2020RM线上评审 算法部分概况
雷达站雷达站普遍的学校使用了深度学习的方法,采用了官方的数据集进行了训练,但是很多学校展示的效果都是把网络再训练集上面跑,这样搞没有啥意义。大多数学校的网络没有深入考虑网络的泛化性问题,这样的网络大概率到了场上没法使用。有些学校对于这个问题的考虑比较好,有的是选择不使用深度学习的方法,使用传统视觉的办法可能也是一种解法。另一方面也有云南大学&中国科学院深圳先进技术研究院Future机器人战队自己建立了数据集并进行了开源。附带开源链接https://github.com/Damon2019/RM
2020-12-01 11:05:45
671
3
原创 哲学家进餐问题解决方法
哲学家进餐问题(The Dinning Philosophers Problem)是由荷兰学者Dijkstra提出的经典的同步问题之一。 问题:有五个哲学家,他们的生活方式是交替地进行思考和进餐,哲学家们共用一张圆桌,分别坐在周围的五张椅子上,在圆桌上有五个碗和五支筷子,平时哲学家进行思考,饥饿时便试图取其左、右最靠近他的筷子,只有在他拿到两支筷子时才能进餐,该哲学家进餐完毕后,放下左右两只筷子又继续思考。 对于哲学家进餐问题可能造成的死锁问题,可采取以下几种解决方法: 1. 至多只允许有四位哲学家
2020-11-25 19:50:23
5430
2
原创 常用字符串处理函数收录(C++)
1. 整数转string字符串( to_string() )函数原型:string to_string (int val);string to_string (long val);string to_string (long long val);string to_string (unsigned val);string to_string (unsigned long val);string to_string (unsigned long long val);string to_st
2020-11-24 21:26:46
216
原创 LeeCode最优题解收录:709. 转换成小写字母(C++)(大小写转换——位运算)
题目:题解:class Solution {public: string toLowerCase(string str) { /* 正常思路 int change_num='a'-'A'; string res=""; for(auto s:str) { if(s>='A'&&s<='Z') res+=(s+change_num); el
2020-11-24 12:51:57
159
原创 LeeCode最优题解收录:1588.所有奇数长度子数组的和(C++)
题解如下://以{1,2,3,4,5}为例,计算i为某确定值时候对应arr[i]出现的总次数。public int sumOddLengthSubarrays(int[] arr) { int sum = 0; int len = arr.length; for (int i = 0; i < arr.length; i++) { //当i = 2时候,arr[2] = 3,左边有2个元素1,2, //需要保证连续,则取元素方式如下:...
2020-11-21 11:21:39
267
原创 斯特拉森矩阵乘法意义及启示
斯特拉森矩阵乘法斯特拉森矩阵算法的时间复杂度为O(n的2.81次方)启示:斯特拉森算法启示:即使是由定义出发所直接给出的明显算法——并非总是最好的。虽然斯特拉森矩阵乘法目前还只具有理论意义,但其可能为获得更有效和在计算机上切实可行的算法奠定了基础。参考文章:https://blog.youkuaiyun.com/qq_43410618/article/details/104837912...
2020-11-17 20:54:01
755
转载 如何理解算法的空间复杂度?
如何理解算法的空间复杂度?一般我们不太喜欢谈空间复杂度,评价算法效率的时候还是以时间复杂度作为主要指标的。方便理解的话你可以把这三个部分想象成:输入数据的规模,编译链接后生成的可执行程序的大小,运行这个程序的过程中监控到的占用内存最大大小。一般我们谈及空间复杂度也更倾向于第三个部分,尤其是各类主要考验算法设计的OJ,输入是固定的,程序大小主要也依赖于编译/语言等底层实现,能由高级的,可以被抽象为函数的算法优化的只有在实现算法过程中使用的额外辅助空间的大小了,比如排序算法,有些可以在原地实现,那么空间复
2020-11-17 20:27:20
387
原创 计算机图形学在游戏设计中的应用
一、什么是计算机图形学?**计算机图形学(Computer Graphics,CG)**是一门利用数学算法将二维或三维图形转换成计算机显示的光栅形式的科学。其研究分为两个部分:一部分研究几何绘图,包括平面线绘制和三维建模;另一部分研究渲染,包括色调、光照、阴影和纹理等表面特性。目前,计算机图形学的应用已经深入到真实感图形、计算科学可视化、虚拟环境、多媒体技术、计算机动画、计算机辅助工程制图等领域。纵观计算机图形学的发展,我们发现图形学的发展是迅速的,而且仍在迅速发展。并已成为一门独立的学科,具有广泛的发展
2020-11-06 11:05:08
3195
原创 计算机图形学知识点总结
一、什么是计算机图形学?计算机图形学(Computer Graphics,简称CG)是一种使用数学算法将二维或三维图形转化为计算机显示器的栅格形式的科学。简单地说,计算机图形学的主要研究内容就是研究如何在计算机中表示图形、以及利用计算机进行图形的计算、处理和显示的相关原理和算法。二、计算机图形学应用领域用户接口计算机辅助设计与制造科学、技术及事务管理中的交互绘制绘制勘探、测量图形过程控制及系统环境模拟电子印刷及办公室自动化计算机动画及艺术模拟计算科学的可视
2020-11-06 10:42:58
3220
原创 GCC基础使用
GCC基础使用一、什么是GCC?GCC(GNU C Compiler)是Linux系统下,GNU推出的功能强大、性能优越的多平台编译器,是GNU的代表作品之一,其执行效率与一般的编译器相比平均效率要高20%~30%。二、GCC的工作流程一般可分为四步,即 预处理->编译->汇编->链接映射到文件上就是hello.c —> hello.i —> hello.s —> hello.o —> hello,接下来我们详细介绍这四步:1. 预处理命令: g
2020-10-28 17:18:17
158
原创 OS总结(十五) I-O技术
十五、I-O技术1、I/O设备的基本概念与分类2、I/O控制器3、I-O控制方式4、I-O软件层次结构5、I-O核心子系统6、假脱机技术7、设备的分配与回收8、缓冲区管理
2020-10-28 16:17:24
275
原创 OS总结(十三) 文件管理
十三、文件管理1、初识文件管理2、文件的逻辑结构3、文件目录4、文件的物理结构5、文件存储空间管理6、文件系统的层次结构7、文件的基本操作8、文件共享9、文件保护
2020-10-28 12:36:36
356
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人