微软面试算法题:
1、链表和数组的区别在哪里?
(我只知道数组一般是定长的,而链表可以不定长度。数组是连续存放的表项,而链表的相邻结点不一定连续存放。
其他的请高手们多补充。)
2、编写实现链表排序的一种算法。说明为什么你会选择用这样的方法?
3、编写实现数组排序的一种算法。说明为什么你会选择用这样的方法?
4、请编写能直接实现strstr()函数功能的代码。
5、编写反转字符串的程序,要求优化速度、优化空间。
6、在链表里如何发现循环链接?
7、给出洗牌的一个算法,并将洗好的牌存储在一个整形数组里。
8、写一个函数,检查字符是否是整数,如果是,返回其整数值。
9、给出一个函数来输出一个字符串的所有排列。
10、请编写实现malloc()内存分配函数功能一样的代码。
11、给出一个函数来复制两个字符串A和B。字符串A的后几个字节和字符串B的前几个字节重叠。
12、怎样从顶部开始逐层打印二叉树结点数据?请编程。