数据结构与算法

前言

近日压力倍增,在图书馆自习,期望能够看更多的论文。休息期间找到一本算法的教材,从机器学习和人工智能的角度重温了一遍数据结构与算法。

本科阶段曾学习过数据结构与算法这门课程,使用的是C语言实现的小绿书。依稀记得当时老师只是讲解了计算机程序中常见的数据结构,例如线性表,队列,栈等的存储方式以及增删查改的操作实现方法,并且给出了程序时间复杂度和空间复杂度的概念和分析方法。
很明确的一个概念:

program = data + algorithm

数据结构算法与机器学习

最近研究了很多机器学习相关的概念和算法,发现其的核心理念就是使用计算机模拟人类的学习方法,来处理数据。才发现其实数据结构与算法是机器学习的基础。
二者都是使用算法来处理数据,得到一些结果。
区别在于,机器学习的数据非此处的结构化数据,往往需要进行预处理和特征抽取;算法也是复杂得多的模型和训练算法,目的是为了进行预测。
总体来说,计算机的数据结构与算法,是机器学习的基础。

数据结构与算法的架构

本书将数据结构与算法分为八大思想,数据结构,数据查找和排序四大部分。其中,八大思想讲述了日常算法中常用的八种思想;数据结构体现了数据在计算机中的组织形式,包括物理形式和逻辑形式,给出了数据在计算机中存储和运算的基本方法;最后,查找和排序,是数据处理最常见的需求,也是最基本的算法。
组织形式如下:

  • 算法思想
    • 枚举
    • 递归
    • 递推
    • 迭代
    • 分治
    • 贪心
    • 试探
    • 模拟
  • 数据结构
    • 基本结构
      • 线性表
      • 队列
    • 逻辑结构
        • 二叉树
        • 霍夫曼树
        • 有向图
        • 无向图
        • 连通图
        • 生成树
        • 深度遍历
        • 广度遍历
  • 查找
    • 基于线性表的查找
    • 基于树的查找
  • 排序(图文详解八大排序算法)
    • 交换排序
      • 冒泡排序
      • 快速排序
    • 插入排序
      • 希尔排序
    • 选择排序
      • 堆排序
    • 归并排序

相关思维导图如下图:


image
image
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一:数据结构概论 在数据结构中数据分为两种关系,一种时线性,一种是非线性 线性关系,比如一张学生登记表。 非线性关...
    夏广成阅读 6,267评论 1 1
  • 1. 链表 链表是最基本的数据结构,面试官也常常用链表来考察面试者的基本能力,而且链表相关的操作相对而言比较简单,...
    Mr希灵阅读 1,472评论 0 20
  • 数据 元素又称为元素、结点、记录是数据的基本单位 数据项是具有独立含义的最小标识单位 数据的逻辑结构 数据的逻辑结...
    PPPeg阅读 13,791评论 0 15
  • 文 | 林易子 我叫西门庆,因中国两本古典小说,我的知名度还比较高。我靠贩卖药材、绸缎等发了大财,当然我和当地的官...
    林易子阅读 757评论 2 3
  • 一 他已经在床上躺了半个时辰了,他睡的很香,在这个仲夏夜甜美的于梦乡徜徉。 嗡~嗡嗡嗡~ 一阵蚊子的耳语声萦绕过他...
    缪尔阅读 557评论 2 4