前言 我在微软做了很多年的面试官,后面七年多作为把关面试官也面试了很多应聘者。应聘者要想做好面试,确实应把面试当作一门技巧来学习,更重要的是要提高自身的能力。我遇到很多应试者可能自身能力也不差但因为不懂得怎样回答提问,不能很好发挥。也有很多校园来的应聘者也学过数据结构和算法分析,可是到处理具体问题时 ...
分类:
其他好文 时间:
2020-03-31 22:33:32
阅读次数:
72
一.基本结构图 二.典例 1.以斐波那契递归为例: Fibonacci(int n) { if (n==1||n==0) return 1; // basis else return Fibonacci(n-1)+Fibonacci(n-2);//递归进行 } 我们找到了解决斐波那契数的方法,但是通 ...
分类:
编程语言 时间:
2020-03-31 12:08:41
阅读次数:
89
一、思维导图 二、重要概念 1.算法分析: 1.时间复杂度分析:T(n)与函数规模大小相关。 2.空间复杂度分析:与临时变量所占空间有关。 3.递归算法时间与空间复杂度:都应该写出递推式,通过求解递推式来获得时间复杂度和空间复杂度。 2.线性表: 1.顺序表:有随机存取特性,但其算法时间主要花费在删 ...
分类:
编程语言 时间:
2020-03-28 20:05:31
阅读次数:
104
一、思维导图 二、重要概念 一.数据结构 1.逻辑结构 集合、线性结构、树形结构、图形结构。 2.存储结构 常用的存储结构有顺序存储、链式存储、索引存储和哈希存储等。 3.算法分析 1)目标:正确性、可使用性、可读性、健壮性、时间效率高与储存量低 2)方法:事后估计法、事前分析估算法 3)两个角度: ...
分类:
其他好文 时间:
2020-03-28 19:49:26
阅读次数:
77
题目描述 鲁宾逊先生有一只宠物猴,名叫多多。这天,他们两个正沿着乡间小路散步,突然发现路边的告示牌上贴着一张小小的纸条:“欢迎免费品尝我种的花生!——熊字”。 鲁宾逊先生和多多都很开心,因为花生正是他们的最爱。在告示牌背后,路边真的有一块花生田,花生植株整齐地排列成矩形网格(如图1)。 有经验的多多 ...
分类:
编程语言 时间:
2020-03-27 00:59:24
阅读次数:
88
题目要求 一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。 答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。 算法分析 同样为斐波那契数列,注意初始值 补充说明:还有变种为可以跳n个台阶的,使用数 ...
分类:
其他好文 时间:
2020-03-25 01:20:41
阅读次数:
56
题目要求 在一个长度为 n 的数组 nums 里的所有数字都在 0~n 1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。 算法分析 题目很简单,但也出现在华为一面中,直接map存储,有重复的直接返回。 代码 ...
分类:
编程语言 时间:
2020-03-25 00:51:43
阅读次数:
61
开头废话 这个问题是Donald.E.Knuth在他发表的论文Mathematical Analysis of Algorithms中提到的,这里对他的算法分析过程给出了更详细的解释。 问题描述: 给定一个数组a[1,2,...,n],用尽量少的比较次数找出数组中第t大的数。(假定这n个数两两不同) ...
分类:
编程语言 时间:
2020-03-18 21:56:39
阅读次数:
80
1. 相关数学公式 球体表面积公式: S=4πr²=πD² 球体体积公式: 2.算法分析: 计算表面积和体积,均依赖球体半径。 所以需要先输入球体半径,然后根据公式计算出球体表面积和体积。 最终输出。 3.代码 #include <stdio.h> #define PI 3.1415927 //定义 ...
分类:
编程语言 时间:
2020-03-16 12:36:56
阅读次数:
1134
0、排序算法说明0.1 排序的定义对一序列对象根据某个关键字进行排序。0.2 术语说明稳定 :如果a原本在b前面,而a=b,排序之后a仍然在b的前面;不稳定 :如果a原本在b的前面,而a=b,排序之后a可能会出现在b的后面;内排序 :所有排序操作都在内存中完成;外排序 :由于数据太大,因此把数据放在 ...
分类:
编程语言 时间:
2020-03-10 15:50:06
阅读次数:
54