FMM和BMM的python代码实现 1. FMM和BMM的编程实现,其实两个算法思路都挺简单,一个是从前取最大词长度的小分句,查找字典是否有该词,若无则分句去掉最后面一个字,再次查找,直至分句变成单词或者在字典中找到,并将其去除,然后重复上述步骤。BMM则是从后取分句,字典中不存在则分句最前去掉一 ...
分类:
编程语言 时间:
2019-05-30 22:15:51
阅读次数:
192
Hash表(HashTable)又称散列表,通过把key映射到数组中一个位置,可以加快数据访问速度,这个映射函数就是Hash函数,存放数据的数组就是哈希表。哈希算法如果不同的key哈希之后就结果是一样的,就是导致hash冲突,hash冲突的几率也是评判哈希算法质量的关键指标。经典Hash算法Times33/***经典hash算法Times33*算法思路:不断*33,效率和分布性都非常好*用于:Ap
分类:
其他好文 时间:
2019-05-30 14:43:30
阅读次数:
106
基本思想归并排序利用分治法思想,先将一个序列分成一个个子序列,然后对子序列进行排序,再把有序子序列合并为整体有序序列。 两路归并排序算法思路:①把 n 个记录看成 n 个长度为1的有序子表;②进行两两归并使记录关键字有序,得到 n/2 个长度为 2 的有序子表; ③重复第②步直到所有记录归并成一个长 ...
分类:
编程语言 时间:
2019-05-22 19:28:58
阅读次数:
161
最近项目中有用到本月所有的周六,周日,特此分享一下! 算法思路:写一个循环,条件为本月开始日期、本月截至日期,通过循环获取第一个周六,加一天就是周日,每增加六天就是下一个周六,依次类推,循环到月末 代码如下: + View Code? //计算本月有哪些天是周六,周日 //本月开始日期 var st ...
分类:
其他好文 时间:
2019-05-13 14:09:16
阅读次数:
133
二分模板一共有两个,分别适用于不同情况。算法思路:假设目标值在闭区间[l, r]中, 每次将区间长度缩小一半,当l = r时,我们就找到了目标值。 版本1 在单调递增序列a中查找>=x的数中最小的一个(即x或x的后继) 当我们将区间[l, r]划分成[l, mid]和[mid + 1, r]时,其更 ...
分类:
其他好文 时间:
2019-05-01 11:59:22
阅读次数:
136
前言 这篇文章主要是关于移动端原笔迹的开发,让平板上的手写效果达到笔迹光滑且有笔锋。 介绍关于原笔迹的算法思路。 项目github地址 算法思路分析 曲线拟合算法 利用曲线拟合算法增加虚拟的点,使得笔迹更加光滑,关于算法思想本文采用的是B样条插值算法。 采集点:获取笔输出的两个关键点a1、a2,以及 ...
分类:
移动开发 时间:
2019-04-23 12:21:49
阅读次数:
216
1.从顺序表中删除重复的元素,并使剩余元素间的相对次序保存不变。 1.1 代码1 1.2 不懂得地方 53行到64行 算法思路有点混乱,思路不是特别清晰 分析:第i个i元素与前面j已确定无重复得j个元素进行比较,相同则不是算入无重复序列 2.一个带有表头节点的单链表,查找链表中倒数第m个位置上的节点 ...
分类:
其他好文 时间:
2019-03-25 23:11:22
阅读次数:
222
二叉树的镜像 一、问题描述 操作给定的二叉树,将其变换为源二叉树的镜像。 二、算法思路 这道题可以用递归的思想,将问题分解成同质的子问题,可以看到,根节点的子树需要先完成镜像翻转,然后再将根节点的两个孩子进行调换。 1. 判断根节点是否是空,如果根节点为空,那么它也就没有孩子了,没有孩子就不必进行镜 ...
分类:
其他好文 时间:
2019-02-24 10:25:06
阅读次数:
150
引言 数据库应用中常需要在一个有序数据子集中,对指定的若干条记录进行上下移动。例如,管理员需要对新闻列表中的若干条新闻置顶,考试出卷时需要对选定题目进行上下移动重排顺序,等等。 总的应该场景在数据表中可以概括为如下模型: 数据表 TblData(id,fid,rank),id表示记录的唯一标识,fi ...
分类:
编程语言 时间:
2019-02-23 13:30:19
阅读次数:
518
题目: 最短路:给定两个顶点,在以这两个点为起点和终点的路径中,边的权值和最小的路径。考虑权值为点之间的距离。 单源最短路问题,Bellman-ford算法 思路:每次循环检查所有边,可优化。 应用于旅游等路径最小问题。 代码: 对于上一个代码。可以先把边集提取出来,这样不用每次扫描二维数组。 Ed ...
分类:
编程语言 时间:
2019-02-22 00:51:23
阅读次数:
204