校招准备-数据结构与算法

落爺英雄遲暮 提交于 2020-03-28 06:29:54

校招中最基础的一环,笔试与白板撸算法

CS中最基本的能力,这方面的准备十分必要,但是准备过程必定十分痛苦

虽常言道水滴石穿,但是多少小河小溪在石穿之前干涸!

-----------------------------------

每天2-3道算法题,完不成就晚上加班

-----------------------------------

 一次总计花一个小时时间学习:

1.找到对应知识点,梳理一遍,弄清楚难点

2.刷15-20分钟小题,来检测自己这块的掌握情况

3.刷20-30分钟对应的算法题

----------------------------------------------

结合算法导论,啊哈算法,王道数据结构等书籍;

数据结构(结合c,java与python语言)

 

1-线性表:链表的各种操作(双链表的插入,删除 手写 );java中的应用; (6.7 链表,牛客做题)

关于删除链表节点:先解决当前节点后面的,再解决前面的

栈:定义,基本操作(初始化,判断为空,进栈,出栈,读栈顶元素,),顺序栈和链栈;应用

1-队列:定义,基本操作(初始化,判断为空,入队,出队,),顺序存储和链式存储,双端队列;应用

数组与矩阵:数组的各种基本操作,矩阵的压缩存储

1-字符串:字符串的基本操作与实现

堆:定义与基本操作,应用

1-树:二叉树的定义,基本性质,顺序存储,链式存储,三种遍历方法,树与森林;树的应用:二叉排序树的定义,查找,插入,删除;平衡二叉树的定义,插入,;哈夫曼树的定义构建;哈夫曼编码; b树,b+树,红黑树;

红黑树的概念、平均算法复杂度、最好最坏情况下的算法复杂度、、左右旋转、颜色变换。面试官常见的算法套路有:你熟悉C++的stl吗?你说熟悉,ok,stl的map用过吧?用过,ok,那map是如何实现的?红黑树,ok,那什么是红黑树?这样提问,红黑树就开始了。Java的也类似。

1-图:定义,概念,存储;两种遍历;图的应用:最小生成树,最短路径,拓扑排序,关键路径;

1-查找:顺序查找,分块查找,折半查找,B树,b+树;hash表;字符串模板匹配; 算法的分析和应用

哈希表,对哈希表的细节要求很高,比如哈希表的冲突检测、哈希函数常用实现、算法复杂度;比如百度二面就让我写一个哈希表插入元素算法,元素类型是任意类型。

1-排序:插入类,直接插入,折半插入,希尔排序;  交换类,冒泡,快速排序;  选择排序:简单选择,堆排序;  归并排序,基数排序,外部排序; 各种排序方法的总结;

算法

递归分治

贪心

动态规划

回溯

分支限界

 刷题

没有什么笔试是刷几十道题不能解决的,如果不想那就再刷几十遍

 

不会的算法题

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!