今天学习下三个算法:动态规划算法、Prim算法、Dijkstra算法,将自己理解的逻辑略作总结。

1、动态规划算法是选取两个字符串的最长子序列的解法作为切入点学习,在公司午休时间将代码写了下,初步测试运行正常,再解此问题时也想到了备忘录法;

动态规划算法为了避免子问题的重复计算,通过储存子问题的结果,循环往上可求得最终结果;而备忘录法思想类似,也存储了子问题的结果,但可以通过递归实现,在递归函数中做一判断,如果子问题已经有值,则可直接取用子问题结果,否则存储子问题结果。

2、Prim算法是为了构造图中的最小生成树而提出的算法,算法的理论基础如下:

假设N=(V,{E})是一个连通网,U是顶点集合V的一个非空子集。若(u,v)是一条具有最小值(代价)的边,其中u属于U,v属于V-U(即U对立集合),那么必存在一颗包含边(u,v)的最小生成树。

了解上述的理论,则编出相应的程序也不太难了。

3、Dijkstra算法是为了求解图一点到其他所有点的最短路径提出的算法,其不断的更新迭代源点到图中其他点的距离,以得出最小距离,每次迭代都是选取一个相对最短路径的点进行扩展,直到所有的点都迭代计算过。

另最近学的东西比较杂:

1、以C++为主线,学习了STL源码剖析(目前进度为红黑树RB-tree),BOOST编程(目前进度为smart_ptr),深入C++对象模式(目前进度为成员函数);

2、算法看编程之美(4个算法),算法分析与设计(3个算法),程序员编程艺术(2个算法);

3、windows编程,回顾了下Winmain,WndProc,窗口类,MSG的相关基础知识,windows32 SDK编程目前不想继续,有空可以看下MFC源码分析和windows核心编程;

4、设计模式,回顾了几个基本的模式,Factory,Builder,Proxy, Bridge,Adapter,Singleton,prototype,Decorator,目前还没有做到了然如心的境界,需要不断的复习和实践;

5、oracle,安装并有了初步的学习,基本的SQL语句还凑合着会用,后续还需要加强学习,主要是C++编程ORACLE这块。

后续学习和复习计划中还需要加入的地方:

1、多线程编程,BOOST的线程库需要好好了解了解,因为windows和linux下都可以使用这个库,对于MFC的多线程编程也可以了解,主要还是对于多线程的概念和注意事项要非常了解;

2、TCP/IP协议以及网络编程,虽然之前windows网络编程和unix网络编程都学习过一段时间,但目前基本已经忘记,希望能较快的捡起来;

3、对于机器学习相关的算法,可以再捡起来开拓思路;

4、后续自己确定需求编写小软件,希望这个能得到尽快实施。

要学的东西也很多,现在抓两条主线,一抓C++,希望对于面向对象的了解更加的深刻,对于C++编译器的运作了解更加透彻;

二抓算法,不断的学习和思考,真正让自己的脑子里有东西,目前对于数据结构的掌握,算法的掌握还远远不够,后续算法的学习需要花大量时间积累和领悟,对于大学和

研究生时期所学的数学和计算理论相关的知识也希望有空了解。

另将简历挂上网后,接到两个外包公司的电话,博彦科技,中软国际,但外包不是自己想转行去的地方;

而自己投到绿盟科技和一个云计算公司的简历却石沉大海,心里有点不是味道,现将简历暂时置为完全保密的形式,遇到希望去的公司再投,另争取7月前抽出时间制作一份英文简历。

学习进度2012-6-26(动态规划算法、Prim算法、Dijkstra算法)相关推荐

  1. Prim和Dijkstra算法的区别

    在图论中,Prim算法是计算最小生成树的算法,而Dijkstra算法是计算最短路径的算法.二者看起来比较类似,因为假设全部顶点的集合是V,已经被挑选出来的点的集合是U,那么二者都是从集合V-U中不断的 ...

  2. 自动寻路算法python_关于Dijkstra算法和其他的一些图算法(Johnson, Floyd-Warshall, A*)解决最短路径问题的方法的Python实现。...

    这篇文章其实主要想说的是如何解决最短路径的问题. 其实最短路径问题,我们在生活中都在不知不觉的使用.比如我们在上网的时候,互联网传输采用了各种各样的数据包路由方法.这些路由算法都在幕后工作. 还有一些 ...

  3. 数据结构最短路径例题_编程小白暑期进阶笔记45-C语言数据结构与算法最短路径和dijkstra算法...

    最短路径 算法特点: 迪科斯彻算法使用了广度优先搜索解决赋权有向图或者无向图的单源最短路径问题,算法最终得到一个最短路径树.该算法常用于路由算法或者作为其他图算法的一个子模块. 算法思路: Dijks ...

  4. 遍历所有点的最短路径python_图遍历算法之最短路径Dijkstra算法

    一.最短路径问题(shortest path problem) 最短路径问题是图论研究中一个经典算法问题,旨在寻找图中两节点或单个节点到其他节点之间的最短路径.根据问题的不同,算法的具体形式包括: 确 ...

  5. 【爬虫、算法】基于Dijkstra算法的武汉地铁路径规划!

    作者:牧小熊,华中农业大学,Datawhale原创作者 前言 最近爬取了武汉地铁线路的信息,通过调用高德地图的api 获得各个站点的进度和纬度信息,使用Dijkstra算法对路径进行规划. 1.数据爬 ...

  6. python实现ks算法_Python实现Dijkstra算法

    Dijkstra算法 迪杰斯特拉算法是由荷兰计算机科学家狄克斯特拉于1959 年提出的,因此又叫狄克斯特拉算法.是从一个顶点到其余各顶点的最短路径算法,解决的是有向图中最短路径问题.迪杰斯特拉算法主要 ...

  7. java 有向图 最短路径算法_java使用Dijkstra算法实现单源最短路径

    单源最短路径问题,即在图中求出给定顶点到其它任一顶点的最短路径.在弄清楚如何求算单源最短路径问题之前,必须弄清楚最短路径的最优子结构性质. 一.最短路径的最优子结构性质 该性质描述为:如果P(i,j) ...

  8. 【数据结构与算法】【算法思想】Dijkstra算法

    图的两种搜索算法,深度优先搜素和广度优先搜索.这两种算法主要是针对无权图的搜索算法.针对有权图,也就是图中的每条边都有一个权重,该如何计算两点之间的最短路径?最短路径算法(Shortest Path ...

  9. 图论-全源最短路径-对比Floyd算法与暴力Dijkstra算法

    题目 输入顶点数N,有向边数M,接下来M行输入格式为u,v,w分别代表两个顶点u,v和两点之间边的权值w.输出全源最短路径 输入样例: 6 8 0 1 1 0 3 4 0 4 4 1 3 2 2 5 ...

  10. 最小环算法求解(Dijkstra算法+Floyd算法)

    方法一: #include<iostream> #include<algorithm> #include<cmath> #include<cstdio> ...

最新文章

  1. Anaconda 2019.03 发布,Python 跨平台科学计算软件
  2. Geoffrey Hinton 等6位图灵奖得主和100多位专家邀请您共话人工智能下一个十年
  3. 简易的c语言编译器,实现简易的C语言编译器(part 8)
  4. SAP标准培训课程C4C10学习笔记(四)第四单元
  5. 用subline添加单引号和逗号,在sql中使用
  6. STM32F1 端口复用、端口(部分和完全)重映射
  7. 低版本webview无法请求jquery ajax
  8. XStream xml转java对象
  9. 字段定义_SAP 物料主数据增强自定义字段
  10. mongodb数据库扩展名_MongoDB 数据库引用
  11. 将Git子模块更新为最新的原始提交
  12. 网络虚拟化基础协议之Geneve
  13. OC和Swift混合编程引用Pods管理的模块
  14. 系统分析师真题__专项:计算机系统与配置 2
  15. MFC程序设计 笔记1---综述
  16. PS入门(1-7) HSB色彩模式
  17. 河南高中学业水平计算机,河南高中学业水平考试
  18. VUE使用JS-SDK实现微信分享好友功能(通过点击控件触发)
  19. 国密算法 SM4 对称加密 分组密码 python实现完整代码
  20. 英特尔安腾服务器芯片,英特尔开始出货新安腾服务器处理器

热门文章

  1. 华三模拟器实现DHCP获取地址
  2. debian8文件服务器,debian 8 下部署开发环境
  3. 注册中国移动物联网平台账号
  4. 【天光学术】语言学论文:英语认知语言学和心理语言学的融通互补探析(节选)
  5. 突破传统—复旦大学大数据学院张力课题组提出语义分割全新方案
  6. 华为云服务之计算服务
  7. 404常见的几种错误原因
  8. 作为刚出培训机构的面试之路
  9. Python 复数属性和方法操作实例
  10. vatic标注工具安装步骤(非docker安装)以及错误解决办法