数据结构与算法
1、单链表逆置
2、常见排序算法和稳定性,效率分析
3、静态链接和动态链表区别
4、海量数据处理知识点
5、AVL树和R-B树查找,插入,删除效率, 区别 //数据结构的内容
6、判断一个链表是否存在循环
7、寻找最大K个数
8、统计数组中出现最多数
9、字符串匹配
10、二分查找
11、实现Strcpy
12、实现快速排序
13、建堆,建堆的时间复杂度
14、HASH策略常见的有哪些
15、HASH表实现
16、二叉树结构,二叉查找树的实现
17、二叉树的六种遍历
18、二叉树的按层遍历
19、编写简单的String类
20、编写strcpy、strcat、strcmp、memcpy、memmove
21、求二叉树的深度
22、判断一棵二叉树是否是平衡二叉树
23、求二叉树第K层节点个数
24、求二叉树中两个节点的最大距离
25、判断一棵二叉树是否为完全二叉树
26、重建二叉树,依据前序遍历结果和中序遍历结果
27、实现简单的智能指针
28、实现stl::string的写时copy
29、什么是大小端模式,编写代码区分大小端
30、链表的插入删除、单向链表、双向链表
31、反向打印链表
32、打印倒数第K个节点
33、链表是否有环
34、冒泡、选择、插入、快速、归并、堆排序、希尔、桶
35、背包问题
36、深度优先、广度优先、单源最小路径、任意两点最小路径
37、最大堆、最小堆、堆如何调整
38、两个有序数组求中位数
39、最长上升子序列
40、海量数据排序
41、链表翻转
42、最长公共子序列
43、海量数据topk问题
44、蓄水池抽样算法
45、排序算法性能比较,时间复杂度、稳定性、比较
46、1-100之间所有素数之和
47、队列的实现
48、字符串匹配
49、数组存储超大数
50、回文字符串
51、判断两个数组是否有相同的数字
52、大数据中找中位数
53、B树、B+树、红黑树、AVL树
54、单链表排序
55、查找链表中间节点
56、删除无头非尾节点
57、约瑟夫环
58、如何从100万个数中找出最大的前100个数
59、找出数组中重复的数字
60、计算斐波那契数列
61、滑动窗口的最大值
62、0~n-1 中缺失的数字
63、连续子数组的最大和
64、删除链表中重复的节点
65、矩阵中的路径
66、调整数组顺序使奇数位于偶数前面
67、最长不重复子串
68、天平不平衡找假币问题
69、栈的逆序
70、数组的逆序对
71、二叉搜索树的第K个节点
72、树上最远距离
73、折纸问题
74、根据前序和中序遍历求后序
75、完全二叉树判断、平衡二叉树判断、二叉查找树判断
76、荷兰国旗问题
77、字符串-全排列问题
78、无环链表判断相交
79、用两个栈实现队列
80、最大连续数列和
81、矩阵取值问题
82、最大和子矩阵
83、最长公共子序列和最长递增子序列
84、最小编辑代价
85、动态规划和递归-魔术索引
86、确定字符串互异
87、基本字符压缩
88、空格替换
89、确定两个字符串乱序同构
90、A+B问题
91、尾部的零
92、第K大元素
93、有一座高度是10级台阶的楼梯,从下往上走,每跨一步只能向上1级或者2级台阶. 要求用程序,来求出一共有多少种走法.
94、一个有getMin功能的栈
95、从上往下打印二叉树的每个节点,同层节点从左到右
96、最长单词(Lintcode)
97、单例(Lintcode)
98、Fizz Buzz问题(LintCode)
99、二分查找
100、N皇后问题