数据结构与算法

作者: 惊喜黑洞 | 来源:发表于2016-05-29 00:53 被阅读1041次

    前言

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

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

    program = data + algorithm
    

    数据结构算法与机器学习

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

    数据结构与算法的架构

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

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

    相关思维导图如下图:


    imageimage

    相关文章

      网友评论

      本文标题:数据结构与算法

      本文链接:https://www.haomeiwen.com/subject/edqqdttx.html