LiuZhian's Blog

Welcome to my home~

多线程归并排序

1.前言今天一次偶然的机会,需要做一个多线程下的归并排序测试,然后在网上查看了几个资料,大致了解了思路后自己对着写了一遍,大概做法是这样: 思路就是 “divide and conquer”策略,线程A会把arr拆分成两个,然后新建两个子线程A1和A2,子线程又会递归地创建它们的子线程(A1创建2个,A2也创建两个),也就是说,线程A有个子线程,4个孙子线程这样一直下去。。。你可以根据你的C......

LeetCode-108-数组转AVL

平衡二叉树

LeetCode-108-数组转AVL1. 题目描述将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。123456789给定有序数组: [-10,-3,0,5,9],一个可能的答案是:[0,-3,9,-10,null,5],它可以表示下面这个高度平衡二叉搜索树: 0 / ......

目标检测-SSD总结

1.感悟这次前前后后大概花了1周的时间把SSD训练、评估、测试、应用部署整个阶段都学习了一遍,为什么说学习呢?因为代码是别人开源的,但是自己也是from scratch,从0到1全部实现了一次。在这次复现论文的过程中,总得来说,遇到的困难不是很多,Google查下基本都能解决,这里还是记录一下学习时候的感悟吧,以后再翻阅也好有个更新的印象。 1.1 训练总的来说,我并没有按照论文中说的训练1......

LeetCode-82-删除链表重复元素②

代码优雅之道

LeetCode-82-删除链表重复元素②1. 题目描述给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中 没有重复出现 的数字。 123456789示例 1:输入: 1->2->3->3->4->4->5输出: 1->2->5示例 2:输入: 1->1->1->2->3输出: 2->3 2. 思路这个......

Java多线程核心技术阅读笔记(第六章)

单例模式与多线程

第6章 单例模式与多线程1. 饿汉模式和懒汉模式所谓饿汉模式,就是形容“着急”,“急迫”的意思,即在类对象实例化之前,单例对象已经创建完毕,也称为“立即加载”模式。123456789101112class MyObj { public static MyObj singleton =new MyObj(); MyObj() { } pu......

目标检测——SSD源码解读

目标检测经典方法

0.简介SSD的全称是Single Shot MultiBox Detector,是目标检测中经典方法之一,它和YOLO一样,都是one-stage模式的,而像R-CNN和Fast R-CNN这些文章则是two-stage的,也就是需要先提取出proposals,再对各个proposal进行定位和分类。 接下来,我将尽我所能,结合自身理解和网上的一些参考资料,对Pytorch版本的SSD源码......

Non-max Suppression非最大抑制

目标检测常用方法

1.Non-max Suppression 流程Input: A list of Proposal boxes B, corresponding confidence scores S and overlap threshold N. Output: A list of filtered proposals D. Algorithm: Select the proposal with hi......

PASCAL VOC数据集介绍

目标检测数据集

1.简介PASCAL VOC全称是The PASCAL Visual Object Classes,是一个计算机视觉的挑战赛,包含图像分类、目标检测、图像分割等子任务,很多有名的paper和网络都基于此数据集进行实验。 2.数据集概况下图展示的是PASCAL VOC 数据集的20个类别及其层级结构: 3.数据标注信息该数据集中图片的ground-truth标注信息采用的是XML的组织方式,遵......

Leetcode 78- 子集

Naive V.S. 牛掰格拉斯

Leetcode Leetcode 78- 子集1. 题目描述给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。 说明:解集不能包含重复的子集。 123456789101112输入: nums = [1,2,3]输出:[ [3],  [1],  [2],  [1,2,3],  [1,3],  [2,3],  [1,2],  []] 2. 思路2.1 我的思路依然先......

Java多线程核心技术阅读笔记(第四章)

Java多线程 Lock的使用

第4章 Lock的使用4.1 重入锁所谓重入锁,就是可以重新进入的锁。。废话!反正我用纯文字解释不了他是什么意思。还是举个例子解释它的概念吧。假如有n个线程,都想操作共享变量obj,现在假设线程A的method1()通过lock.lock()拿到了锁,在释放锁之前method1()又调用了method2(),method2()开头第一句就是lock.lock()尝试去获得锁。在这种情况下,m......