高级算法和数据结构与算法应用新篇(1)

 

  高级数据结构:哈希表、树与二叉树、优先队列与堆、并查集、线段树、树状数组、伸展树、Treap、AVL树、红—黑树、SBT、块状链表与块状树、后缀树与后缀数组、树链剖分与动态树等。

> 高级算法和数据结构

1、CCF NOI的相关试题
2、poj相关试题
3、刘翀《浅谈竞赛中哈希表的应用》
4、黄源河《左偏树的特点及其应用》
5、杨思雨《伸展树的基本操作及其应用》
6、陈启峰《Size Balance Tree》
7、林厚从《线段树及其应用》
8、杨弋《<线段树>讲稿》
9、peter m. fenwick《A New Data Structure for Cumulative Frequency Tables》
10、曹文《树状数组简介》
11、Wikipedia-"Fenwick Tree"
12、Algorithm Tutorials《Binary Indexed Tree》
13、苏煜《对块状链表的一点研究》
14、蒋炎岩《块状链表》
15、陈立杰《块状树》
16、罗穗骞《后缀数组——处理字符串的有力工具》
17、许智磊《后缀数组》
18、陈首元《维护森林连通性-动态树》
19、杨哲《Spoj375 QTREE解法的一些研究》
20、漆子超《分治算法在树的路径问题中的应用》

《高级数据结构》英文版
> 林厚从主编的《高级数据结构》- https://baike.baidu.com/item/%E9%AB%98%E7%BA%A7%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/7546193?fr=aladdin

在基本数据结构的基础上,围绕一些常用的高级数据结构,结合大量实战例题,深入分析“数据结构是如何服务于算法的”。本书主要内容包括:哈希表、树与二叉树、优先队列与堆、并查集、线段树、树状数组、伸展树、Treap、AVL树、红—黑树、SBT、块状链表与块状树、后缀树与后缀数组、树链剖分与动态树等。 《高级数据结构》的适用对象包括:中学信息学竞赛选手及辅导老师、大学ACM比赛选手及教练、高等院校计算机专业的师生、程序设计爱好者等。

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

> 算法应用

最优搜索,多路合并搜索,最佳导航路线算法

算法入门---java语言实现的二分搜索树小结- http://blog.csdn.net/zy00000000001/article/details/69666544
二叉搜索树之Java实现- http://blog.csdn.net/kimylrong/article/details/21872909
算法java实现--动态规划--最优二叉树搜索- http://blog.csdn.net/lican19911221/article/details/24649745
多路归并排序【JAVA实现】- http://blog.csdn.net/java2king/article/details/5152172
A*算法求最短路径 java 源码(拿来即可用)0- http://blog.csdn.net/abcd_d_/article/details/45565091

导向布局算法、FR布局算法、KK布局算法

导航中路径规划模块与算法- http://blog.csdn.net/viewcode/article/details/7925987
WebGIS空间寻径算法设计(车辆自驾导航算法)
采用有向连通图模型对路网建模 
A.以道路交叉点作为路网的连通图节点
B.以从A路点到B路点的单向通路建立有向连线A->B,即普通道路建立A->B,B->A双向连接,单行道建立A->B单向连接
C.高架桥、地下隧道做独立连接线处理;即,将高架或地下通道的起终点设立为连通图节点,并直接连接起终点,建立连线,中间不设定断点。
D.在有向线段上设置属性,如:有分隔护栏、禁左转、禁掉头、高速路、城市一级道路、路口有交通灯等


设计实现从用户输入起终点信息查询到获得文字及图形描述自驾方案的程序实现过程。 
A.根据用户输入关键字,结合分词搜索引擎和空间碰撞算法,查找最合理的起点终点的道路投影。
B.根据起、终点的道路投影,并结合寻径算法,计算可用的路径方案,生成路径的数学模型描述。
C.结合起点、重点以及道路的方向、位置等信息,转换生成人可识别的文字信息和路径几何描述。
D.输出最终文字描述,并在地图图面描绘结果路径。

结合Dijsk和A*算法,设计寻径模型,根据用户的寻径方案需求(最短路程、高速优先、综合优先),设计相应的寻径评估函数 

路径规划的算法有哪些?
路径规划有很多算法,在导航中,经常提到的就是A*和Dijkstra算法。
A*算法是导航路径计算中的标准算法。它比Dijkstra算法多了一个估算函数,若估算函数为0,A*算法也就退化为Dijkstra算法。
但在一般的嵌入式硬件上,基于性能和内存的限制与要求,不能直接使用A*算法计算路径。所以,也有很多改进的方法。

路径规划的估计函数或考虑因素有哪些?
最短路径:只考虑时间,不考虑距离或其他因素
最快路径:只考虑距离,不考虑时间或其他因素

同时考虑时间和距离因素:50/50的路径规划方法。

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

一阶段 掌握基础算法和数据结构

第1课 算法初步
知识点1:Why?
知识点2:复杂度
知识点3:均摊分析
知识点4:最大子数组和
知识点5:C++/Java核心知识点

第2课 必知必会的数据结构
知识点1:栈和队列
知识点2:人工栈与系统栈初探
知识点3:并查集
知识点4:路径压缩
知识点5:什么都能往里塞的哈希表
实战项目:布隆过滤器

第二阶段 玩转树、堆、图等高级数据结构
第3课 树/堆
知识点1:背景知识
知识点2:二叉树的前中后序遍历
知识点3:二叉树的序列化和反序列化
实战项目:表达树构造
实战项目:最近公共祖先
实战项目:堆的构造与应用

第4课 图论
知识点1:- 图的定义(有向图,无向图)
知识点2:拓扑排序
实战项目:最短路(Floyd,Dijkstra,Bellmanford)
实战项目:最小生成树

第5课 递归
知识点1:递归奥义
知识点2:斐波那契数列
知识点3:汉诺塔问题
实战项目:手写快速排序
实战项目:树的遍历

第6课 图搜索初探
知识点1:遍历(深度优先 广度优先)
知识点2:走迷宫
实战项目:状态空间
实战项目:迭代加深搜索
实战项目:启发式搜索

第三阶段 实战动态规划和贪心
第7课 动态规划
知识点1:背景知识
知识点2:最小/最大子数组
知识点3:最小差
实战项目:矩阵归零
实战项目:跳跃游戏
实战项目:加油站

第8课 贪心
知识点1:递归本质
知识点2:最优子结构
知识点3:重叠子问题
知识点4:万金油套路
实战项目:手把手教你如何写DP

第四阶段 掌握海量数据处理和概率,求职心不慌
第9课 高并发/海量数据处理/笔试技巧
知识点1:并发编程基础知识
知识点2:Map Reduce简介及常见面试问题
知识点3:高并发系统设计常见问题
知识点4:动静分离
知识点5:同步变异步
知识点6:缓存以及数据库优化
知识点7:分布式事务处理
知识点8:面试编程技巧
实战项目:编程风格

第10课 博弈论 概率 数论
知识点1:博弈论定义
知识点2:放围棋游戏
知识点3:取石子游戏
知识点4:概率定义
知识点5:无穷级数
知识点6:条件概率
知识点7:贝叶斯公式和朴素贝叶斯
知识点8:数论初步
实战项目:质因数分解
实战项目:辗转相除
实战项目:筛法

实战项目:Mod运算

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

算法工程师包括:
音/视频算法工程师(通常统称为语音/视频/图形开发工程师);图像处理算法工程师;计算机视觉算法工程师;
通信基带算法工程师;信号算法工程师;射频/通信算法工程师;自然语言算法工程师;数据挖掘算法工程师;
搜索算法工程师;控制算法工程师(云台算法工程师,飞控算法工程师,机器人控制算法);导航算法工程师;其他【其他一切需要复杂算法的行业】;

算法工程师的技能树(不同方向差异较大,此处仅供参考)
1 机器学习;2 大数据处理:熟悉至少一个分布式计算框架Hadoop/Spark/Storm/ map-reduce/MPI;3 数据挖掘;4 扎实的数学功底;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值