- 博客(23)
- 收藏
- 关注
原创 《Redis实战》学习笔记
分布式或者说 SOA 分布式重要的就是面向服务,说简单的分布式就是我们把整个系统拆分成不同的服务然后将这些服务放在不同的服务器上减轻单体服务的压力提高并发量和性能。比如电商系统可以简单地拆分成订单系统、商品系统、登录系统等等,拆分之后的每个服务可以部署在不同的机器上,如果某一个服务的访问量比较大的话也可以将这个服务同时部署在多台机器上。
2023-12-27 16:03:10
430
原创 《Pro Git》学习笔记
因为一个项目的git仓库部署在服务器上,没有图形化页面操作。近期遇到经常得使用git命令,于是阅读了git复习并拓展了下。
2023-10-30 15:35:11
291
转载 MyBatis-Plus BaseMapper和IService使用手册
注释mapperservice注释DDML进一步封装:采用 get 查询单行, remove 删除, list 查询集合, page 分页int insert(T entity);boolean save(T entity);选择字段,策略插入boolean saveBatch(Collection entityList);批量插入boolean saveOrUpdateB...
2020-07-04 20:15:08
1724
转载 mybatis-plus 从2.x到3.x升级指南
mybatis-plus 2.x 到 3.x 有以下改进Wrapper分为QueryWrapper、UpdateWrapper、LambdaQueryWrapper、LambdaUpdateWrapper了,EntityWrapper已经废弃了分页查询可以直接返回Ipage<T>的子类(下面会有详细使用说明) Wrap...
2020-07-04 20:13:11
1291
原创 圆排列问题
问题描述给定n个大小不等的圆c1,c2,…,cn,现要将这n个圆排进一个矩形框中,且要求各圆与矩形框的底边相切。圆排列问题要求从n个圆的所有排列中找出有最小长度的圆排列。例如,当n=3,且所给的3个圆的半径分别为1,1,2时,这3个圆的最小长度的圆排列如图所示。其最小长度为2+4√2。上面的图的总长度是小于下面的图的总长度。圆排列问题是寻求一个产生最短的长度的圆排列方式。下面用回溯法的限界思想来解圆排列问题回溯法介绍太困了…过两天来补…...
2020-06-15 23:04:35
1822
原创 Note
读书笔记 一开始我在网上看了很多推荐,发现很多人推荐了《算法导论》这本书。于是我也跟风尝试看了下这本书,但很快就被劝退了。这本书好是好,内容很全,但也正是因为内容太全了,里面涉及的数据结构和数学知识太多了,不适合我这种新手入门,于是我就从入门到放弃了。 后来看到了《算法(第4版)》这本书籍推荐,里面是用Java实现的代码。因为平时所写的代码大多是C或者C++。虽说语言只是一种工具,但我更希望自己今后常用的语言是Java,因为比较喜欢Java这种模块化的编程风格,而且实际项目开发中的所用的语言大多是
2020-06-09 23:41:48
178
原创 图的m着色问题
问题描述图的m着色问题。给定无向连通图G和m种颜色,用这些颜色给图的顶点着色,每个顶点一种颜色。如果要求G的每条边的两个顶点着不同颜色。给出所有可能的着色方案;如果不存在,则回答“NO”。算法思想与“N皇后问题”一样。在填写每一个顶点的颜色时检查与相邻已填顶点的颜色是否相同。如果不同,则填上;如果相同(冲突),则另选一种;如果已没有颜色可供选择,则回溯到上一顶点。重复这一过程,直到所有顶点的颜色都已填上。核心伪代码isDiffColor(index)//判断填色是否符合 for i = 0 to
2020-05-27 19:30:17
359
原创 最优前缀码问题
最优前缀码问题给定字符集C={x1,x2,…,xn}和每个字符的频率f(xi),求关于C的一个最优前缀码。算法思想构造最优前缀码的贪心算法就是哈夫曼算法哈夫曼编码:对于一颗具有n个叶子的哈夫曼树,若对树中的每个左分支赋予0,右分支赋予1,则从根到每个叶子的路径上,各分支的赋值分别构成一个二进制串,该二进制串就成为哈夫曼编码。哈夫曼树满足两条性质:性质1 哈夫曼树是前缀编码。性质2 哈夫曼树是最有前缀编码。 对于包含n个数据字符的文件,分别以它们出现的次数为权值构造哈夫曼树,则利用该树对应
2020-05-17 16:12:35
745
原创 贪心策略之相容问题
相容问题有n个活动申请使用同一个礼堂,每项活动有一个开始时间和一个截至时间。如果任何两个活动不能同时举行,问如何选择这些活动,使得能在礼堂中安排最多活动。问题建模设S={1,2,…,n}为活动的集合,si和fi分别为活动i的开始和截止时间,i=1,2,…,n定义:活动i和j相容 si>=fi或sj>=fi,i≠j求S最大的两两相容的活动子集A。算法思想核心伪代码A=...
2020-05-03 23:05:51
388
1
原创 动态规划之最大公共子序列LCS
最大公共子序列给定序列X = < X1,X2,…,Xm >Y = < Y1,Y2,…,Yj >求X和Y的最长公共子序列。算法思想动态规划法Xi = < x1,x2,…,xi >Yj = < y1,y2,…,yj >Zk = < z1,z2,…,zk >如果Zk是Xi和Yj的最长公共子序列(1)xi = yj,那么...
2020-04-26 22:53:40
495
原创 动态规划之矩阵链乘法
矩阵链乘法设 A1, A2, … , An 为 n 个矩阵的序列,其中 Ai 为 Pi-1 * Pi阶矩阵,这个矩阵链的输入用向量 P = < P0, P1, … , Pn> 给出。给定向量 P, 确定一种乘法次序,使得基本运算的总次数达到最小。算法思想动态规划法Ai…j:表示矩阵乘法的子问题;m[i,j]:表示得到乘积Ai…j所用最少基本运算次数;s[i,j]:表示得...
2020-04-19 22:43:16
455
原创 动态规划之投资问题
#投资问题一般性描述:设m元钱,n项投资,函数fi(x)表示将x元投入第i项项目所产生的效益,i=1,2,……n.问:如何分配这m元钱,使得投资的总效益最高?组合优化问题:假设分配给第i个项目的钱数是xi,问题描述为:目标函数 max{f1(x1)+f2(x2)+…+fn(xn)}约束条件 x1+x2+…+xn=m,xi∈N...
2020-04-12 01:46:10
649
原创 选择问题之特定分治策略
选择第k小元素设 L 是 n 个元素的集合,从 L 中选取第 k 小的元素,其中 1<=k<=n.这里的第 k 小元素是指,当 L 按从小到大排好序之后,排在第 k 个位置的元素。算法思想k=|S1|+1,m*就是所要找的第k小的数;以m为划分标准后,比m小的有|S1|个,如果恰巧,k=|S1|+1,则m就是所要找到第k小的数)k<=|S1|,归约为在S1中找第k1小...
2020-04-06 16:33:44
294
原创 最近对问题
仓库init要做的事初始化仓库git init首次连接远程仓库git remote add origin git@github.com:UserName/GitName.git每次push要做的事添加文件git add 文件名git add . 将修改的文件全部add提交到仓库git commit -m “message”查看仓库状态git status...
2020-03-29 22:05:38
133
原创 简单总结git常用命令
仓库init要做的事初始化仓库git init首次连接远程仓库git remote add origin git@github.com:UserName/GitName.git每次push要做的事添加文件git add 文件名git add . 将修改的文件全部add提交到仓库git commit -m “message”查看仓库状态git status...
2020-03-22 23:09:10
125
原创 二分归并排序算法分析
数组排序使用二分归并排序算法,对n个不同的数构成的数组A[1…n]进行排序,其中n=2^k算法思想二分归并排序是一种分治算法。这个算法不断地将一个数组分为两部分,分别对左子数组和右子数组排序,然后将两个数组合并为新的有序数组。算法步骤如下:(1) 分解:分解待排序的n个元素的数组成各具n/2个元素的两个子数组。(2) 解决:使用归并排序递归地排序两个子序列。(3) 合并:合并两个已排...
2020-03-22 22:46:14
7515
2
原创 有序数组查找算法之二分查找与插值查找
有序数组查找目标值在一个排好序的数组T[1…n]中查找x,如果x在T中,输出x在T的下标j;如果x不在T中,输出j=0.二分查找算法二分查找算法又称为折半查找,这个算法是我们在数据结构第一堂课中学习到的算法,思想简单易懂,代码也很容易编写。二分查找算法基本思想:1、确定排序好的数组的中间位置mid=(left+right)/2(left=0,right=n-1),将数组分为两部分。...
2020-03-13 21:56:12
181
原创 最短路径之Dijkstra算法
最短路径问题对于下图使用Dijkstra算法求由顶点a到顶点h的最短路径。算法思想Dijkstra算法是指定一个点(源点)到其余各个顶点的最短路径,也叫做单源最短路径,Dijkstra是应用贪心算法设计的。Dijkstra算法基本思想:1.将图上的起始点start看作一个集合S,其它点看作另一个集合2.根据起始点,求出其它点到其距离dist[i] (相邻则为边权值,不相邻为无...
2020-03-08 16:43:49
1194
原创 最短距离之Floyd算法
最短距离问题用Floyd算法求解下图各个顶点的最短距离。写出Floyd算法的伪代码和给出距离矩阵(顶点之间的最短距离矩阵)。 算法思想Floyd算法的核心思想是动态规划。它将多阶段过程转化为一系列单阶段问题,利用各阶段之间的关系,逐个求解。根据以往的经验,如果要找到两个顶点直接的最短路程,一般要引入第三个点(如k),即以k为中转点,路线为i->k->j,这样就可以缩短i到j...
2020-03-08 16:39:31
750
原创 最小生成树之Kruskal算法分析
最小生成树问题设G=(V,E)是无向连通带权图,即一个网络。图中每一条边(u,v)的权是c[u][v],表示联通u与v的代价。如果G的子图T是一棵包含G的所有顶点的树,则称T为G的生成树。生成树上各边权的总和称为该生成树的耗费。在G的所有生成树中,耗费最小的生成树称为G的最小生成树:算法分析用贪心算法可以设计出构造最小生成树的有效算法。Prim和Kruskal算法都是应用贪心算法设计的...
2020-02-29 09:12:28
920
原创 最小生成树之Prim算法分析
最小生成树之Prim算法分析最小生成树问题设G=(V,E)是无向连通带权图,即一个网络。图中每一条边(u,v)的权是c[u][v],表示联通u与v的代价。如果G的子图T是一棵包含G的所有顶点的树,则称T为G的生成树。生成树上各边权的总和称为该生成树的耗费。在G的所有生成树中,耗费最小的生成树称为G的最小生成树:算法分析用贪心算法可以设计出构造最小生成树的有效算法。Prim和Krus...
2020-02-29 09:11:59
1825
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人