归纳一下今天看的有关数据结构和AI的知识:

数据结构:数据的组织形式和存储方法

主要包括:1.线性结构 2.树结构 3.图结构

1.线性结构:由n个元素构成的有限序列。【数组】为最简单的一种形式。

主要包括:顺序表、链表、栈、队列等形式 前两者从存储形式上区分,后两者从逻辑功能上区分。前两者是基础,后两者是基于前两者的。

2.树结构:出现的原因是一些数据之间存在“一对多”的关系。例如:AI领域的“博弈树”、数据挖掘和商业智能的“决策树”、多媒体技术中的“哈夫曼树”。

3.图结构:出现的原因是数据元素间存在“多对多”的关系。比1、2两种结构复杂的多。例如:AI领域中的神经网络系统贝叶斯网络


下面归纳:顺序表和链表的知识点

顺序表:用来存储数据,以连续的内存单元来存储,就构成了一张线性表。一张顺序表包括了一下特征:1.唯一的表名来标识顺序表。2.内存单元室连续的。3.数据是按顺序存放              的,元素间有先后关系。

链表:与顺序表不同,其内存单元是任意分配的,但是每个数据元素都存放在链表的一个结点中,每个结点由指针连接。

每个节点中包含:1.数据元素 2.下一个结点的地址。 链表逻辑上是连续的,但是物理上并不一定。只要获得链表的头节点就可以遍历整条链表。

表头不存放数据,只存放头结点的地址,即表头是一个指针变量。链表尾结点的指针域为NULL,表示终止。


AI:人工智能(Artificial Intelligence)

AI:AI是对程序系统的研究,该程序系统能够模仿人类的活动,如感知、思考、学习和反应。

AI简史:

2400年前希腊哲学家亚里士多德发明了逻辑推理这个概念,莱布尼茨和牛顿完成了逻辑语言的定稿,19世纪乔治·布尔提出布尔代数奠定计算机电子电路的基础。思维计算机主要思想来自阿兰·图灵提出的“图灵测试”。AI是有John McCarthy(约翰·麦卡思)于1956年首次提出。

“图灵测试”:测试者提出一个问题,由机器和人类分别提供一份答案,如果测试者不能说出哪份答案来自人类,哪份来自机器,那么计算机通过了图灵测试,则其具有智能行为。

智能体式一种系统。其可分为两大类:软件智能体和物理智能体。功能是:感知环境,从环境中学习并与环境进行交互。

软件智能体:完成特殊任务的程序。例如:对邮件的归类、搜索引擎。

物理智能体:(机器人)一个用来完成各项任务的可编程系统。主要运用于机器人上,设计这类系统更好地帮助人类的工作。

专门为AI设计的编程语言:LISP和PROLOG。LISP是麦卡思1958年发明的。(通用语言如C\C++\JAVA,也能用来编写智能软件)


数据结构的作用?

运用顺序表和链表进行对一些数据的操作?

涉及了数组、指针、结构体的知识。

AI涉及的知识比较多,哲学,逻辑学,心理学……


数据结构_1+AI_1的更多相关文章

  1. Scalaz(24)- 泛函数据结构: Tree-数据游览及维护

    上节我们讨论了Zipper-串形不可变集合(immutable sequential collection)游标,在串形集合中左右游走及元素维护操作.这篇我们谈谈Tree.在电子商务应用中对于xml, ...

  2. Scala_数据结构

    数据结构 容器(Collection) Scala提供了一套丰富的容器(collection)库,包括列表 (List).数组(Array).集合(Set).映射(Map)等 根据容器中元素的组织方式 ...

  3. 大数据技术之_16_Scala学习_07_数据结构(上)-集合

    第十章 数据结构(上)-集合10.1 数据结构特点10.1.1 Scala 集合基本介绍10.1.2 可变集合和不可变集合举例10.2 Scala 不可变集合继承层次一览图10.2.1 图10.2.2 ...

  4. Numpy基础数据结构 python

    Numpy基础数据结构 NumPy数组是一个多维数组对象,称为ndarray.其由两部分组成: 实际的数据 描述这些数据的元数据 1.一维数组 import numpy as np ar = np.a ...

  5. Scala 基础(2)—— 基本数据结构

    1. Scala 的面向对象 在学习 Java 的时候,我们说 Java 是一门面向对象的语言,然而 Java 其实并没有完全遵守“一切皆对象”这一准则. 例如:Java 的8种基本数据类型 & ...

  6. 大数据技术之_16_Scala学习_08_数据结构(下)-集合操作+模式匹配

    第十一章 数据结构(下)-集合操作11.1 集合元素的映射-map11.1.1 map 映射函数的操作11.1.2 高阶函数基本使用案例1+案例211.1.3 使用 map 映射函数来解决11.1.4 ...

  7. Scala数据结构

    Scala数据结构 主要的集合特质 Scala同时支持可变集合和不可变集合,优先采用不可变集合.集合主要分为三大类:序列(List),集(set),映射(map).所有的集合都扩展自Iterable特 ...

  8. 10. Scala数据结构(上)-集合操作

    10.1 数据结构特点 10.1.1 Scala集合基本介绍 uml => 统一建模语言 1) Scala同时支持不可变集合和可变集合,不可变集合可以安全的并发访问 两个主要的包 不可变集合:s ...

  9. 多线程爬坑之路-学习多线程需要来了解哪些东西?(concurrent并发包的数据结构和线程池,Locks锁,Atomic原子类)

    前言:刚学习了一段机器学习,最近需要重构一个java项目,又赶过来看java.大多是线程代码,没办法,那时候总觉得多线程是个很难的部分很少用到,所以一直没下决定去啃,那些年留下的坑,总是得自己跳进去填 ...

随机推荐

  1. FastDFS 与 Nginx 实现分布式图片服务器

    FastDFS 与 Nginx 实现分布式图片服务器 本人的 Ubuntu18.04 用户名为 jj 点我下载所有所需的压缩包文件 一.FastDFS安装 1.安装 fastdfs 依赖包 ① 解压 ...

  2. 分享张鑫旭大神的,纯css打字小技巧,我顺便收藏一下

    CSS代码: .typing { width: 15em; white-space: nowrap; border-right: 2px solid transparent; animation: t ...

  3. A、B两个线程交替打印1 -- 100

    方案一:import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;import java.u ...

  4. 《程序设计入门——C语言》翁恺老师 第三周编程练习记录

    1 时间换算(5分) 题目内容: UTC是世界协调时,BJT是北京时间,UTC时间相当于BJT减去8.现在,你的程序要读入一个整数,表示BJT的时和分.整数的个位和十位表示分,百位和千位表示小时.如果 ...

  5. [宽度优先搜索] FZU-2150 Fire Game

    Fat brother and Maze are playing a kind of special (hentai) game on an N*M board (N rows, M columns) ...

  6. 终端的rz命令,覆盖原文件。

    不覆盖:rz 覆盖 同名文件:rz -y

  7. [Leetcode 37]*数独游戏 Sudoku Solver 附解释

    [题目] 每一行.每一列.每个3*3的格子里只能出现一次1~9. [思路] 参考了思路,附加了解释. dfs遍历所有非空格子,n是已经填好的个数. 初始化条件.n=81,都填了,返回结束.对于已经填好 ...

  8. java 初学 英语单词 记录在此 希望全部记住

    Java英文单词Java基础常见英语词汇(共70个)                                                                          ...

  9. Android N 的开机启动流程概述

    原地址:https://blog.csdn.net/h655370/article/details/77727554 图片展示了Android的五层架构,从上到下依次是:应用层,应用框架层,库层,运行 ...

  10. Codeforces Round #552 (Div. 3) F. Shovels Shop (前缀和预处理+贪心+dp)

    题目:http://codeforces.com/contest/1154/problem/F 题意:给你n个商品,然后还有m个特价活动,你买满x件就把你当前的x件中最便宜的y件价格免费,问你买k件花 ...