2020-03-02 16:48:43 来源:范文大全收藏下载本文
进去自我介绍。面试官问我为啥要报考那所本科学校。
然后是具体的题目。
1、非递归中序遍历二叉树(纸上写代码,后面的都不要求写出来)。 代码:
void InOrderBTreeNonRecurive(BTree T){
}} if (!S.isEmpty()) {} p = S.top; cout data; S.pop(); S.push(p->rchild); stack S; S.push(T); while(!S.isEmpty()){BTree p; while(p = S.top())S.push(p->lchild); S.pop();//空指针退栈
2、shell排序
3、基数排序
问了基数排序一堆整数时从低位到高位和从高位到低位有什么区别没有。
4、找出一堆数中出现次数大于总数一半的数
水王问题,但是面试官会让你想不同的方法。
方法一:
遍历一次,每次去掉两个不同的数。最后剩下的肯定是出现次数超过一半的那个数。
方法二:
分别统计个位、十位、百位等上面0~9每个数中出现次数最大的,组合成一个数便是出现次数超过一半的那个数。
5、算法题:给出一天内的很多条QQ号的登入及登出记录,每条包括时间、QQ号、标记是登入还是登出的标记符。要求求出一天中最大在线人数
也是遍历一遍就可以了,时间复杂度是O(n)。
设置一个count变量,记录同时在线的最大人数。遍历记录,每遇到一个登入记录便加一,遇到一个登出记录减一。整个过程中count变量的最大值便是一天中最大的在线人数。
后来还让我介绍自己的一个缺点,还要举例说明。
走之前问我有什么问题没,我问了下做游戏后台开发那些方面需要加强,面试官能否给点建议。面试官说可以参加一些开源项目,注重算法。Over。
人人范文网 m.inrrp.com.cn 手机版