随笔分类 - 算法系列
摘要:1 两个有序数组中,比较次数最多为2N,时间复杂度为O(n),因为有序,所以不用重新从头比较2 建立hashTable,将一个数组hash放入到hashTable中,然后,遍历另一个数组,看是否在HashTable中。
阅读全文
摘要:动态规划的问题都可以用表格的形式求最优解01背包问题:这是最基础的背包问题,特点是:每种物品仅有一件,可以选择放或不放。用子问题定义状态:即c[i][v]表示前i件物品恰放入一个重量为m的背包可以获得的最大价值。则其状态转移方程便是:c[i][m]=max{c[i-1][m],c[i-1][m-w[i]]+p[i]}这个方程非常重要,基本上所有跟背包相关的问题的方程都是由它衍生出来的。所以有必要将它详细解释一下:“将前i件物品放入重量为m的背包中”这个子问题,若只考虑第i件物品的策略(放或不放),那么就可以转化为一个只牵扯前i-1件物品的问题。如果不放第i件物品,那么问题就转化为“前i-1件物
阅读全文
摘要:贪心算法,不一定是最优解,但是效率快,每次总是得到最优的解,未必是全局最优解
阅读全文
摘要:1朴素算法:逐个比较2 主要是解决多余比较的麻烦,通过处理比较字符串是否含有重复的字符的问题。
阅读全文
摘要:1 先求出原点离中间之间的最短路径,然后,基于已经求出的最短路径,进一步求出它们之间的最短路径。
阅读全文
摘要:构造连通图的最小代价生成树称为最小生成树。实际应用:n个村庄,架设通信网络,连通成本最小的方案。局部最优即全局最优
阅读全文
摘要:1 有序查找算法类:二分查找 log2N,有序基础上;插值插值;斐波那契数列查找2 无序查找算法类:(1)hash 时间复杂度常数 hash表的基础上,散列方法:除留余数法;解决冲突:开放地址法,(2) 索引查找:线性索引 索引是线性结构:稠密索引,分块索引(类似图书馆书分布),倒排索引,根据内容找记录:此关键码,记录号表 树形索引 多级索引3 有序查找,且插入删除效率高二叉排序树(二叉查找树):中序得到一个有序的序列(1)优化平衡二叉树:二叉排序树,有时树的高度太大,构建平衡,方便查找效率提高。多路查找树:每个结点孩子数可以多于两个,且每一个结点处可以存储多个元素。由于它是查找树,元素之间存
阅读全文
摘要:1 冒泡排序,插入排序,简单选择排序2 堆排序,归并排序,快速排序堆排序基本思想:一次排序得到最值,且使其他基本有序归并排序基本思想:一次排序,使得局部有序快速排序基本思想:一次排序,得到某值的座位,其他两边基本有序
阅读全文
浙公网安备 33010602011771号