算法题难点
将题目要求转变为解决方案(解题思路,解题步骤)。
将解题思路和解题步骤转化为程序语言实现,并保证精确性。
刷题技巧
算法题给出的要求有很多种可能性空间,有很多种可能的情况,我们求解的过程就是不断缩小可能性空间,通过关联性的计算来得出符合条件的收敛后的结果。题目的约束条件就是对可能性空间的收敛和约束。我们的任务就是通过程序复现这种收敛的条件,复现的方式有很多,借助于数学计算,数据结构或者特殊算法,特殊技巧等。
1.大数据算法题基本思路总结:通过hash进行分治,缩小内存占用,然后将计算结果合并。
2.算法演算技巧:缩小规模,演算出核心的计算和逻辑模型,然后if判断处理所有的特殊和边界情况,就能解决大多数问题。
3.了解所用的编程语言有哪些封装好的处理函数,能够事半功倍并且产生很好的效果。
算法题归类
通过解题流程中涉及到的实现元素归类
基本数据结构
高级数据结构
简单算法
基本算法
高级算法
归类技巧解释
1.一般的处理技巧比较多而杂,而且并没有标签去总结,只能平时多多积累,明白一些处理技巧能够解决什么样的问题,而且一般处理技巧也是最为常用的,在大多数题解中都能见到的,可以归为简单算法,但是需要多总结,多积累;
2.数学关系计算也是需要积累的,对于一些特定的题目能够直接计算得到结果;
3.基本数据结构,高级数据结构,基本算法和高级算法是对一些常用的,特征明显的解决方案进行了封装得来的,也需要多多联系,多多积累,达到活学活用的地步。
基本数据机构:
字符串,结构体对象,链表,数组,二维数组,栈,队列,树,图等
高级数据结构:
字典树等
简单算法:
循环找边界值,除余法分值等
基本算法:
排序,查找, 数学关系计算,位运算,回溯,二分法,模拟等
高级算法:
有限状态机,lru等
对单独类型的学习
对于一类算法面试题的学习,除了要从整体上进行识别之外,还需要针对细节实现部分进行技巧的积累和准确性的打磨。
网友评论