程序员必须知道10大算法和自我提高的几点建议

来源:互联网 发布:美国日本关系知乎 编辑:程序博客网 时间:2024/04/30 08:44

程序员必须知道的10大基础实用算法及其讲解,包括:

  1. 快速排序算法;
  2. 堆排序算法(Heapsort):是指利用堆这种数据结构所设计的一种排序算法;
  3. 归并排序(Merge sort,台湾译作:合并排序):是建立在归并操作上的一种有效的排序算法;
  4. 二分查找(线性查找算法):是一种在有序数组中查找某一特定元素的搜索算法;
  5. BFPRT算法解决的问题十分经典,即从某n个元素的序列中选出第k大(第k小)的元素,通过巧妙的分析,BFPRT可以保证在最坏情况下仍为线性时间复杂度;
  6. 深度优先搜索算法(Depth-First-Search):是搜索算法的一种;
  7. 广度优先搜索算法(Breadth-First-Search):是一种图形搜索算法;
  8. 戴克斯特拉算法(Dijkstra’s algorithm);
  9. 动态规划算法(Dynamic programming);
  10. 朴素贝叶斯分类算法是一种基于贝叶斯定理的简单概率分类算法。

中国程序员的成长是与其学习环境相关,据统计,现时做计算机软件开发的人员65%是大专及本科学历,15%是来自于其他的培训机构。可见一个开发人员大致的学习经历和初步经验来自于大学。下面是针对程序员自我提高的几点建议:

  1. 提高文档编写能力
  2. 养成好的编码规范和编码习惯
  3. 提高对软件需求的理解
  4. 复用性和模块化思想
  5. 锻炼自己的测试能力
  6. 问题是最好的学习机会

0 0