基础数学与算法学习

基础算法:

  • 数据结构与算法分析:C语言描述
  • 程序员代码面试指南——IT名企算法与数据结构题目最优解
  • 算法设计与分析基础 (Ananny Levitin著)
  • 算法(Robert著 第四版)
  • 编程原本
  • 算法导论
  • 算法技术手册
  • 算法设计(王红梅编著 一本学校教材)
  • 零散网络流传的文档

基础数学:

  • 概率论与数理统计
  • 离散数学及其应用
  • 统计学的世界
  • 统计学完全教程
  • 线性代数及其应用
  • 线性代数应该这样学

基础算法随想(也是《算法》的框架介绍)

1、基础(代码工具、算法基础工具)

掌握实现、分析和比较算法的基本原则和方法:

  • Java编程模型
  • 数据抽象
  • 基本数据结构
  • 集合类的抽象数据类型
  • 算法性能分析的方法
  • 案例分析

2、排序(很多算法的基础)

有序的重新排列一个序列中的元素是非常重要的基础算法,排序算法也是很多其他算法的基石

  • 插入排序
  • 选择排序
  • 希尔排序
  • 快速排序
  • 归并排序
  • 堆排序
  • 与排序相关的问题(优先队列、选举、归并)

3、查找(Find it or Index it!!!)

从BIG数据集中找到指定的条目是非常重要的。

  • 二叉查找树
  • 平衡查找树
  • 散列表
  • 方法之间的关系和性能对比

4、图(图,算法王者)

图的主要内容是对象和它们之间的连接,连接可能有权重和方向。利用图可以为大量重要而困难的问题建模。图算法的设计非常重要。

  • 深度优先搜索
  • 广度优先搜索
  • 连通性问题
  • Kruskal和Prim最小生成树
  • Dijkstra和Bellman-Ford最短路径算法

5、字符串(不得不喝人打交道并进行数值化处理)

字符串是现代应用程序中的重要数据类型。

  • 字符串键的排序和查找的快速算法
  • 子字符串查找
  • 正则表达式模式匹配算法
  • 数据压缩算法

6、背景 (Biger逼格)

  • 科学计算简介
  • 运筹学简介
  • 计算理论简介
  • 基于实践的模拟
  • B树
  • 后缀数组
  • 最大流量问题
  • 搜索问题、问题转化、NP完全性

目标:理解精巧、复杂和高难度算法,熟悉优雅、朴素和简单的算法。进行算法式思考。

原文地址:https://www.cnblogs.com/taceywong/p/5790966.html