- 博客(13)
- 收藏
- 关注
原创 数组之二分查找
二分法题目链接:二分查找题目给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1题目分析前提条件数组为有序数组时间复杂度为O(logn),空间复杂度为O(1)数组中无重复元素解题思路以数组的中间值middle = left + (right - left) >> 1为界将数组划分为两个子区间,每次取查找范围的中点和target的大小,如果相等则 middl
2022-03-07 21:03:09
1175
原创 DFS+回溯算法专题
基础知识回溯法是一种选优搜索法(试探法),被称为通用的解题方法,这种方法适用于解一些组合数相当大的问题。通过剪枝(约束+限界)可以大幅减少解决问题的计算量(搜索量)。深度优先搜索(Depth-First-Search,DFS)是一种用于遍历或搜索树或图的算法。沿着树的深度遍历树的节点,尽可能深的搜索树的分支。当节点v的所在边都己被探寻过,搜索将回溯到发现节点v的那条边的起始节点。这一过程一直进行到已发现从源节点可达的所有节点为止。如果还存在未被发现的节点,则选择其中一个作为源节点并重复以上过程,整个进程
2022-01-29 15:06:45
4206
原创 动态规划专题
基础知识动态规划,英文:Dynamic Programming,简称DP,如果某一问题有很多重叠子问题,使用动态规划是最有效的。所以动态规划中每一个状态一定是由上一个状态推导出来的,这一点就区分于贪心,贪心没有状态推导,而是从局部直接选最优的。动态规划算法通常用于求解具有某种最优性质的问题。在这类问题中,可能会有许多可行解。每一个解都对应于一个值,我们希望找到具有最优值的解。动态规划算法与分治法类似,其基本思想也是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。与分
2022-01-29 15:01:13
591
原创 数据结构与算法之字符串处理专题
基础知识Java中提供两种实现字符串的类,分别是String、StringBuffer类。String字符串的声明:1、常量声明方式String sName=“Bob”;2、对象声明方式String sName=new String(“Bob”);3、由字符数组初始化String sName=new String(char[] ch);4、由字符数组指定元素个数String sName=new String(char[] ch,int index,int length);4、指定字符
2022-01-09 15:28:24
1443
原创 数据结构之树专题
基础知识树的概念参考博客1参考博客2参考博客3参考博客4树(tree)包含 n(n≥0) 个节点(当 n=0 时,称为空树)。其中非空树是由n(n≥1)个有限节点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。另外,也可以说树是由根节点和若干颗子树构成的。相关术语结点:使用树结构存储的每一个数据元素都被称为“结点”。图中,数据元素 A 就是一个结点;父结点(双亲结点)、子结点和兄弟结点:对于图中的结点 A、B、C、D ,A 是
2021-12-24 15:36:57
397
原创 数据结构之链表专题
链表解题技巧链表题可以通过画图来理清思路链表题细节很重要,一定要好好分析,充分考虑所有情况,例如在分析链表题的时候,务必要注意LlstNode.next是否为空!在写每个循环时,一定要想清楚循环进入的条件是什么,退出的条件是什么!在java中,链表是通过对象模拟形成的,一个节点就是一个对象,成员变量val就是当前节点对象的值,next就是下一个节点对象。在做链表题的时候,首先分析头节点会不会改变,如果改变就创建虚拟头节点,方便处理边界情况,然后根据题目情况分析是否真的需要虚拟头节点。例如删除节点的题
2021-12-07 11:26:55
327
原创 十大排序算法
概述十种常见排序算法可以分为两大类:比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此也称为线性时间非比较类排序。稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面。不稳定:如果a原本在b的前面,而a=b,排序之后 a 可能会出现在 b 的后面。时间复杂度对排序数据的总的操作次数。反映当n变化时,操作次数呈现什
2021-12-07 11:16:02
703
原创 二分法专题
二分法思想70%的题时根据单调性()使用二分法,而95%的题根据两段性可以确定使用二分法解除。所谓两段性,就是一个区间根据某个性质可以二分为红色和绿色两段,而我们的目的就通过二分找到这个分界点t二分的流程确定二分的初始边界;编写二分的代码框架;设计一个性质( check() )划分区间为红绿两段;判断一下区间如何更新,如果更新方式为left = mid, right = mid - 1,则在计算mid时加上1向上取整;二分的两个模板x的平方根题目链接:x的平方根给你一个非负整
2021-11-02 19:55:01
425
原创 什么是卷积神经网络
写在前面笔者自2020.10.13学习卷积神经网络相关知识,于此仅做笔记记载。声明:1.本文为个人学习总结,部分内容(包括数学公式)是来自书籍及网上的资料。具体引用的资料请看参考文献。具体的版本声明也参考原文献。2.本文仅供学术交流,非商用。所以每一部分具体的参考资料并没有详细对应,更有些部分本来就是直接从其他博客复制过来的。如果某部分不小心侵犯了大家的版权,还望海涵,并联系本人删除或修改。卷积神经网络学习笔记写在前面一、综述二、各层介绍2.1 输入层(Input Layer)常见三种图像数据预处
2021-10-22 17:16:04
3625
原创 Fully Convolutional Networks for Semantic Segmentation
声明本文仅为学习笔记,不做任何商用,在编写过程中参考甚至复制了其他博主的文章,如有冒犯可联系我进行删除,在此十分抱歉。基于全卷积网络的语义分割一、概述论文地址GitHub 代码地址卷积神经网络(CNN)一直在驱动图像处理领域的进步,无论是整张图片的分类(ILSVRC),还是物体检测,关键点检测都在CNN的帮助下得到了非常大的发,但是图像语义分割不同于以上任务,这是个空间密集型(spatial dense prediction)的预测任务,这需要预测一幅图像中所有像素点的类别。以往的用于语义分割
2021-10-22 17:13:26
3336
1
原创 深度学习(HRNet为例)运行环境搭建(Linux版)
声明:本博客仅为学习笔记,其中摘用了多位博主的博客文章,若侵权请联系本人进行删除。一、安装Ubuntu系统1.烧录Ubuntu20.04的iso镜像文件到U盘中,制作好启动盘,烧录软件为UltraIso;2.进入bios系统界面,设置为U盘启动;3.重启电脑进入Ubuntu系统安装;4.按照指示进行安装,具体操作详情可参考下附参考博客。安装完成界面如下图:附录1:参考博客参考链接1:主机装Ubuntu参考链接2:硬盘装Ubuntu参考博客3:Ubuntu下输入法汉化附录2:遇到的问题
2021-01-18 20:51:01
1389
原创 Framework7 + cordova +AS 混合开发安卓app(二)
承接上一篇博客 Framework7 + cordova +AS 开发安卓app(一)
2018-10-21 19:21:19
1173
原创 Framework7 + cordova +AS 混合开发安卓app(一)
一、开发目的开发一个有关销售的APP,主要包含首页,资讯页,发现页,购物车页以及个人中心页,其性质类似于淘宝APP,注册用户分为普通用户与商家,用户可通过页面链接进入商家页面以及商品页面浏览APP内容。 二、开发材料1、Framework7框架,开源; 2、虚拟服务器(Virtual Server),博主使用的是WAMP(For Windows); 3、允许浏览器的跨域请求,博...
2018-08-28 17:06:57
166
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人