您的位置:首页 > 职场人生

数组、字符串、链表、树面试题汇总

2013-06-26 20:57 399 查看
数组

1. 如何用递归实现数组求和

2. 如何用一个for打印出一个二维数组

A[count/col][count%col]

3. 在顺序表中插入和删除一个节点平均移动多少个节点

插入:(0+n)/2

删除:(0+n-1)/2

4. 如何用递归算法判断一个数组是否是递增?

Bool up(int a[],int beg,int end)

{

If(beg >end)

Returnfalse;

If(beg ==end)

Returntrue;

Return a[beg]<a[beg+1]&& up(a,beg+1,end);

}

Or

Bool up(int a[],int len)

{

If(len <1)

Returnfalse;

If(len == 1)

Returntrue;

Return a[len-1]>a[len-2]&& up(a,n-1);

}

5. 递归和非递归实现二分查找

6. 如何在排序数组中,找出给定数字出现的次数

二分查找基础上修改。当a[mid]==K时,right=mid-1,继续向左查找,直到最左;

同理向右查找,知道最右。两者相减+1得到次数,O(logn)

7. 如何计算两个有序整形数组的交集。

长度相当:类似于归并,两个指针。

长度悬殊:短的在长的中折半查找

8. 如何找出数组中重复次数最多的数

有序:O(n)遍历即可

无序:空间换时间,hash_map,遍历次数找最大。

9. 如何在O(n)时间内找出数组中出现次数超过了一半的数。

1, Hash

2, Counter=1;num=a[0]。下一个数==num,counter++,否则counter--,counter==0时,num=next数

10. 如何找出数组中唯一的重复元素

异或

位图法:需知道数的范围,确定空间大小

11. 如何判断一个数组中的数值是否连续相邻

12. 如何找出数组中出现奇数次的元素

异或

扩展:两个奇数次,三个奇数次的数如何求?

13. 如何找出数列中符合条件的数对的个数

14. 如何寻找出数列中缺失的数

For sum求和-(1+n)n/2

15. 如何判定数组是否存在重复元素

1. 排序

2. 位图

16. 如何重新排列数组使数组左边为奇数,右边为偶数

同计算有序数组中求两节点使和为N,前后指针

17. 如何把一个整形数组中重复的数字去掉

排序;然后两个指针,一个toreplace,一个遍历cursor,初始都为0,当cursor不等于前一个,将cursor写入toplace,两个指针都+1;否则为重复的,只cursor++

18. 如何找出一个数组中第二大的数

最大、二大两个变量,便利一遍即可。是topK问题维护k个数数组的特殊情况。

19. 如何寻找数组中最大和最小值

1, 一般2n次比较

2, 两两组合比较,最大和max比较,最小和min比较,将为1.5N比较

20. 如何将数组后面M个数移动为前面M个数

左旋、右旋问题,三次逆序即可

21. 如何计算出序列的前N项数据

多个数组,每次选取最小的,然后该数组计算下一个元素

22. 判断一个整数是否可以表示成N个连续正整数的和

/article/2365613.html

第26题



链表:

1. 如何使用链表头

2. 如何找出链表倒数第K个元素

3. 单链表反转

4. 如何寻找单链表的中间节点

5. 如何进行单链表的排序

冒泡、归并、快排

6. 如何实现单链表交换任意两个元素(不包括表头)

7. 如何检测一个较大的单链表是否有环?环的入口点

8. 判断两个单链表(无环)是否交叉

9. 如何删除单链表中的重复节点

Hash_map

10. 如何合并两个有序链表(非交叉)

归并排序的Merge过程



字符串:

1. 字符串逆序

2. 如何找出一个字符串中第一个只出现一次的字符:

Hash,因为时字符,范围确定

3. 如何输出字符串的所有组合

递归

4. 如何检查字符是否是整数

Isdigit(char c)



二叉树:

1. 递归非递归遍历各种遍历二叉树

2. 已知先序遍历和中序遍历,求后续遍历结果

递归建树,递归遍历

知道先序和后续是无法确定树的

3. 如何递归非递归求二叉树的深度

只说非递归的:

1. 先序非递归遍历,节点中加入深度,子树入栈深度加1,到叶子节点和max比较

2. 层次遍历

4. 如何判断两棵树是否相等

子树对称情况

5. 如何判断二叉树是否是平衡二叉树

/article/2365615.html第60题

6. 霍夫曼编码
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐