还剩7页未读,继续阅读
文本内容:
算法经典问题学习算法,掌握解决问题的思路解决经典问题,提高编程能力背景知识从算法基础及数据结构入手,了解常见问题解决思路算法基础时间复杂度、空间复杂度、排序算法等基本概念数据结构数组、链表、栈、队列、树、图等基本数据结构常见问题思路贪心、动态规划、回溯等常见算法思路字符串问题常见字符串问题及其解决方法翻转字符串1反转字符串中的单词顺序,比如从Ilove LeetCode.反转成LeetCode.判断回文字符串2love I判断一个字符串是否为回文,比如level就是回文字符串最长公共子串3找到两个字符串中最长共同子串的长度和内容(如果有一样长的话)数组问题常见数组问题及其解决方法查找第大的元素查找缺失的数字数组中重复的数字K在数组中找到第大的元素,给定一组连续数字,其中有一在长度为的数组中找到重复K n比如找到第三大的元素个数字缺失了,如何找到这个的数字,数组中数字范围是缺失的数字0~n-1树结构问题常见树结构问题及其解决方法二叉树遍历判断平衡二叉树12深度优先遍历和广度优先遍历二叉树判断一棵二叉树是否为平衡二叉树二叉树的最大深度3求一棵二叉树的最大深度图论问题常见图论问题及其解决方法最短路径1求解两点之间最短路径,如Dijkstra算法最小生成树2找到无向图的一棵生成树,使得生成树的所有边权值之和最小拓扑排序3给定一个DAG(有向无环图),将所有顶点排序算法优化技巧掌握算法优化技巧,让自己写出更优秀的算法时间复杂度分析空间复杂度分析分治法了解如何计算算法的时间学会如何计算算法的空间学会使用分治法解决问题,复杂度复杂度比如归并排序动态规划贪心算法掌握动态规划思想和常用技巧,如背包问题熟悉贪心算法思想和特点,如活动选择问题算法实践案例通过实践来深入学习算法上的算法题面试官常考的算法题实际业务场景中的算法LeetCode问题刷上的算法题,加深入了解常见的算法面试问题,LeetCode深对算法的理解加强自己的算法水平学会运用算法解决实际业务问题总结与建议算法学习不是短时间内能完成的任务,需保持良好的心态和方法态度方法注意点学习算法需要耐心和积极的有一套合理的学习方法,如如动态规划容易超时要使用态度动手实践优化技巧。