自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

且听风吟的博客

唯有努力生存

  • 博客(25)
  • 资源 (22)
  • 收藏
  • 关注

原创 静态链表解析

对于需要实现链表结构,但又不支持指针的语言(如:Basic、Fortran),则可以通过采用数组结构模拟出链表来,相比采用动态内存分配的链表结构,该结构称为静态链表(也称为 “游标实现法” )。1 结构首先,涉及到链表结构,则节点中必定需要包含一个指向其他节点的数据。对于静态链表,在不使用指针的情况下,此处采用储存节点下标的方式来实现。对于每个节点,定义其数据元素data的数据类型为ElemType(此处为char,可根据实际情况修改),而next则称为游标(虚拟指针),保存下一个节点的下标。由

2021-04-24 22:03:47 404 2

原创 实现自定义的数据结构 —— 自然树

最近看了一些公司的面试题,发现涉及 IT技术,包括 AI 行业的题目都会涉及到最基本的 C/C++、数据结构和算法之类的,突发奇想写了一个貌似没啥用的数据结构,就当是复习了[手工哭笑表情]1 结构图1.1 自然树的整体结构 该自定义结构不同于二叉树及其他数据结构,每个节点的子节点个数不受限制,最大限度保留了数据的原始结构,并实现了其前序和后序遍历的方法。优点是节省了内存,但缺点则是基于链表结构查询的时间开销会相对较大。举个例子,图1.1所示,即是该自定义树的...

2021-02-02 22:55:41 421

原创 指针浅析

对于最普通的指针,如下图所示举例char v = 'a';char *p = &v;char *p = “a01”;1 多级指针(1) char **pchar v = 'a';char *p1 = &v;char **p = &p1;(2) char ***p同理2 指针数组包含指针的数组p 本身是数组,而数组内部的元素是指针(1) char *p[]char *p[] = {"a01", "

2020-11-01 22:56:32 324

原创 实现链表与哈希表相结合的快速表

设计可以变更的缓存结构:该结构在构造时确定大小,假设长度 len,且有两个功能:int set(string key,int value):将记录(key,value)插入该结构int get(string key):返回key对应的value要求:set和get时间复杂度为O(1) 某个key的set/get操作一旦发生,认为这个key成为最常使用的(默认这一步也是O(1) ) 当缓存大小超过k时,移除最不常用的记录。思路:第1点,set 和 get 的时间复杂度要为O(1),数组虽然

2020-09-09 13:20:11 1357

原创 数据结构 - 二叉树的遍历

树的结构定义二叉树的数据结构如下:typedef struct BiTNode // 节点结构{ TElemType data; // 节点数据 struct BiTNode *lchild,*rchild; // 左右孩子指针}BiTNode,*BiTree;构成下图所示的二叉树为例:包含 A ~ I 共9个节点遍历方式目前基本是采用递归的方式来对树进行遍历,核心就是先递归遍历左子树,再递归遍历右子树void Traverse(BiTree T){

2020-08-23 20:59:56 400 3

原创 数字图像处理 - 仿射变换

几何变换几何变换 = 坐标的空间变换(最常用的就是 仿射变换) + 插值仿射变换设为原图像中的坐标,为变换后图像中的坐标,图像的仿射变换可以表示为:对应的矩阵表示为:【注】:添加 1 是为了和平移变换中的维度对其,添加 1 只是为了和对应。其中 T 可以有如下几种形式(皆为线性变换):什么是线性变换?设算子,对线性空间 上的任意元素和,以及数域中任意,都有:这两个标准可以整合为一个:而对于上述图像的仿射变换来...

2020-08-22 22:02:12 3753

原创 matplotlib设置坐标轴旋转后标签丢失

如下情况,再x轴还没有添加旋转时plt.figure()plt.contourf(X1, Y1, Z3, 6, cmap=plt.cm.Blues)plt.xlabel('x', fontsize=14)plt.ylabel('y', fontsize=14, rotation=0)plt.tick_params(labelsize=12)plt.savefig("contourf.png", dpi=100)出来的图像是这样的,x轴标签正常但再x轴刻度添加30度旋转后

2020-07-20 20:13:53 1533

原创 Linux设置gedit运行python

平台硬件:NVIDIA Jetson AGX Xavier系统:Ubuntu18.04.4 LTS1 安装gedit2 设置gedit的配置文件权限设置 gedit 配置文件的拥有者为用户 YOUR_NAME(默认为 root,普通用户无法创建配置脚本)sudo chown -R YOUR_NAME /home/YOUR_NAME/.config/gedit3 添加Manage External Tools 插件Edit ——> Preferences在弹出的对.

2020-07-10 19:34:40 929

原创 Sublime Text使用Conda插件

环境windows10Sublime Text v3.2.2conda v4.8.31 Sublime Text 安装 Package Controlshift ctrl + p 调出 command输入Package Control 点击即可安装2 Preferences ——>Package Control选择 Install Package输入 Conda 点击安装3Preferences ——> Package Settings ——>...

2020-07-02 16:38:37 1134

原创 unindent does not match any outer indentation level 错误原因

最常见的两种情况:1 缩进问题2 tab 和 空格混用还有一种:编辑环境:Sublime Text version3.2.2在某些情况下,编译一个复制进来的代码块下图这样全都是“——”,运行是没有问题的(“——”为 tab 产生)但是在某些文档中,代码后“回车”,会出现“. . . .”缩进(正常情况下“回车”应该自动等同于 tab 缩进)这样运行,就会报错TabError: inconsistent use of tabs and spaces in.

2020-06-13 22:50:23 8401 1

原创 实现自定义的数据结构 —— 树

最近看了一些公司的面试题,发现涉及 IT技术,包括 AI 行业的题目都会涉及到最基本的 C/C++、数据结构和算法之类的,突发奇想写了一个没什么卵用的数据结构,就当是复习了[手工微信哭笑表情]1 结构图1.1 自定义树的整体结构 该自定义结构不同于二叉树及其他数据结构,每个节点的子节点个数不受限制,最大限度保留了数据的原始结构,并实现了其前序和后序遍历的方法。优点是节省了内存,但缺点则是基于链表结构查询的时间开销会相对较大。当然二者不可兼得举个例子,图1.1...

2020-06-04 10:15:27 796

原创 iphone安装低版本App的方法

原理通过抓包工具捕获 iTunes 发送至服务器的App信息,并对其版本ID进行更换,进而伪装维低版本的App下载命令。所需工具爱思助手 低版本iTunes(须12.6.5.3及以下版本,在爱思助手的“刷机越狱 - 其他工具”内安装) Fillder抓包工具(百度网盘:https://dwz.cn/rQcFsExq) App历史版本查询(推荐网站:https://tools.la...

2020-04-10 11:38:38 10819 1

原创 Python笔记

目录1 库函数1.1python内置函数enumerate(sequence, [start=0])super()format()f-Strings1.2 模块函数【str】str.split(str="", num=string.count(str))str.strip(self, chars=None, /)str.lstrip(self, char...

2019-12-03 10:23:47 383

原创 Pytorch笔记

目录tensor与array转换查看 Tensor 数据类型Tensor数据类型转换扩维(unsqueeze)和降维(squeeze)更改数据维度PIL和OpneCV的RGB排列ToTensortorch.view()参数 inplace判断一个对象是否可以迭代ipython 常用指令模块函数Visdom 可视化tensorboardX 可视...

2019-11-30 21:31:43 2632

原创 C/C++语言笔记

循环嵌套在多层循环中,应当将最长的循环放在最内层,最短的循环放在最外层,以减少CPU跨切循环层的次数。如果循环体内存在逻辑判断,并且循环次数很大,应将逻辑判断移到循环体外。引用不能有 NULL 引用,引用必须与合法的存储单元关联(指针则可以是 NULL)int &m=NULL; //error不能建立指针的引用 int * &n = &amp...

2019-09-14 23:06:52 227

原创 傅里叶分析概述

目录1概述2周期信号的频谱2.1周期信号2.2复数2.3欧拉公式2.4傅里叶级数2.5幅值频谱2.6相位频谱2.7双边频谱小结3非周期信号的频谱3.1非周期信号3.2傅里叶变换3.3频谱图小结4常用性质4.1频移性4.2卷积定理5单位脉冲信号特性6周期函数的傅里叶变换7周期单位脉冲信号8采样与复原8.1...

2019-09-05 21:52:56 15422 6

原创 卷积神经网络概述

目录人类视觉原理1整体描述2基本理论2.1卷积(convolution)2.2步长(stride)2.3填充(padding)Valid卷积Same卷积Full卷积2.4三维卷积2.5 1x1卷积2.6偏置(bias)2.7池化(pooling)2.8全局池化 (Global Pooling)2.9激活函数(activation func...

2019-08-08 22:11:46 34996 3

原创 深度学习笔记

持续更新...目录sigmoid和tanh的缺点softmax回归神经网络计算结构针对问题的不同算法one-hot表示阶跃函数做激活函数的问题卷积层和池化层的展开实现图像上采样(upsampling)和下采样(downsampling)名词解释卷积的部分连接神经网络的本质Global Pooling (全局池化)sigmoid和tanh的缺点...

2019-07-19 17:23:11 409

原创 理解常用的3个梯度下降法

此文章以均方误差的损失函数为例假设样本 为 矩阵,即 个样本(假设为 65536 个), 维特征。学习率:1 批量梯度下降法(batch Gradent Descent)简介:每次利用所有样本(个)来进行损失计算,然后利用所有样本(个)来计算导数,最后更新参数。批量梯度下降 计算损失 作用:计算所有样本集(个)的误差和公式: 梯度下降 ...

2019-05-20 10:02:29 806

原创 numpy数组与矩阵乘法

1 np.multiply()函数功能:数组或矩阵的对应位置元素相乘。 数组 定义二维数组 A、B>>> A = np.array([[0,1],[2,3]])>>> A>>> array([[0, 1], [2, 3]])>>> B = np.array([[1,2],[...

2019-05-18 19:43:17 7241

原创 前向和反向传播公式推导

1 定义网络结构 假设某二分类问题的网络结构由如图1.1组成(暂仅以2层网络举例,更高层数可依此类比),其输入的特征向量维数为n,隐藏层神经元个数为 ,输出层神经元个数为(由于是二分类问题,故仅含一个)。图1.1 神经网络结构 其训练过程为:首先获取训练数据 X ,初始化每层的训练参数 w、b ,并通过前向传播算法(包含线性前向传播和激活函数前向传播)得...

2019-04-13 10:14:12 4325 4

原创 推导反向传播中的dZ=A - y

在吴恩达老师的反向传播课程中,涉及到如下公式:,在向量化后为 ,下述为推导过程:因为,且,在最后一层网络中故在逻辑回归中,损失函数故又因为,在文章中所述的网络结构中,最后一层激活函数g(z)为sigmoid函数,故其导函数为因为,故所以向量化后即为推导完后发现吴恩达老师其实在课件中已经推导过了(《吴恩达深度学习v5.57》的...

2019-04-12 11:10:51 2511 10

原创 串口DMA方式发送&接收

串口DMA方式收发        笔者使用的是STM32F407VET6,共包含6路串口,页尾处程序已将全部串口的DMA收发配置完成,本文仅以串口1为例进行讲解。(查看代码可直接跳至第二节或页尾处下载)1 STM32F4 DMA  简介        DMA,全称为:Direct Memory Access,即直接存储器访问。DMA 传输方式无需 CPU 直接控制传输,也没有中断处理方...

2019-01-16 16:38:05 31785 4

原创 C语言指针实例

记录一些平常可能用到的指针例子#include<stdio.h>int main(){//------------------------------------- No.1 char array[4] = "a01"; //------------------------------------- No.2 char array1[3][4] = {"a01","a0...

2018-03-31 22:01:13 4517

原创 串口发送不同类型数据方法

模拟串口数据传递(参考了一些网友的思路,在此表示感谢~)需要注意的是: 对于无符号数来说,左移和右移都是用的逻辑移位,即左移低位空出的补0,右移高位空出的补0; 对于有符号数来说,用的是算术移位,左移多出的会移进符号位,右移在gcc编译器下是算术右移,即空出的高位补符号位。详细可参考此处:C语言 有符号数和无符号数的移位运算#include<stdi...

2018-02-26 22:04:03 10097

静态链表v1.0.zip

数据结构静态链表的实现,优化了部分细节,逻辑更为清晰。【解析】:https://blog.csdn.net/jack__linux/article/details/116082393

2021-04-24

NatTree_v1.0.zip

C++实现了一个自定义的数据结构 —— 自然树,该自定义结构不同于二叉树及其他数据结构,每个节点的子节点个数不受限制,最大限度保留了数据的原始结构,并实现了其前序和后序遍历的方法。优点是节省了内存,但缺点则是基于链表结构查询的时间开销会相对较大。详细内容请查看我的博客《实现自定义的数据结构 —— 自然》,链接:https://blog.csdn.net/jack__linux/article/details/113576127

2021-02-02

快速表v1.4.zip

设计可以变更的快速表结构:该结构在构造时确定大小,假设长度 len,且有两个功能:(1)int set(string key,int value):将记录(key,value)插入该结构;(2)int get(string key):返回key对应的value 要求: (1)set和get时间复杂度为O(1);(2)某个key的set/get操作一旦发生,认为这个key成为最常使用的(默认这一步也是O(1) );(3)当缓存大小超过k时,移除最不常用的记录。 【详细说明】:https://blog.csdn.net/jack__linux/article/details/108478630

2020-09-09

自定义数据结构——树 v1.1.zip

实现了一个自定义的数据结构 —— 树,该自定义结构不同于二叉树及其他数据结构,每个节点的子节点个数不受限制,最大限度保留了数据的原始结构,并实现了其前序和后序遍历的方法。优点是节省了内存,但缺点则是基于链表结构查询的时间开销会相对较大。详细内容请查看我的博客《实现自定义的数据结构 —— 树》,链接:https://blog.csdn.net/jack__linux/article/details/106527800

2020-06-03

《铅酸蓄电池61问》.pdf

包含平常整理的61个关于铅酸蓄电池的基本概念,如:“铅酸电池的放电速率和使用有何关系?”、“新铅酸蓄电池加入电解液后,温度升高是什么原因?”等

2020-01-04

平衡车设计资料包.zip

包含搜集到的9个PDF文档,其中有:《电磁组直立行人参考设计方案v2.0》;《编码器使用教程与测速原理》;《卡尔曼滤波》;《电磁组直立车模参数整定与调试指南v1.0》;《双轮平衡车开发文档》;《直流电机控制与TB6612FNG》;《直流电机PID开发指南》;《单轴双轮自平衡代步车的研究与设计》;《平衡小车调试指南(直立环-速度环)》

2019-12-16

PID资料包.zip

包含搜集到的10本PDF文档和2个51单片机的转速测量与控制的仿真程序。 具体有:《PID参数的意义与整定方法》;《PID简明教程》;《PID控制经典培训教程》;《PID算法》;《PID算法原理》;《PID通俗的理解》;《精讲PID比例积分微分闭环控制系统》;《PID》;《数字PID控制算法》;《由入门到精通吃透PID》;【PID_AT89C51_1602转速测量控制】;【PID_AT89C51_LED数码管显示转速测量控制】

2019-12-16

NRF24L01通信.zip

共包含3个例程(均已测试通过): (1) 12发送(STC12C5A60S2)——>12接收(STC12C2052AD) (2) 12发送(STC12C5A60S2)——32接收(STM32F407) (3) 51发送(STC89C52RC)——12接收(STC12C5A60S2)

2019-05-20

《Python深度学习》中文版+英文版PDF(带目录)+源代码.zip

(1) 本书详尽介绍了用 Python 和 Keras 进行深度学习的探索实践,包括计算机视觉、自然语言处理、产生式模型等应用。 (2) 书中包含30多个代码示例,步骤讲解详细透彻。由于本书立足于人工智能的可达性和大众化,读者无须具备机器学习相关背景知识即可展开阅读。 (3) 学习完本书后,读者将具备搭建自己的深度学习环境、建立图像识别模型、生成图像和文字等能力。

2019-05-19

《深度学习入门:基于Python的理论与实现》高清中文版PDF(带目录)+源代码.zip

(1) 日本深度学习入门经典畅销书,原版上市不足2年印刷已达100 000册。长期位列日亚“人工智能”类图书榜首,超多五星好评。 (2) 使用Python 3,尽量不依赖外部库或工具,从零创建一个深度学习模型。 (3) 示例代码清晰,源代码可下载,需要的运行环境非常简单。读者可以一边读书一边执行程序,简单易上手。 (4) 使用平实的语言,结合直观的插图和具体的例子,将深度学习的原理掰开揉碎讲解,简明易懂。 (5) 相比AI圣经“花书”,本书更合适入门。

2019-05-19

6路串口DMA发送&接收(v2.1)

(优化了上一版代码)STM32F407的6路串口均已配置为DMA方式的发送和接收,发送函数也已封装为类似printf的形式,方便使用。

2019-01-28

6路串口DMA发送&接收(v2.0)

(优化了上一版代码)STM32F407的6路串口均已配置为DMA方式的发送和接收,发送函数也已封装为类似printf的形式,方便使用。 最新优化版请移步:https://download.csdn.net/download/jack__linux/10941198

2019-01-27

6路串口DMA发送&接收(STM32)

STM32F407的6路串口均已配置为DMA方式的发送和接收,发送函数也已封装为类似printf的形式,方便使用。 最新优化版请移步:https://download.csdn.net/download/jack__linux/10941198

2019-01-17

单片机串口printf函数自实现(第二版)

官方printf函数一次只能定向一个串口,而通过自实现的printf可实现任意串口同时发送。 实用举例:myprintf(USART3, "num1 = %d\tnum2 = %f\r\n", num1,num2); (该程序较之前上传的版本效率更高)

2019-01-16

俄罗斯方块

此程序为C++编写的西安电子科技大学经典教材《C/C++语言程序设计》中课后练习俄罗斯方块游戏的补全版。

2018-04-22

单片机串口printf函数自实现

官方printf函数一次只能定向一个串口,而通过自实现的printf可实现任意串口同时发送。 实用举例:myprintf(USART3, "num1 = %d\tnum2 = %f\r\n", num1,num2);

2018-03-11

自己的串口printf函数实现

官方printf函数一次只能定向一个串口,而通过自实现的printf可实现任意串口同时发送

2018-03-09

简易计算器

1、暂仅支持 + - * / ( ) 6种运算符 2、表达式长度最大支持50个字符 3、支持浮点运算 4、支持运算符合理省略 eg: 3(2-1)4 -> 3*(2-1)*4 5、支持残缺浮点数 eg: 1. -> 1.000000 6、自动记录最近5份历史表达式

2017-01-31

STM32—Nokia5110

如题所示

2016-08-04

MSP430—密码锁

6位密码,密码修改,掉电保存,1602显示。

2016-08-04

STM32—LDC1314

关于寄存器配置还需根据实际情况修改

2016-08-04

STM32—12864

基于STM32F103的12864,可画点,画线,画圆,绘图。。。

2016-08-04

空空如也

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

TA关注的人

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