校招中最基础的一环,笔试与白板撸算法
CS中最基本的能力,这方面的准备十分必要,但是准备过程必定十分痛苦
虽常言道水滴石穿,但是多少小河小溪在石穿之前干涸!
----------------------------------------------
数据结构(结合c,java与python语言)
线性表:链表的各种操作(顺序表的插入,删除;单链表的插入,删除,倒转;双链表的插入,删除;循环链表的插入,删除;);java中的应用;
栈:定义,基本操作(初始化,判断为空,进栈,出栈,读栈顶元素,),顺序栈和链栈;应用
队列:定义,基本操作(初始化,判断为空,入队,出队,),顺序存储和链式存储,双端队列;应用
数组与矩阵:数组的各种基本操作,矩阵的压缩存储
字符串:字符串的基本操作与实现
堆:定义与基本操作,应用
树:二叉树的定义,基本性质,顺序存储,链式存储,三种遍历方法,树与森林;树的应用:二叉排序树的定义,查找,插入,删除;平衡二叉树的定义,插入,;哈夫曼树的定义构建;哈夫曼编码; b树,b+树,红黑树;
图:定义,概念,存储;两种遍历;图的应用:最小生成树,最短路径,拓扑排序,关键路径;
查找:顺序查找,分块查找,折半查找,B树,b+树;hash表;字符串模板匹配; 算法的分析和应用
排序:插入类,直接插入,折半插入,希尔排序; 交换类,冒泡,快速排序; 选择排序:简单选择,堆排序; 归并排序,基数排序,外部排序; 各种排序方法的总结;
算法
递归分治
贪心
动态规划
回溯
分支限界