校招中最基础的一环,笔试与白板撸算法
CS中最基本的能力,这方面的准备十分必要,但是准备过程必定十分痛苦
虽常言道水滴石穿,但是多少小河小溪在石穿之前干涸!
-----------------------------------
每天2-3道算法题,完不成就晚上加班
-----------------------------------
一次总计花一个小时时间学习:
1.找到对应知识点,梳理一遍,弄清楚难点
2.刷15-20分钟小题,来检测自己这块的掌握情况
3.刷20-30分钟对应的算法题
----------------------------------------------
结合算法导论,啊哈算法,王道数据结构等书籍;
数据结构(结合c,java与python语言)
1-线性表:链表的各种操作(双链表的插入,删除 手写 );java中的应用; (6.7 链表,牛客做题)
关于删除链表节点:先解决当前节点后面的,再解决前面的
栈:定义,基本操作(初始化,判断为空,进栈,出栈,读栈顶元素,),顺序栈和链栈;应用
1-队列:定义,基本操作(初始化,判断为空,入队,出队,),顺序存储和链式存储,双端队列;应用
数组与矩阵:数组的各种基本操作,矩阵的压缩存储
1-字符串:字符串的基本操作与实现
堆:定义与基本操作,应用
1-树:二叉树的定义,基本性质,顺序存储,链式存储,三种遍历方法,树与森林;树的应用:二叉排序树的定义,查找,插入,删除;平衡二叉树的定义,插入,;哈夫曼树的定义构建;哈夫曼编码; b树,b+树,红黑树;
1-图:定义,概念,存储;两种遍历;图的应用:最小生成树,最短路径,拓扑排序,关键路径;
1-查找:顺序查找,分块查找,折半查找,B树,b+树;hash表;字符串模板匹配; 算法的分析和应用
哈希表,对哈希表的细节要求很高,比如哈希表的冲突检测、哈希函数常用实现、算法复杂度;比如百度二面就让我写一个哈希表插入元素算法,元素类型是任意类型。
1-排序:插入类,直接插入,折半插入,希尔排序; 交换类,冒泡,快速排序; 选择排序:简单选择,堆排序; 归并排序,基数排序,外部排序; 各种排序方法的总结;
算法
递归分治
贪心
动态规划
回溯
分支限界
刷题
没有什么笔试是刷几十道题不能解决的,如果不想那就再刷几十遍
不会的算法题