算法
主题:
- 渐近分析
- 最糟糕,平均和最佳情况
- 渐近符号
- 小o和小ω符号
- 下界和上界理论
- 分析循环
- 解决复发
- 平摊分析
- “空间复杂性”是什么意思?
- Pseudo-polynomial算法
- NP完整性介绍
- 多项式时间近似方案
- 时间复杂性问题
- 建立堆的时间复杂性
- 循环变量增加1、2、3、4 ..
- 循环与力量的时间复杂性
- 循环的性能(缓存问题)
- 线性搜索那二分查找那跳转搜索那插值搜索那指数搜索那三元搜索
- 选择排序那泡沫排序那插入排序那归并排序那堆积那快速排序那Radix Sort.那计数排序那桶排序那ShellSort那梳子排序那分类排序那周期排序
- 插值搜索vs二分搜索
- 排序算法中的稳定性
- 快速排序的最坏情况何时发生?
- 基于比较的排序算法的下界
- 哪种分类算法使最小数量的内存写入?
- 找到最小长度的未排序子数组,排序使整个数组排序
- 对链表进行归并排序
- 对几乎排序(或k分类)数组进行排序
- 迭代的快速排序
- Quicksort上单独的名单
- Quickssort在双重链接列表上
- 找到最接近的元素到给定值
- 在线性时排序为0到N ^ 2 - 1的范围内的数字
- 许多二进制搜索实现中的问题
- 在几乎排序的数组中搜索
- 以波形对数组进行排序
- 为什么二分搜索优于三元搜索?
- 未排序数组中第K个最小/最大的元素
- 在预期线性时间内,未排序数组中第K个最小/最大的元素
- 在最坏情况下,未排序阵列中的k'th最小/最大元素
- 从两个排序阵列中找到最接近的对
- 在三个排序阵列中查找常见元素
- 给定一个已排序的数组和一个数字x,找出数组中和最接近x的一对
- 计数1中的分类二进制数组
- 二进制插入排序
- 插入单独链接列表
- 为什么快速排序优先于数组和归并排序链表?
- 双链表的归并排序
- 最小互相旋转,以移动最大和最小的角落
最近关于搜索的文章
关于排序的最新文章
搜索测验
测试在排序
编码练习搜索
分拣编码实践
- 活动的选择问题
- Kruskal最小生成树算法
- 霍夫曼编码
- 高效的霍夫曼编码排序输入
- 普里姆最小生成树算法
- Prim的邻接列表表示的MST
- Dijkstra的最短路径算法
- 邻接表表示的Dijkstra算法
- 作业排序问题
- 贪婪算法测验
- 贪心算法求最小硬币数
- K中心问题
- 铁路/公交车站所需的最小平台数
- 重叠的子问题属性
- 最优子结构性质
- 最长上升子序列
- 最长公共子序列
- 编辑距离
- 最小成本路径
- 硬币改变
- 矩阵链乘法
- 二重传系数
- 0 - 1背包问题
- 鸡蛋掉落的拼图
- 最长的回文后赛
- 减少一个杆
- 最大总和增加子序列
- 最长双调的子序列
- Floyd Warshall算法
- parindrome分区
- 分区的问题
- 自动换行问题
- 对链的最大长度
- 变化的LIS
- 盒子堆积问题
- 斐波纳契编号
- 到达终点的最小跳跃数
- 所有1S的最大大小平方子矩阵
- 丑陋的数字
- 最大和相邻子数组
- 最长的回文基字符串
- 最短路径的Bellman-Ford算法
- 最优二叉搜索树
- 最大的独立组问题
- 子集合问题
- 2D矩阵中的最大矩形矩形
- 不连续为1的二进制字符串的个数?年代
- 布尔Parenthesization问题
- 计算达到第n楼梯的方法
- 最小代价多边形三角剖分
- 移动数字键盘问题
- 数位数的数字数量,其数字总和等于给定和
- 到达目的地的最小起始点
- n位非递减数的总数
- 找出从给定的起始字符开始的最长连续路径的长度
- 铺瓷砖问题
- 其和等于给定数字n的最小平方数
- 找到制作给定值的最小硬币数量
- 使用两次遍历收集网格中的最大点
- 最短的常见超额公顷
- 计算从1到n的所有数字的和
- 计算建筑物的可能方法
- 最多两次购买和销售份额的最大利润
- 如何使用给定的四个键打印最大A的A.
- 找到使用火车到达目的地的最低成本
- 顶点覆盖问题|集2(树的动态规划解)
- 计算在游戏中达到一个给定分数的方法的数量
- 加权工作安排
- 最长偶数长度的子串,使前半段和后半段之和相等
- 天真的模式搜索
- KMP算法
- Rabin-Karp算法
- 一个简单的模式搜索问题
- 有限自动机
- 有限自动机的有效构造
- Boyer Moore算法-坏字符启发式
- 后缀数组
- 字谜子字符串搜索(或搜索所有排列)
- 使用所有后缀的尝试进行模式搜索
- AHO-Corasick算法模式搜索
- Kasai从后缀数组构建LCP数组算法
- Z算法(线性时间模式搜索算法)
- 愿望妇女节
- 最近的一对积分|o(nlogn)实施
- 如何检查两个给定的线段是否相交?
- 如何检查给定点是否位于多边形内部或外部
- 凸包|集1 (Jarvis算法或包装)
- 凸包|集2 (Graham扫描)
- 给定N行段,找到是否有两个段相交
- 检查给定点是否位于三角形内部
- 如何检查是否给出了四个点形成一个正方形
- 写一个有效的方法来检查一个数是否为3的倍数
- 有效的方式来乘以7
- 编写一个C程序打印给定字符串的所有排列
- 幸运数字
- 写一个程序,使两个数以14为基数相加
- 平方根的巴比伦方法
- 乘以两个整数而不使用乘法,划分和位运算符,而且没有循环
- 打印可以构成给定数量的所有点组合
- 无需使用乘法(*)和除法(/)运算符就可以编写自己的运算能力
- 斐波纳契编号
- 一串数字的平均值
- 计算不包含3的数字
- MagicSquare
- 埃拉托斯特尼筛法
- 在m到n的范围内具有最大纯度因子数的数字
- 查找特定日期的一周
- 基于DFA的部门
- 以相同的概率生成1到7的整数
- 给定一个数字,找出下一个最小的回文
- 从偏见的硬币制作一个公平的硬币
- 检查是否能被7整除
- 找到3的最大倍数
- 词典秩的字符串
- 打印排序(词典)顺序的所有排列
- 播放给定的阵列
- 空间和时间有效二项式系数
- 水库采样
- 帕斯卡三角形
- 从流中选择随机数,使用O(1)空间
- 找到2,3和5的最大倍数
- 高效的程序来计算e ^ x
- 使用两个血管和无限供水量测量一升
- 打印给定数字的所有质因数的有效程序
- 在给定的大小阵列中打印R元素的所有可能组合
- 任意概率分布方式随机数发生器
- 如何检查一个给定的数字是否是斐波那契数?
- 俄罗斯农民乘法
- 计算所有可能的大小2或3组,其总和为3
- 河内塔
- 多项式求值的霍纳法
- 计数拖尾零的数量
- 第n个加泰罗尼亚号码的程序
- 根据给定的概率生成3个数字中的一个
- 从给定列号查找Excel列名称
- 使用相同的数字集查找下一个更大的数字
- 计算给定数字序列的可能解码
- 计算时针和分针之间的夹角
- 不连续为1的二进制字符串的个数?年代
- 找出与给定数n相乘的最小数
- 画一个没有浮点运算的圆
- 如何检查8个谜题的一个实例是可解决的?
- 生日悖论
- 乘以两个多项式
- 计算满足不等式x*x + y*y < n的不同的非负整数对(x, y)
- 计算达到第n楼梯的方法
- 用输入整数中的“5”替换所有'0'
- 程序将两个多项式相加
- 打印1 / n的第一k位,其中n是正整数
- 给定一个数字作为字符串,找到递归增加9的连续子句的数量
- 分离方法计划
- 虚假位置方法的程序
- 牛顿Raphson方法计划
- 找到出现一次的元素
- 检测相反的标志
- 设置从1到n的所有数字中的位
- 交换位
- 添加两个数字
- 最小的三个
- 布尔阵列拼图
- 在(大)阵列中设置位
- 下一个更高的数字,具有相同数量的设置位
- 优化技术(模量)
- 添加1到数字
- 乘以3.5
- 关闭最右边的设置位
- 检查4的力量
- 没有分支的绝对值(abs)
- 模数除以2的幂数
- 两个整数的最小或最多
- 旋转位
- 在数组中找到两个非重复元素
- 号码发生奇数
- 检查整数溢出
- 小端和大端
- 一个数的反转位
- 计算整数中的设置位
- 将A转换成B所要翻转的位数
- 下一个功率2
- 检查一个数是否为3的倍数
- 找到奇偶校验
- 乘以7
- 求一个“不”是否等于2的幂
- 最右边设置位的位置
- 给定数量的二进制表示
- 交换所有奇数位和偶数位
- 找到唯一设置位的位置
- 快速乘法的Karatsuba算法
- 如何在不使用临时变量的情况下交换两个数字?
- 使用按位运算符检查9号码是否为9的倍数
- 在一个字节中交换两个小啃
- 如何关闭数字中的特定位?
- 检查数字的二进制表示是否是palindrome
介绍,DFS和BFS:
- 图表及其表示
- 宽度的第一个遍历图形
- 深度首先遍历图形
- 深度优先搜索的应用
- 检测定向图中的周期
- 检测一个无向图的图形
- 在无向图中检测周期
- 在一条定向的非循环图中的最长路径
- 拓扑排序
- 检查一个给定的图是否是二部图
- 蛇和梯子问题
- 均匀的组件
- 检查一个给定的图是否是树状的
最小生成树:
最短路径:
- Dijkstra最短路径算法
- 邻接表表示的Dijkstra算法
- Bellman-Ford算法
- Floyd Warshall算法
- 约翰逊的全对最短路径的算法
- 有向无环图中的最短路径
- 一些有趣的最短路径问题
- 在定向和加权图形中的k边的最短路径
连接:
- 查找有向图中两个顶点之间是否有路径
- 有向图中的连通性
- 铰接点(或剪切顶点)在图中
- 双联接图形
- 图中的桥
- 欧拉道路和电路
- 弗勒里打印欧拉路径或电路的算法
- 强连接的组件
- 图表的传递关闭
- 找到岛屿的数量
- 计算所有可能从源散到目的地,恰好k边缘
- 有向图中的欧拉电路
- 均匀的组件
- 寻找强连接分量的Tarjan算法
困难的问题:
最大流量:
MISC:
- 看看这些绳子能不能用链条串成一个圆圈
- 给定一个已排序的外来语言字典,找出字符的顺序
- 最小割值的卡格算法
- Karger的最小剪切算法|设置2(分析和应用程序)
- 最大匹配|集1的Hopcroft-Karp算法(介绍)
- HOPCROFT-KARP算法,用于最大匹配|设置2(实施)
- 达到目标字的最短链的长度
- 在联系人列表中查找相同的联系人
所有算法在图上
测试在图
图遍历测验
图最短路径测验
在图中测验最小生成树
编码图表
- 期望的线性
- 预期的试验次数直到成功
- 随机算法|设置0(数学背景)
- 随机算法|设置1(介绍和分析)
- 随机算法|设置2(分类和应用程序)
- 随机化算法|集3(1/2近似中位数)
- 最小割值的卡格算法
- 未排序阵列中的k'th最小/最大元素|设置2(预期的线性时间)
- 水库采样
- 播放给定的阵列
- 从单链接列表中选择一个随机节点
- 常见问题算法面试问题|集1
- 给定一个O和X的矩阵,求被X包围的最大子方阵
- 坚果&螺栓问题(锁和关键问题)
- 洪水填充算法 - 如何在油漆中实现填充()?
- 给定n约会,查找所有冲突的约会
- 检查一个给定的句子是否有一组简单的语法规则
- 找到0索引要替换为1以在二进制数组中获得最长的连续序列1S
- 如何检查两个给定的集是否脱节?
- 铁路/公交车站所需的最小平台数
- 具有连续元素的最大子数组|的长度
- 具有连续元素的最大子数组的长度|集合2
- 从第一个N自然数打印所有增加的长度序列
- 给定两个字符串,找到第一个字符串是否是第二个字符串
- 蛇和梯子问题
- 写一个返回输入1的函数,返回1个返回2
- 用最低成本连接n绳索
- 查找给定长度的有效括号的数量
- 最长单调递增的子序列大小(N log N):简单实现
- 生成所有二进制排列,使所有排列中每个点上的1多于0
- 词典标记最小弦旋转
- 用它的对和数组构造一个数组
- 评估简单表达式的程序
- 检查给定字符串的字符是否可以重新排列以形成parindrome
- 在给定的字符串数组中打印所有的字母
请参阅数据结构和高级数据结构对于图形,二叉树,BST和链接基于列出的算法。
我们将很快添加更多类别和帖子。