基础篇8-算法

    技术2026-04-13  6

    1.常用算法思路 转载常用算法设计思路 分治:问题分成两个或更多的相同或相似的子问题,直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。

    动态规划:其基本思想也是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解,与分治不同,它保存已解决的子问题的答案,避免大量重复计算。

    贪心算法从:问题的某一个初始解出发一步一步地进行,根据某个优化测度,每一步都要确保能获得局部最优解。

    回溯法:是暴力搜寻法中的一种。回溯法是一种选优搜索法,按选优条件向前搜索,以达到目标。采用试错的思想,它尝试分步的去解决一个问题。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择。

    分支限界法:对有约束条件的最优化问题的所有可行解(数目有限)空间进行搜索。该算法在具体执行时,把全部可行的解空间不断分割为越来越小的子集(称为分支),并为每个子集内的解的值计算一个下界或上界(称为定界)。

    2.复杂度 转载时间复杂度和空间复杂度 时间复杂度:程序中算法执行次数

    空间复杂度:程序运行过程中占用的内存

    3.排序 转载十大经典排序算法 冒泡排序:一换一

    选择排序:选最小

    插入排序:一个个排好

    希尔排序:选择一个增量进行交换排序,改变增量。

    归并排序:二二四二二四八,二二四二二四八,十六排序。

    快速排序:选一个数为基准,小左大右

    堆排序:遵守父大于子节点,排成二叉树,最后一位与第一位交换。

    基数排序:从个位排大小,到十位…

    4.字符串匹配 转载字符串匹配算法综述 转载Tire树 BF算法:暴力解法,一个个字符对比

    RK算法:将比较字串设值,对被比较字串按对应字串长度设值,比较。

    kmp算法:找与第一个字符匹配,按部分匹配表移动

    BM算法:直接比较最后一个字符,比较字串中字符与被比较字串中有对应则平移对应比较,无则比较下一个等长字串。

    Sunday算法:比较第一个字符,不对则再看下一个等长字符串中字符有无在比较子串中出现,有则移动比较,无则看下一个等长字符串。

    5.查找 转载查找算法-二分查找 二分查找:每次从中间元素开始查找

    转载搜索算法-二叉搜索树 二叉排序树:左小右大,查找时从根节点开始比较

    转载经典搜索算法之B树 B树每次查找走一条从根节点到叶子节点的路径 B+树遍历叶子节点实现

    转载搜索算法-哈希表 实现哈希表: 拉链法:查找通过对设置的一个值模运算,再在该余数值中寻找元素 线性探测法:查找通过模运算,再从余数的位置开始向后查找

    转载算法Bloom-Filter Bloom-Filter:通过计算多个哈希值查找对应位置是否都为1,判断是否存在

    Processed: 0.010, SQL: 9