Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
前缀和与差分(分析与模板)
前缀和 处理数组公式 s i s i 1 num i 输出区间和公式 s r s l 1 模板 include
基础算法
算法
c语言
开发语言
KMP算法是怎么被设计出来的
定义 我们假设要在主串中寻找子串出现的所有位置 我们记主串中的开始位置为匹配位置 如在 abc 中匹配 bc 则匹配位置为 2 暴力 我们把匹配过程拆解为 枚举匹配位置 验证主串从匹配位置开始是否一一匹配子串 以此 有显然的 O n m
基础算法
字符串
算法
acm竞赛
CRC-模2除法
在循环冗余校验码 CRC 的计算中有应用到模2除法 模2除法的特点就是 每一位除的结果不影响其它位 即不向上一位借位 模2除法原则 1 被除数的首位为1 商为1 2 被除数的首位为0 商为0 3 模2除法等同于按位异或 要保证每次除完首位都
基础算法
CRC模2除法
程序员面试题精选100题(30)-赋值运算符重载函数[C/C++/C#]
程序员面试题精选100题 30 赋值运算符重载函数 C C C 问题 给出如下CMyString的声明 要求为该类型添加赋值运算符函数 class CMyString public CMyString char pData NULL CMy
C vs C
基础算法
归并排序(分析与模板)
归并排序 思路 1 确定分界元素mid left right 2 2 递归分解数组 两两组合组成两个有序数组 3 归并 合二为一 int temp 100010 merge sort int num int l int r if l gt
基础算法
算法
排序算法
数据结构
二分查找及二分答案
一 二分思想 二分是一种常用且非常精妙的算法 常常是我们解答问题的突破口 二分的基本用途是在单调序列或单调函数中做查找操作 因此当问题的答案具有单调性时 就可以通过二分把求解转化为判定 根据复杂度理论 可知判定的难度小于求解 这使得二分的应
基础算法
算法
二分法
c
【滑动窗口】算法实战
文章目录 一 算法原理 二 算法实战 1 leetcode209 长度最小的子数组 2 leetcode3 无重复字符的最长子串 3 leetcode1004 最大连续1的个数 4 leetcode1685 将x减到0的最小操作数 5 le
基础算法
算法
c
LU分解,LDLT分解,Cholesky分解
LU分解 如果方阵是非奇异的 即的行列式不为0 LU分解总是存在的 A LU 将系数矩阵A转变成等价的两个矩阵L和U的乘积 其中L和U分别是下三角和上三角矩阵 而且要求L的对角元素都是1 形式如下 本质上 LU分解是高斯消元的一种表达方式
基础算法
快速排序之“采取“尾递归”和“三数取中”技术的快速排序”
快速排序之 采取 尾递归 和 三数取中 技术的快速排序 下面针对快速排序进行一些优化 QUICKSORT算法包含两个对其自身的递归调用 即调用PARTITION后 左边的子数组和右边的子数组分别被递归排序 QUICKSORT中的第二次递归调
基础算法
Buffer
优化
编译器
null
贪心算法——排队打水问题
6 3 排队打水问题 有n个人排队到r个水龙头去打水 他们装满水桶的时间为t1 t2 tn为正整数且个不相等 应如何安排他们打水顺序才能使他们花费的时间最少 算法分析 时间总和 等待时间 装水时间 采用贪心思想 先sort 默认将装水时间从
基础算法
深度优先搜索——搜索与回溯,从n个数中取出r个数的排列
5 2 1 include
基础算法
程序员必须知道的10大基础实用算法及其讲解
http www cricode com 2001 html
基础算法
中文分词之HMM模型详解
关于HMM模型的介绍 网上的资料已经烂大街 但是大部分都是在背书背公式 本文在此针对HMM模型在中文分词中的应用 讲讲实现原理 尽可能的撇开公式 撇开推导 结合实际开源代码作为例子 争取做到雅俗共赏 童叟无欺 没有公式 就没有伤害 模型介绍
基础算法
opencv CvSolve函数深度解析
Opencv CvSolve函数主要是用来求解线性系统Ax b的方程 X的解 solve函数跟它的算法是一样的 也是用来求解线性系统 设方程Ax b 根据有效的方程个数和未知数的个数 可以分为以下3种情况 1 rank A lt n 也就是
基础算法
c++二分查找—来自编程珠玑
c 二分查找 来自编程珠玑 二分查找法 Binary search algorithm 是一个很常见的算法 从 编程珠玑 里再次看到时又有新的收获 直接看代码吧 下面是常见的实现代码 int binary search int a int
基础算法
编程
c
Search
Algorithm
程序员面试题精选100题(01)-把二元查找树转变成排序的双向链表
程序员面试题精选100题 01 把二元查找树转变成排序的双向链表 参见博客 http zhedahht blog 163 com blog static 254111742007127104759245 http www cnblogs c
基础算法
基础算--简单枚举
简单枚举 顾名思义 枚举便是依次列举出所有可能产生的结果 根据题中的条件对所得的结果进行逐一的判断 过滤掉那些不符合要求的 保留那些符合要求的 也可以称之为暴力算法 枚举结构 循环 判断语句 应用场合 在竞赛中 并不是所有问题都可以使用枚举
基础算法
大数据
算法
Java算法基础:使用递归算法实现,平方相加1^2 + 2^2 + 3^2 +...+ n^2。
package algorithm recursion public class RecursionTest public static void main String args int m 5 int sumOfSquares sumO
基础算法
程序员面试题精选100题(48)-二叉树两结点的最低共同父结点
程序员面试题精选100题 48 二叉树两结点的最低共同父结点 题目 二叉树的结点定义如下 struct TreeNode int m nvalue TreeNode m pLeft TreeNode m pRight 输入二叉树中的两个结点
基础算法
枚举子集复杂度 O(n^3) 证明
困扰多年的问题 居然在学习离散数学后的一分钟内得到解决 形式化问题为 求满足 A B S A sube B sube S A B S 的有序对
基础算法
动态规划
算法
时间复杂度
1
2
3
»