算法
SoLucky2017
这个up主有点懒,懒上青天
展开
-
一个学算法的好地址
https://visualgo.net/zh/sorting原创 2020-12-04 13:39:19 · 133 阅读 · 0 评论 -
推荐系统从入门到接着入门
前言想来惭愧,推荐系统从大四做毕设时就开始接触了,不过当时对于推荐系统也是云里雾里,没有一个整体的概念,更别说总结写博客了。正好研究生也是这个方向,最近一年看了一些综述论文、经典书籍以及好的博客,希望通过这篇博客能够记录一些推荐系统方面的基础、经典的理论、总结以及自己的想法。 等回头再过来浏览的时候希望能够起到一个索引或者综述的作用,如此而已。如果有人看到这篇博客并且对Ta有所帮助的话,更是欣慰。也希望大家多提意见,大恩不言谢。最近整理了一份推荐系统干货总结,希望对大家也会有所帮助。简介说到原创 2020-10-29 18:35:43 · 384 阅读 · 0 评论 -
调度算法
前言最近,我偷偷潜伏在各大技术群,因为秋招在即,看到不少小伙伴分享的大厂面经。然后发现,操作系统的知识点考察还是比较多的,大厂就是大厂就爱问基础知识。其中,关于操作系统的「调度算法」考察也算比较频繁。所以,我这边总结了操作系统的三大调度机制,分别是「进程调度/页面置换/磁盘调度算法」,供大家复习,希望大家在秋招能斩获自己心意的 offer。正文进程调度算法进程调度算法也称 CPU 调度算法,毕竟进程是由 CPU 调度的。当 CPU 空闲时,操作系统就选择内存中的某个「就绪.转载 2020-09-29 09:04:17 · 1147 阅读 · 0 评论 -
基于Token的WEB后台认证机制
几种常用的认证机制HTTP Basic AuthHTTP Basic Auth简单点说明就是每次请求API时都提供用户的username和password,简言之,Basic Auth是配合RESTful API 使用的最简单的认证方式,只需提供用户名密码即可,但由于有把用户名密码暴露给第三方客户端的风险,在生产环境下被使用的越来越少。因此,在开发对外开放的RESTful API时,尽量避免采用HTTP Basic AuthOAuthOAuth(开放授权)是一个开放的授权标准,允许用户让第三原创 2020-05-25 17:17:41 · 174 阅读 · 0 评论 -
KMP算法
字符串匹配是计算机的基本任务之一。举例来说,有一个字符串"BBC ABCDAB ABCDABCDABDE",我想知道,里面是否包含另一个字符串"ABCDABD"?许多算法可以完成这个任务,Knuth-Morris-Pratt算法(简称KMP)是最常用的之一。它以三个发明者命名,起头的那个K就是著名科学家Donald Knuth。这种算法不太容易理解,网上有很多解释,但读起来都很...原创 2020-01-10 11:23:01 · 382 阅读 · 0 评论 -
二叉堆引入
BBST:平衡二叉树鉴于数组与链表的优劣引入floor是指:不大于某数的整数值增加:循环策略java代码方法实现打印优化删除...原创 2020-01-06 16:53:15 · 367 阅读 · 0 评论 -
散列表
key:关键字value:数据值index:数组下标 求出的值可能会重复----哈希碰撞解决哈希碰撞(哈希冲突):1 开放寻址2 列表原创 2020-01-03 11:08:29 · 355 阅读 · 0 评论 -
红黑树
老外的定义:1结点黑或红2根叶是黑的3红子必为黑4终点黑为恒:每个结点到叶子节点路径,包含黑色结点数为恒定值。红黑树(Red-Black Tree,简称R-B Tree),它一种特殊的二叉查找树。红黑树是特殊的二叉查找树,意味着它满足二叉查找树的特征:任意一个节点所包含的键值,大于等于左孩子的键值,小于等于右孩子的键值。除了具备该特性之外,红黑树还包括许多额外的信息。...原创 2019-12-23 17:27:10 · 440 阅读 · 1 评论 -
二叉树左右旋
二叉树的左旋和右旋简单图示发布时间:2019-05-31 11:18:04旋转是二叉树的基本操作,我们可以对任意一个存在父亲节点的子节点进行旋转,包括如下几种形式(设被旋转节点为x,其父亲节点为p):1.左旋旋转前,x是p的右儿子。x的左儿子(若存在)变为p的右儿子,p变为x的左儿子。如下图2.右旋旋转前,x是p的左儿子。x的右儿子(若存在)变为p的左儿子,p变为x的右...原创 2019-12-23 14:11:49 · 517 阅读 · 0 评论 -
五分钟搞懂什么是B-树(全程图解)
我们大家都知道动态查找树能够提高查找效率,比如:二叉查找树,平衡二叉查找树,红黑树。他们查找效率的时间复杂度O(log2n),跟树的深度有关系,那么怎么样才能提高效率呢?当然最快捷的方式就是减少树的深度了。那么怎么减少树的深度呢?为了解答这个问题,我们慢慢来看,先看个实际问题吧。问题背景在大型的数据库存储中,实现索引查找,如果采用二叉查找树的查找的话,由于节点的存储数据是有限的(不可能将节...原创 2019-11-19 08:59:47 · 1930 阅读 · 4 评论 -
已知前序 中序 求二叉树
题目如下:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。分析:二叉树的前序遍历顺序是:先访问根节点,然后前序遍历左子树,再前序遍历右子树。中序遍历顺序是:中序遍历根节点的左子树,然后是访问根节点...原创 2019-11-18 17:28:36 · 3277 阅读 · 0 评论 -
判断两个二叉树相等
判断两颗二叉树是否相等-Java实现题目:请实现两二叉树是否相等的比较,相等返回true,否则返回false。首先定义一个tree://定义一颗二叉树public class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val = x; } }然...原创 2019-11-16 11:20:15 · 1425 阅读 · 0 评论 -
平衡二叉树
引言 2 二叉搜索树 2.1 定义 2.2 性质 2.3 节点结构 2.4 创建二叉搜索树 2.5 查找 2.6 插入 2.7 删除 3 平衡二叉树 3.1 定义 3.2 平衡因子 3.3 节点结构 3.4 左旋与右旋 3.5 插入 1 引言 二叉树是数据结构中的重点与难点,也是应用较为广泛的一类数据结构。二叉树的基础知识在之前的...原创 2019-11-13 13:59:58 · 542 阅读 · 0 评论 -
二叉树概念
老外的总结:二叉查找树树是数据结构中的重中之重,尤其以各类二叉树为学习的难点。一直以来,对于树的掌握都是模棱两可的状态,现在希望通过写一个关于二叉树的专题系列。在学习与总结的同时更加深入的了解掌握二叉树。本系列文章将着重介绍一般二叉树、完全二叉树、满二叉树、线索二叉树、霍夫曼树、二叉排序树、平衡二叉树、红黑树、B树。希望各位读者能够关注专题,并给出相应意见,通过系列的...原创 2019-11-13 13:52:56 · 513 阅读 · 1 评论 -
java单例 double check
public class SingletonClass { private volatile static SingletonClass instance = null; public static SingletonClass getInstance() { if (instance == null) { synchronized (SingletonClas...原创 2018-12-12 16:05:06 · 453 阅读 · 0 评论 -
blockingqueue
https://www.cnblogs.com/KingIceMou/p/8075343.html转载 2018-12-13 10:23:26 · 71 阅读 · 0 评论 -
异步线程阻塞等待结果Futrue
package com.bjsxt.height.design014;public class Main { public static void main(String[] args) throws InterruptedException { FutureClient fc = new FutureClient(); Data data = fc.request("请求...原创 2018-12-13 16:57:16 · 992 阅读 · 0 评论 -
Master-Worker模式
package com.bjsxt.height.design015;import java.util.Random;public class Main { public static void main(String[] args) { Master master = new Master(new Worker(), 20); Random r = new...原创 2018-12-13 18:13:52 · 122 阅读 · 0 评论 -
生产者与消费者
package com.bjsxt.height.design016;import java.util.concurrent.BlockingQueue;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.LinkedBl...转载 2018-12-14 10:02:50 · 89 阅读 · 0 评论 -
LinkedList实现BlockingQueue
package com.bjsxt.base.conn009;import java.util.LinkedList;import java.util.concurrent.TimeUnit;import java.util.concurrent.atomic.AtomicInteger;public class MyQueue { //1 需要一个承装元素的集合 ...原创 2018-12-12 13:22:52 · 565 阅读 · 0 评论 -
常见排序
目录 目录冒泡排序插入排序选择排序快速排序二分查找冒泡排序package com.test.java;import java.util.Arrays;/**冒泡排序 * @author songlk * */public class Code_00_BubbleSort { public static void bubbleSort(int...原创 2018-11-02 08:52:33 · 111 阅读 · 0 评论