zoukankan      html  css  js  c++  java
  • 算法学习的轨迹(转)

        对于编程的初学者,可以先通过简单的排序算法了解最简单的ADT线性表的常用操作;然后要重点掌握递归技术,包括递归和递推的相互转换。递归技术非常重要, 可以通过递归技术了解ADT栈的操作;接着学习搜索法的初步——回溯法,研究经典问题八皇后问题和走迷宫问题,通过这些经典问题了解深度优先搜索法 (DFS)和宽度优先搜索法(BFS)以及ADT栈、ADT队列的操作,要学会利用人工设置堆栈模拟递归;接着可以学习分治法、贪心法这两种常用的策略, 并应用到排序、搜索等简单的算法中;这时再开始学习图和树这两种抽象数据类型就应该没有什么难度了。在学习ADT图和ADT树时,要注意结合离散数学中的 图论理论知识和搜索法中的DFS,BFS方法,要学会将实际问题转化为图论模型;再下去可以学习各种搜索法的优化算法,启发式搜索、A算法、A*算法或界 限剪枝法等;然后是网络流算法,要注意模型的建立;最后学习最优化问题的解法,包括线性规划、动态规划、非线性规划等算法策略,这部分内容主要侧重模型的 建立和分析,算法本身并没有难度。这样基本的算法就学习完了。再深入一点可以学习问题的计算复杂性,计算模型,并行算法,神经网络以及各个领域中的算法.
  • 相关阅读:
    我在面试中碰到的面试题
    JavaScript中数组去重的几种方法整理
    html网页外框布局设计总结
    css+Jquery实现抽拉式导航条和页面内容适应
    jquery不能实现对dom元素的伪类元素样式进行操作
    css的文字颜色渐变
    javascript函数立即调用
    javascript闭包
    js异步原理
    关于浏览器兼容问题
  • 原文地址:https://www.cnblogs.com/end/p/2683212.html
Copyright © 2011-2022 走看看