面试笔试中算法设计题有什么回答技巧
1、归纳法按照题意先列出前几项或者举一些特定的例子,从而分析总结其中的一般规律。(找规律)
2、相似法平时多刷点leetcode,剑指offer,可以按照标签刷题,发现某种类型的题目的特征和相似性。
3、简化法遇到复杂的算法题,可以先把它简化,例如改变一下数据类型或空间大小,先尝试解决简化后的问题,再根据这个思路套用到复杂的问题中。
4、递归法很多问题可以逐层分解,最后归纳为一些最简单的问题。首先解决最基本的情况,然后以此为基础解决接下来的问题。(如求全排列问题)
5、分治法问题的规模越小,越容易直接求解。分治法就是将一个难以解决的大问题分割成一些规模较小的相关问题。分治法一般包括三个步骤:(1)分割问题(分割的小问题最好有相等规模)(2)对这些小问题求解(常用递归)(3)合并这些小问题,得到原始问题的解
6、Hash法很多面试题要求算法尽可能高效(即时间复杂俣觊鄄幼度小)。要想时间复杂度低,比较简单的方法是牺牲空间,用空间换取时间。而用空间换时间的最有效的方法是Hash法。对于涉及大规模剞麽苍足数据处理的算法设计题,Hash法是较好的方法。(若对空间也有要求就别用这个了…另想办法)
7、轮询法实在不知道用什么方法解决,就一个个排除所有可能,常考的数据结构和算法就那么多,总能找到适左佯抵盗合解题的方法。最常考的数据结构和算法:(1)数据结构:链表、数组、二叉树、树、堆(大顶堆,小顶堆)、栈、队列、向量、Hash表(2)算法:DFS和BFS、递归、二分查找、排序(归并、快排等)、树的插入/删除/查找/遍历、图论、Hash法、分治法、动态规划 (3)概念:位操作、设计模式、内存管理(堆、栈)
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:74
阅读量:74
阅读量:72
阅读量:81
阅读量:45