文档章节

数据结构与算法

AllenOR灵感
 AllenOR灵感
发布于 2017/09/10 01:14
字数 651
阅读 2
收藏 0

前言

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

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

program = data + algorithm

数据结构算法与机器学习

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

数据结构与算法的架构

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

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

相关思维导图如下图:


image

本文转载自:http://www.jianshu.com/p/64f48ee04eec

AllenOR灵感
粉丝 11
博文 2635
码字总数 83001
作品 0
程序员
私信 提问

暂无文章

哪些情况下适合使用云服务器?

我们一直在说云服务器价格适中,具备弹性扩展机制,适合部署中小规模的网站或应用。那么云服务器到底适用于哪些情况呢?如果您需要经常原始计算能力,那么使用独立服务器就能满足需求,因为他...

云漫网络Ruan
今天
10
0
Java 中的 String 有没有长度限制

转载: https://juejin.im/post/5d53653f5188257315539f9a String是Java中很重要的一个数据类型,除了基本数据类型以外,String是被使用的最广泛的了,但是,关于String,其实还是有很多东西...

低至一折起
今天
23
0
OpenStack 简介和几种安装方式总结

OpenStack :是一个由NASA和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目。项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。OpenSta...

小海bug
昨天
11
0
DDD(五)

1、引言 之前学习了解了DDD中实体这一概念,那么接下来需要了解的就是值对象、唯一标识。值对象,值就是数字1、2、3,字符串“1”,“2”,“3”,值时对象的特征,对象是一个事物的具体描述...

MrYuZixian
昨天
9
0
解决Mac下VSCode打开zsh乱码

1.乱码问题 iTerm2终端使用Zsh,并且配置Zsh主题,该主题主题需要安装字体来支持箭头效果,在iTerm2中设置这个字体,但是VSCode里这个箭头还是显示乱码。 iTerm2展示如下: VSCode展示如下: 2...

HelloDeveloper
昨天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部