自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 【推荐系统实战】——知识思维导图梳理

【推荐系统实战】——知识思维导图梳理思维导图markdown版利用用户行为数据用户行为数据简介基于邻域的方法隐语义模型LFM基于图的模型推荐系统的冷启动问题问题解决方案利用用户标签数据利用用户给物品打上的标签,为用户个性化推荐。基于标签的推荐系统给用户推荐标签利用上下文信息根据用户所处的上下文,如时间、地点、心情进行推荐时间上下文信息地点上下文信息利用社交网络数据基于邻域的社交网络推荐基于图的社交网络推荐给用户推荐好友思维导图markdown版利用用户行为数据用户行为数据简介显式反馈用户

2022-03-07 16:47:00 391

原创 推荐系统实战(四)——利用社交网络数据

利用社交网络数据社交网络数据简介此外,对图G中的用户顶点u,定义out(u)为顶点u指向的顶点集合(如果套用微博中的术语,out(u)就是用户u关注的用户集合),定义in(u)为指向顶点u的顶点集合(也就是关注用户u的用户集合)。那么,在Facebook这种无向社交网络中显然有out(u)=in(u)。一般来说,有3种不同的社交网络数据。双向确认的社交网络数据 在以Facebook和人人网为代表的社交网络中,用户A和B之间形成好友关系需要通过双方的确认。因此,这种社交网络一般可以通过无向图表

2022-03-07 16:43:13 1515

原创 【推荐系统实战(三)】利用用户标签数据、利用上下文信息

【推荐系统实战(三)】利用用户标签数据标签系统中的推荐问题基于标签的推荐系统一个简单的算法算法的改进1. TF-IDF基于图的推荐算法基于标签的推荐解释给用户推荐标签如何给用户推荐标签利用上下文信息时间上下文信息时间上下文推荐算法如图4-1所示,第一种方式是利用用户喜欢过的物品,给用户推荐与他喜欢过的物品相似的物品,这就是前面提到的基于物品的算法。第二种方式是利用和用户兴趣相似的其他用户,给用户推荐那些和他们兴趣爱好相似的其他用户喜欢的物品,这是前面提到的基于用户的算法。除了这两种方法,第三种重要的方式是

2022-03-07 16:41:13 1158

原创 【推荐系统实战(二)】利用用户行为数据、推荐系统的冷启动问题

【推荐系统实战(二)】利用用户行为数据、推荐系统的冷启动问题利用用户行为数据用户行为数据简介基于物品的协同过滤算法UserCF和ItemCF的综合比较隐语义模型(LFM)LFM和基于邻域的算法比较基于图的模型用户行为二部图表示基于图的推荐算法推荐系统的冷启动问题冷启动问题简介利用用户行为数据基于用户行为分析的推荐算法是个性化推荐系统的重要算法,电子商务公司通过分析用户数据,找出诸如“购买A商品的用户都购买B商品”这种规律,学术界一般将这种类型的算法,称为协同过滤算法。顾名思义,协同过滤就是指用户可以齐心

2022-03-07 16:36:16 718

原创 数据结构 知识概念 面试题

@[TOC] 数据结构 知识概念 面试题树树的常考性质1、结点数和度数的关系是什么? 树的度是什么意思?2、高度为h的m叉树至多有多少个节点3、m叉树每层至多有多少个节点?至少有多少个节点?5、高度为h,度为m的树有多少个节点?m叉树有多少个节点?几种特殊的二叉树能描述其性质?二叉树的性质线索二叉树线索二叉树的作用?线索二叉树的存储结构?如何在线索二叉树中找前驱和后继先找到最左下的节点然后如果最左下的节点有有孩子,则递归其右孩子如果没有,后继就是右孩子中

2021-09-16 22:37:03 202

原创 操作系统 第四章

操作系统 第四章文件管理文件内部如何组织起来文件之间如何组织起来操作系统应该向上提供哪些功能文件如何放在外存文件管理总结文件的逻辑结构无结构文件有结构文件顺序文件索引文件索引顺序文件总结文件目录文件控制块目录结构——单级目录目录结构——两极目录目录结构——多级目录引入相对路径无环图目录结构索引节点——对FCB的瘦身总结文件的物理结构文件管理文件内部如何组织起来文件之间如何组织起来操作系统应该向上提供哪些功能文件如何放在外存放在外存块中文件地址由 块号+块内地址组成是连续存放还是分开存放

2021-09-13 16:16:13 96

原创 操作系统 第三章

操作系统 第三章内存的概念逻辑地址vs物理地址从写程序到程序运行内存的概念逻辑地址vs物理地址从写程序到程序运行

2021-09-11 21:26:54 131

原创 PAT 甲级 树(二)

PAT 甲级 树(二)二叉搜索树最后两层节点数量题目思想自己的代码y总的代码前序和后序遍历题目思想自己的代码y总的代码Z字形遍历二叉树题目思想自己的代码y总的代码后序遍历题目思想自己的代码y总的代码AVL树的根题目思想自己的代码y总的代码判断完全AVL树题目代码判断红黑树题目思想代码等重路径题目思想自己的代码y总的代码AVL两道题的思路待补充,红黑树待写!!!二叉搜索树最后两层节点数量题目二叉搜索树 (BST) 递归定义为具有以下属性的二叉树:若它的左子树不空,则左子树上所有结点的值均小于或等于它

2021-09-08 21:55:31 121

原创 PAT 甲级 树(一)

PAT 甲级 树(一)数叶子节点题目思想自己的代码y总的代码树的遍历题目思想自己的代码y总的代码最深的根题目思想自己的代码y总的代码判断二叉搜索树题目思想自己的代码y总的代码完全二叉搜索树思想自己的代码y总的代码再次树遍历题目思想自己的代码y总的代码构建二叉搜索树题目思想自己的代码y总的代码反转二叉树题目思想自己的代码y总的代码完全二叉树题目思想自己的代码y总的代码数叶子节点题目家庭关系可以用家谱树来表示,给定一个家谱树,你的任务是找出其中没有孩子的成员。输入格式第一行包含一个整数 N 表示树中结

2021-09-08 21:28:16 192

原创 操作系统 —— 第二章

操作系统 —— 第二章处理机调度的概念、层次三个层次高级调度(作业调度)——外存和内存之间的调度中级调度(内存调度) ——针对挂起状态进程的调度低级调度(进程调度)三种调度的区别进程调度的时机、切换与过程、切换方式进程调度的时机?——什么时候进行进程调度什么时候不能进行进程调度?![在这里插入图片描述](https://img-blog.csdnimg.cn/f62b6ea3d12f46a0872ecf6206c48fb4.png)进程调度的方式进程切换的过程调度算法的评价指标CPU利用率系统吞吐量周转时间

2021-09-08 21:10:48 113

原创 PAT甲级 图论

PAT甲级 图论考点基础预备——Dijkstra I基础知识——Dijkstra II紧急情况题目思想我的代码y总的代码旅行计划题目思想我的代码y总的代码团伙头目题目思想我的代码y总的代码条条大路通罗马题目思想我的代码y总的代码在线地图题目思想自己的代码y总的代码哈密顿回路题目自己的代码y总的代码欧拉回路题目思想自己的代码y总的代码地铁地图题目思想自己的代码y总的代码顶点覆盖题目思想自己的代码y总的代码第一次接触题目思想自己的代码y总的代码最大集团题目思想自己的代码y总的代码拓扑排序题目思想自己的代码y总的

2021-09-06 20:31:19 304

原创 算法基础课—贪心(二)排序不等式贪心、绝对值不等式贪心、推公式贪心

算法基础课—贪心(二)排序不等式贪心、绝对值不等式贪心、推公式贪心排序不等式贪心题目——排队打水思想证明模板代码绝对值不等式贪心题目思想模板代码绝对值不等式贪心题目思想证明模板代码贪心小结排序不等式贪心题目——排队打水有 n 个人排队到 1 个水龙头处打水,第 i 个人装满水桶所需的时间是 ti,请问如何安排他们的打水顺序才能使所有人的等待时间之和最小?输入格式第一行包含整数 n。第二行包含 n 个整数,其中第 i 个整数表示第 i 个人装满水桶所花费的时间 ti。输出格式输出一个整数,表示

2021-06-09 12:58:16 330

原创 算法基础课—贪心(一)区间贪心、Huffman贪心

@[TOC]算法基础课—贪心(一)区间贪心、Huffman贪心区间贪心区间选点题目给定 N 个闭区间 [ai,bi],请你在数轴上选择尽量少的点,使得每个区间内至少包含一个选出的点。输出选择的点的最小数量。位于区间端点上的点也算作区间内。输入格式第一行包含整数 N,表示区间数。接下来 N 行,每行包含两个整数 ai,bi,表示一个区间的两个端点。输出格式输出一个整数,表示所需的点的最小数量。数据范围1≤N≤105,−109≤ai≤bi≤109输入样例:3-1 12 43

2021-06-09 10:59:28 492

原创 算法基础课—动态规划(三)计数类DP、数位统计DP、状态压缩DP、树形DP、记忆化搜索

算法基础课—动态规划(三)计数类DP、数位统计DP、状态压缩DP、树形DP、记忆化搜索数位统计DP题目思想模板代码状态压缩DP蒙德里安的梦想思想模板朴素做法去除无效状态的优化写法代码朴素做法优化做法最短哈密顿距离题目思想模板代码树形DP记忆化搜索数位统计DP多用于统计数中出现某个数的次数关键:分类讨论题目计数问题给定两个整数 a 和 b,求 a 和 b 之间的所有数字中 0∼9 的出现次数。例如,a=1024,b=1032,则 a 和 b 之间共有 9 个数如下:1024 1025 1026

2021-06-08 11:39:04 443 1

原创 算法基础课—动态规划(二)线性动态规划、区间动态规划

算法基础课—动态规划(二)线性动态规划、区间动态规划线性动态规划数字三角形题目思想模板代码最长上升子序列题目思想模板代码代码——记录规划方案最长公共子序列题目思想模板代码区间动态规划区间合并问题题目思想模板代码线性动态规划递推的顺序有模糊的线性对于这个二维矩阵,有明显的线性存储的,如是一行一行来存的数字三角形题目给定一个如下图所示的数字三角形,从顶部出发,在每一结点可以选择移动至其左下方的结点或移动至其右下方的结点,一直走到底层,要求找出一条路径,使路径上的数字的和最大。 7 3

2021-06-07 10:10:01 373 1

原创 算法基础课—动态规划(一)背包问题

算法基础课—动态规划(一)背包问题背包问题概述01背包问题题目动态规划的关键朴素做法优化方法——滚动数组完全背包问题题目动态规划关键朴素做法优化做法再进一步的优化多重背包问题题目朴素做法关于不能采用完全背包的优化方法对多重背包进行优化的问题优化做法——多重背包的二进制优化分组背包问题题目动态规划优化做法背包问题概述多重背包问题——每个物品有有限个,si分组背包问题——每一组只能选一个01背包问题题目有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。第 i 件物品的体积是 vi,价

2021-06-05 21:30:42 231

原创 算法基础课—数学知识(六)容斥原理、博弈论

算法基础课—数学知识(六)容斥原理、博弈论容斥原理博弈论容斥原理集合数为奇数——正好偶数——负号枚举所有可能项——一般用位运算来做这样可以对应所有的选法从1- 2的n次方-1,将他们转换成二进制表示,0表示不选,1表示选,然后判断在判断第k位是不是1, i >> k & 1博弈论...

2021-06-04 09:56:15 192

原创 算法基础课—数学知识(五) 卡特兰数 及其常见问题应用

算法基础课—数学知识(五) 卡特兰数 及其常见问题应用关键满足条件的01序列题目卡特兰数模板代码卡特兰数问题问题一 满二叉树的个数问题二 电影购票问题三 进栈问题问题四 圆内连弦问题五 由n对括号形成的合法括号表达式的个数。问题六 n+1个数连乘,不同的乘法顺序数。问题七 求凸n+2边形用其n−1条对角线分割为互不重叠的三角形的分法总数.二叉搜索树——卡特兰数的递推式关键将问题转化成+1、-1序列,判断是否符合卡特兰数的条件或者符合卡特兰数递归式满足条件的01序列题目给定 n 个 0 和 n 个

2021-06-03 14:24:40 749

原创 算法基础课—数学知识(四)高斯消元、组合数

算法基础课—数学知识(四)高斯消元、组合数高斯消元——解方程组对于有解和无解的判断例子消元回代有无穷多个解的情况无解的情况算法思路题目代码模板自己的代码求组合数方法一模板自己的代码方法二题目模板代码方法三题目模板代码方法四题目模板自己的代码满足条件的01序列题目卡特兰数模板代码高斯消元——解方程组应用:在n的三次方时间内可以解n个方程组的解方法:矩阵的行列变换思想:先消元,再回代最后可以把矩阵变成一个上三角的形式对于有解和无解的判断如果0=非零,说明矛盾,肯定无解如果出现0=0,说明其中一

2021-06-03 13:31:27 336

原创 算法基础课—数学知识(二)欧拉函数、欧拉定理、费马定理、快速幂、扩展欧几里得算法、逆元

算法基础课—数学知识(二)欧拉函数、欧拉函数定义:公式计算定理的证明——用容斥原理算出来线性筛法求每个数的欧拉函数欧拉函数的应用——欧拉定理欧拉定理的特例——费马定理快速幂欧拉函数定义:互质是公约数只有1的两个整数,叫做互质整数。公式计算定理的证明——用容斥原理算出来思路:1-N中与N互质的个数——先对N进行分解质因数,可以用筛选法,去掉其所有质因数的倍数,剩下的就是互质的数对于筛法——容斥原理(先筛去所有素数的倍数,同时会发现可能两个素数倍数相同,却被筛去了,所以要诚信加回来,于是就有

2021-06-02 12:14:13 257

原创 算法基础课—数学知识(一)质数和约数

算法基础课—数学知识(一)质数和约数质数判断质数试除法优化后的试除法模板代码试除法分解质因数优化后的分解质因数模板代码筛质数埃氏筛法(时间复杂度O(nloglogn))时间复杂度的计算模板代码线性筛法模板代码约数试除法——求所有约数模板代码求约数个数模板代码求约数之和约数质数判断质数试除法从2到n进行遍历,看是否存在整数能整除,如果有则是质数,没有则不是优化后的试除法从2到根号n进行遍历,看是否存在整数能整除,如果有则是质数,没有则不是如果存在大于根号n的数能整除其,必一定存在另外一个与之配对

2021-05-29 23:42:35 439

原创 算法基础课—搜索与图论(四)最小生成树与二分图

算法基础课—搜索与图论(四)最小生成树与二分图最小生成树prim算法——最小生成树需要的数据结构算法思想模板自己的代码Kruskal算法需要的数据结构算法思想模板自己的代码二分图染色法判断二分图算法思想——染色法判断二分图模板自己的代码匈牙利算法——二分图的最大匹配需要的数据结构算法思想模板代码最小生成树应用——无向图稀疏图一般用堆优化Prim、稠密图用朴素版Prim在真实应用中,稠密图一般用朴素版Prim,稀疏图用Kruscalprim算法——最小生成树需要的数据结构1、邻接矩阵——g[]

2021-05-29 10:36:06 184

原创 算法基础课—搜索与图论(三)最短路问题——Dijkstra、bellman-ford、spfa、Floyd

@[TOC]算法基础课—搜索与图论(三) 最短路问题——Dijkstra算法、bellman-ford算法、spfa算法、Floyd算法最短路算法问题类型源点——起点,汇点——终点单源最短路,即起点是固定的,求其到任意点的最短路多源汇的最短路,给定任意两个点n点数、m边数稠密图——用朴素的dj。。稀疏图——堆优化的。。。存在负权边——如果求第k条边的,对边数有限制的,只能用Bellman算法其他情况存在负权边的,用SPFA比较好最短路问题难点——构建图如何根据题目的背景,构建图,构

2021-05-27 18:26:27 216

原创 算法基础课—搜索与图论(二)树与图的存储方式、及其深度优先搜索与广度优先搜索、拓扑排序

树与图的存储方式、及其深度优先搜索与广度优先搜索、拓扑排序树和图的存储方式邻接表代码模板树和图的深度优先搜索树和图的宽度优先搜索图的拓扑序列算法思想代码找出所有的拓扑序列算法思想代码树和图的存储方式树——无环联通图图——有向图、无向图邻接矩阵——二维矩阵、邻接表(常用)——每个节点开一个单链表(有点类似hash里的拉链表)邻接表类似于拉链法代码模板// 对于每个点k,开一个单链表,存储k所有可以走到的点。h[k]存储这个单链表的头结点int h[N], e[N], ne[N], idx;

2021-05-24 21:20:15 175

原创 算法基础课—搜索与图论(一)DFS、BFS

算法基础课—搜索与图论(一)DFS、BFS、树、图的存储方式及搜索深度优先搜索 DFS核心——回溯和剪枝回溯剪枝算法思想整体结构算法模板——来自于排列数的题目排列数字题目算法思想代码n皇后问题题目方法一代码方法二代码宽度优先搜索 BFS最短性空间复杂度的对比适用情况核心BFS模板代码模板——走迷宫的宽度有限搜索走迷宫题目算法思想代码八数码问题题目算法思想代码深度优先搜索 DFS深度优先搜索DFS一直往深的搜,直到碰到叶节点就回溯到上一节点进行搜索核心——回溯和剪枝DFS ——递归实现——回溯和剪

2021-05-24 20:53:15 315

原创 算法基础课—数据结构(五) Trie树

算法基础课—数据结构(五) Trie树基本操作创建查找Trie字符串统计题目算法思想代码数据结构代码最大异或对题目算法思想代码总结用来高效存储和查找字符串集合的数据结构基本操作通过创建或遍历树可以满足存储和查找字符串的过程创建如果没有当前字符则创造一个分支,如果有则继续,结束单词有个标记查找一直往下遍历,看是否存在Trie字符串统计题目维护一个字符串集合,支持两种操作:I x 向集合中插入一个字符串 x;Q x 询问一个字符串在集合中出现了多少次。共有 N 个操作,输入的字符串总

2021-05-20 11:44:31 134

原创 算法基础课—数据结构(六) 并查集

算法基础课—数据结构(六) 并查集基本原理与相关操作代码的结构进一步优化——路径压缩代码合并集合题目算法思想代码连通块中点的数量题目算法思想代码食物链题目算法思想维护到祖宗节点距离的并查集代码基本原理与相关操作时间复杂度O(1)基本原理:用树来维护集合根节点的编号就是当前集合的编号如果想知道每个元素属于哪个集合——找父节点直到根节点代码的结构一个一维数组p[N],用于存储其父节点初始:所有p[N]指向自身,一个点为一个集合集合合并:改变根节点的父节点集合查询,找到根节点的位置进一

2021-05-20 11:20:19 526

原创 算法基础课—数据结构(七)堆

算法基础课—数据结构(七)堆堆的性质:堆的存储堆的基本操作堆常用操作(均由down和up构成)堆排序算法思想:优势题目自己的代码模拟堆题目算法思想自己的代码堆的性质:完全二叉树每个根节点都小于他的左儿子右儿子(小根堆)堆的存储因为是完全二叉树,所以可以利用完全二叉树的性质去存储成一维数组从1开始存储左儿子 ——2x右儿子——2x+1堆的基本操作down——向下调整(每次和左儿子右儿子的最小值交换)根节点值变成6变成6后,6比3,4的最小值大,与3,4中的最小值交换,往下走up

2021-05-20 10:50:16 138

原创 算法基础课—数据结构(八) 哈希表

算法基础课—数据结构(八)—哈希表哈希表的作用——在什么时候会用到哈希表哈希表中需要解决的问题哈希表的两种方法拉链法思想哈希表的操作代码写法模板代码自己的代码开放寻址法算法思路:代码思路模板代码自己的代码字符串哈希方式核心字符串hash值的求法映射要注意的:这样构造的好处自己的代码哈希表的作用——在什么时候会用到哈希表把一个比较庞大的值域映射到一个比较小的值域。哈希表和离散化的区别在于,离散化可能是为了解决空间的问题,哈希表是为了解决时间的问题,更方便查找哈希表中需要解决的问题映射怎么选?即哈

2021-05-20 10:24:35 434

空空如也

空空如也

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

TA关注的人

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