- 博客(30)
- 收藏
- 关注
原创 数据结构与算法面筋
数组是最常用的,它将元素保存在连续的内存中。它也是面试最喜欢的问题之一,在中你会经常听到很多关于数组的问题,例如,数组的反转、数组的排序或者查找数组中的一个元素。数组结构的一个关键优点是在知道索引的情况能够以 O(1) 的复杂度找到一个元素。但是增加或者删除一个元素是很慢的,因为一旦创建了一个数组,你就不能改变它的大小了。为了创建一个更长或者更短的数组,你需要创建一个新的数组,然后将所有元素从旧数组中复制到新数组中。是另外一个常见的数据结构,对数组结构是一个补充。
2025-03-26 13:55:01
670
原创 矩阵顺时针旋转90度,C++实现
方法一:用一个同等规模的辅助矩阵,找出元素下标之前的映射关系,直接映射即可。方法二:原地旋转,每轮旋转四个位置的元素。
2025-03-15 21:38:04
168
原创 torch.nn.cat(),dim=1就是按channel拼接
一些对torch.nn.cat()中dim参数描述存在误导性。很多讲解只是以二维tensor为例,对于初学者很不友好,可能会误以为dim=0就是以行拼接,dim=1就是按列拼接。这种理解在做深度学习时,带来的错误可能是致命性的,torch的输入往往是(batch,channel,H,W),这时候dim=0就是按batch拼接,dim=1就是按channel拼接。
2023-05-26 11:09:48
476
原创 TypeError: can‘t convert cuda:0 device type tensor to numpy. Use Tensor.cpu() to copy the tensor to
我的报错语句是torch里的tensor转numpy,我不可能去改torch的源码,看隔壁博主说把numpy 1.21降为numpy1.19就好了,亲测有用。
2023-04-10 16:30:33
203
翻译 deconvolution和deblurring关系
Deblurring,when the blur kernel is spatially invariant, it is also known as blind deconvolution。
2022-10-20 15:50:15
179
翻译 图像去模糊
图像去模糊是低层计算机视觉中的一个经典问题,其目的是从模糊的输入图像中恢复清晰的图像。随着深度学习的发展,在解决这一问题方面取得了重大进展,并提出了大量的去模糊网络。本文对最近发表的基于深度学习的图像去模糊方法进行了全面而及时的调查,旨在为社区提供有用的文献综述。我们首先讨论图像模糊的常见原因,介绍基准数据集和性能指标,并总结不同的问题公式。
2022-09-24 11:18:00
1771
原创 Web Crawler
爬虫相关概念域名域名只是一个网站的标识,不可以直接访问网站,只有当域名经过解析之后,这个域名才能成为一个URL(网址)。URL(网址)包含域名,是Internet上的地址簿,通过URL可以到达任何一个网站页面。通用爬虫:(通用性搜索引擎)--百度等:大多爬取得是无用信息聚焦爬虫:根据需求来爬取聚焦爬虫设计思路: 1、给一个URL(URL如何获取?) 2、模拟游览器通过http协议访问url(如何访问),获取服务器返回的html代码...
2022-04-27 12:21:16
550
原创 数字图像处理
数字图像处理第一章 绪论1.1数字图像与数字图像处理图像处理方法 1、数字图像处理 2、模拟图像处理(光学方法,处理的信息量大,难有判断功能) 3、光电结合处理图像处理(狭义):输入和输出都是图像图像分析:输入是图像,输出的有用的信息图像处理优点: 1、精度高 2、再现性好 3、通用性、灵活性强1.2数字图像处理系统组成以及研究内容1、基本结构图像输入系统:相机...
2022-04-25 14:52:38
5571
原创 手写快速排序 简单暴力 c++实现 源码
虽然可以自己用sort()函数实现,但是自己写一遍也有利于理解快排#include<iostream>using namespace std;void quicksort(int a[], int start, int end)//手写快排{ int i = start, j = end, temp, flag = a[i]; do { while (a[i] < flag)i++; while (a[j] > flag)j--; if (i <=
2022-03-21 21:02:54
992
原创 暴力法——猴子分桃-源代码 c语言实现
/*海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子平均分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了 一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?(3121)思路设最开始桃子个数为x第一只猴子分到的桃子数为(x-1)/ 5,分完之后还剩x1 =(x-1)- (x-1)/ 5 = (4/5)*(x-1)第二只猴子分到的桃子数为(x1-1)/ 5,分完之后还剩x
2022-03-18 11:04:40
1838
原创 将M进制的数X转换为N进制的数输出(无敌版) 注释超详细 c++
将M进制的数X转换为N进制的数输出(无敌版) 注释超详细 c++我愿称之为史上最强教程直接上代码
2022-03-11 12:04:17
1228
转载 在浏览器中输入www.baidu.com后执行的全部过程
在浏览器中输入www.baidu.com后执行的全部过程过程如下1、浏览器获取输入的域名www.baidu.com2、浏览器向域名系统DNS请求解析www.baidu.com的IP地址3、DNS解析出百度服务器的IP地址4、浏览器与服务器建立TCP连接(默认端口80)5、浏览器发出HTTP请求,请求百度首页6、服务器通过HTTP请求把首页文件发给浏览器7、TCP连接释放8、浏览器解析首页文件,展示web界面给用户涉及的协议有:1)应用层:http,dns2)传输层:tcp,
2022-03-10 10:44:54
4956
原创 田忌赛马 c++ 源代码
自己独立写出来的 有点意思 就赛出来了#include<iostream>using namespace std;/*题:田忌和齐威王赛马,齐威王每次用速度最快的马,求田忌怎么选马贪心法比他们的速度*/int main(){ int a[100] = { 36,35,34,30,29,20,15,12,9,8,6 };//齐威王马速 int b[100] = { 33,32,25,23,18,17,16,14,10,7,5 };//田忌马速 int n = 11,m=
2022-03-09 18:17:20
2631
原创 查找算法--二分查找 c++实现
二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。//vs2017#include<iostream>using namespace std;#include<algorithm>int binarySearch(int a[], int n, int target){ int i = 0, j = n-1, mid = 0; while (i <= j
2022-03-03 13:39:23
1530
原创 排序算法——先按先奇后偶再按从小到大排序
问题:有一组数据,排序规则是:要求按照奇数在前,偶数在后,然后在按照大小顺序排序算法思想:法一:可以先把奇数和偶数分开,再用sort()排序,然后再合并输出;法二:利用sort()的二级排序//先按先奇后偶再按从小到大#include<iostream>using namespace std;#include<algorithm>bool cmp(int a, int b){ if (a % 2 == b & 2) return
2022-03-03 13:19:36
523
原创 排序算法——冒泡排序
冒泡排序一点简单的理解冒泡排序算法的原理如下: 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 针对所有的元素重复以上的步骤,除了最后一个。 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。 //vs2017#include<iostream>using namespace std;int main(){ i..
2022-03-03 13:13:13
116
原创 由C语言的字符数组 到C++的string类——字符串用法总结
由C语言的字符数组 到C++的string类——字符串用法总结,笔者查看了网络上很多用法,都写的很混乱,就把自己对字符串用法的一点想法与思考简单的写下来,以求能够帮助到新入门的程序。分别介绍字符数组和string类;先说c语言c语言是采用字符数数组的方式来存储字符串,比较简陋c语言用法主要有:#include<stdio.h>#include<string.h>using namespace std;int main(){ //输入单个字符 cha
2022-03-03 12:20:38
1701
原创 栈的应用 括号匹配 c++
在算术表达式中,除了加、减、乘、除等运算外,往往还有括号。包括有大括号{},中括号[],小括号(),尖括号<>等。 对于每一对括号,必须先左边括号,然后右边括号;如果有多个括号,则每种类型的左括号和右括号的个数必须相等。对于c++ 可以用栈来进行匹配对于c语言 可以用数组模拟即可这次就用c++的栈来实现括号匹配vs2017//括号匹配#include<iostream>using namespace std;#include<stack>#in
2022-03-03 11:50:49
1596
原创 单链表的建立与排序
指针这一块的确实博大精深,不愧是c的精髓一个字妙啊!/*struct Node { int Element; // 节点中的元素为整数类型 struct Node * Next; // 指向下一个节点};从键盘输入5个整数,将这些整数插入到一个链表中,并按从小到大次序排列,最后输出这些整数。5 3 4 2 11 2 3 4 5*/#include<iostream>using namespace std;typedef struct node{ int dat
2022-03-03 11:45:12
1118
原创 哈夫曼树的带权路径长度总结wpl
//哈夫曼树的带权路径长度//总结//法一:①先对权值从小到大排序。//②选两个最小的加起来成为一个新结点,而这两个最小的值是新结点的左右子结点。//③两个老的结点去掉,新的结点放入再次排序然后重复过程②。//④直到完全生成一棵树。//⑤计算的时候,只计算那些初始权值里面有的值,把它乘以深度//(和传统说的深度不一样,是传统说的深度减一)加起来就是路径长度。//法二:哈夫曼树也可以通过小根堆实现。小根堆每次弹出两个值,然后将二者的和再插入小根堆中。//vs2017//哈夫曼树的带.
2022-03-03 11:30:16
1669
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人