一篇文章说清楚算法题的本质

2023-09-19  本文已影响0人  编程布道师

算法题难点

题目要求转变为解决方案(解题思路,解题步骤)。

将解题思路和解题步骤转化为程序语言实现,并保证精确性。

刷题技巧

        算法题给出的要求有很多种可能性空间,有很多种可能的情况,我们求解的过程就是不断缩小可能性空间,通过关联性的计算来得出符合条件的收敛后的结果。题目的约束条件就是对可能性空间的收敛和约束。我们的任务就是通过程序复现这种收敛的条件,复现的方式有很多,借助于数学计算,数据结构或者特殊算法,特殊技巧等。

1.大数据算法题基本思路总结:通过hash进行分治,缩小内存占用,然后将计算结果合并。

2.算法演算技巧:缩小规模,演算出核心的计算和逻辑模型,然后if判断处理所有的特殊和边界情况,就能解决大多数问题。

3.了解所用的编程语言有哪些封装好的处理函数,能够事半功倍并且产生很好的效果。

算法题归类

通过解题流程中涉及到的实现元素归类

基本数据结构

高级数据结构

简单算法

基本算法

高级算法

归类技巧解释

1.一般的处理技巧比较多而杂,而且并没有标签去总结,只能平时多多积累,明白一些处理技巧能够解决什么样的问题,而且一般处理技巧也是最为常用的,在大多数题解中都能见到的,可以归为简单算法,但是需要多总结,多积累;

2.数学关系计算也是需要积累的,对于一些特定的题目能够直接计算得到结果;

3.基本数据结构,高级数据结构,基本算法和高级算法是对一些常用的,特征明显的解决方案进行了封装得来的,也需要多多联系,多多积累,达到活学活用的地步。

基本数据机构:

字符串,结构体对象,链表,数组,二维数组,栈,队列,树,图等

高级数据结构:

字典树等

简单算法:

循环找边界值,除余法分值等

基本算法:

排序,查找,  数学关系计算,位运算,回溯,二分法,模拟等

高级算法:

有限状态机,lru等

对单独类型的学习

对于一类算法面试题的学习,除了要从整体上进行识别之外,还需要针对细节实现部分进行技巧的积累和准确性的打磨。

上一篇 下一篇

猜你喜欢

热点阅读