随笔分类 - 算法
摘要:题目描述 西昂是一名运油商。他通过管道网将炼油厂的有运输到主存储装置。管道呈网形,其中基础炼油厂是根,主存储装置是这棵树的叶子。管道通过内部连接站连接到各个存储装置,管道可以具有不同的传输速率[单位时间内的油升数]。他需要找出在任何给定时间内课通过管道网络传输的最大油量。 输入 函数/方法的输入包括
阅读全文
摘要:贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。 贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择,选择的贪心策略必须具备无后效性,即某个状态以前的过程不会影响以后的状态,只与当前状态
阅读全文
摘要:原博地址:https://blog.csdn.net/ls291187101/article/details/51891974(字符串匹配算法综述:BF、RK、KMP、BM、Sunday)。写的很好,特意粘贴过来,转载。非常感谢原作者创作。 字符串匹配算法,是在实际工程中经常遇到的问题,也是各大公司
阅读全文
摘要:题目描述: 求字符串中出现次数最多的子串的出现次数。 例如字符串abcbcbcabc,出现次数最多的子串是bc,出现次数为4 思路:利用后缀数组: abcbcbcabc 第0个 bcbcbcabc 第1个 cbcbcabc 第2个 bcbcabc 第3个 cbcabc 第4个 bcabc 第5个 c
阅读全文
摘要:算式转移 题目描述 给出一个仅包含加减乘除四种运算的算式(不含括号),如1+2 3/4,在保持运算符顺序不变的情况下,你可以进行若干次如下操作: 如果交换相邻的两个数,表达式值不变,那么你就可以交换这两个数。 现在你可以进行任意次操作,使得算式的数字序列字典序最小,然后输出结果,数字之间的字典序定义
阅读全文
摘要:多重背包问题 前面的01背包问题中,每种商品(物品)只有一件,而当遇到每种物品超过一件的情况叫做多重背包问题。 下面请看这道编程题: 有 N 种物品和一个容量是 V 的背包。 第 i 种物品最多有 si 件,每件体积是 vi,价值是 wi。 求解将哪些物品装入背包,可使物品体积总和不超过背包容量,且
阅读全文
摘要:5.快速排序 快速排序(Quicksort)是对冒泡排序的一种改进。 快速排序由C. A. R. Hoare在1960年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可
阅读全文
摘要:4.插入排序 插入排序(Insertion sort)是一种简单直观且稳定的排序算法。如果有一个已经有序的数据序列,要求在这个已经排好的数据序列中插入一个数,但要求插入后此数据序列仍然有序,这个时候就要用到一种新的排序方法——插入排序法,插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,
阅读全文
摘要:3.选择排序 选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。以此类推,直到全部待排序的数据元素的个数为零。选择
阅读全文
摘要:现在的IT行业并不像以前那么好混了,从业人员过多,导致初级程序员过剩,这也间接导致了公司的招聘门槛越来越高,要求程序员掌握的知识也越来越多。 算法也是一个争论了很久的话题,程序员到底该不该掌握算法?不同的人有不同的答案,而事实上,很多公司都对算法有一定的要求,有些公司直接在面试的时候便会要求面试者手
阅读全文

浙公网安备 33010602011771号