数据结构_1+AI_1
归纳一下今天看的有关数据结构和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的更多相关文章
- Scalaz(24)- 泛函数据结构: Tree-数据游览及维护
上节我们讨论了Zipper-串形不可变集合(immutable sequential collection)游标,在串形集合中左右游走及元素维护操作.这篇我们谈谈Tree.在电子商务应用中对于xml, ...
- Scala_数据结构
数据结构 容器(Collection) Scala提供了一套丰富的容器(collection)库,包括列表 (List).数组(Array).集合(Set).映射(Map)等 根据容器中元素的组织方式 ...
- 大数据技术之_16_Scala学习_07_数据结构(上)-集合
第十章 数据结构(上)-集合10.1 数据结构特点10.1.1 Scala 集合基本介绍10.1.2 可变集合和不可变集合举例10.2 Scala 不可变集合继承层次一览图10.2.1 图10.2.2 ...
- Numpy基础数据结构 python
Numpy基础数据结构 NumPy数组是一个多维数组对象,称为ndarray.其由两部分组成: 实际的数据 描述这些数据的元数据 1.一维数组 import numpy as np ar = np.a ...
- Scala 基础(2)—— 基本数据结构
1. Scala 的面向对象 在学习 Java 的时候,我们说 Java 是一门面向对象的语言,然而 Java 其实并没有完全遵守“一切皆对象”这一准则. 例如:Java 的8种基本数据类型 & ...
- 大数据技术之_16_Scala学习_08_数据结构(下)-集合操作+模式匹配
第十一章 数据结构(下)-集合操作11.1 集合元素的映射-map11.1.1 map 映射函数的操作11.1.2 高阶函数基本使用案例1+案例211.1.3 使用 map 映射函数来解决11.1.4 ...
- Scala数据结构
Scala数据结构 主要的集合特质 Scala同时支持可变集合和不可变集合,优先采用不可变集合.集合主要分为三大类:序列(List),集(set),映射(map).所有的集合都扩展自Iterable特 ...
- 10. Scala数据结构(上)-集合操作
10.1 数据结构特点 10.1.1 Scala集合基本介绍 uml => 统一建模语言 1) Scala同时支持不可变集合和可变集合,不可变集合可以安全的并发访问 两个主要的包 不可变集合:s ...
- 多线程爬坑之路-学习多线程需要来了解哪些东西?(concurrent并发包的数据结构和线程池,Locks锁,Atomic原子类)
前言:刚学习了一段机器学习,最近需要重构一个java项目,又赶过来看java.大多是线程代码,没办法,那时候总觉得多线程是个很难的部分很少用到,所以一直没下决定去啃,那些年留下的坑,总是得自己跳进去填 ...
随机推荐
- Windows编译安装使用cephfs客户端
本文介绍如何将cephfs映射到windows的一个盘上,以磁盘映射的方式访问cephfs. 1.下载必要安装包 tdm-gcc:(安装时选32位)https://sourceforge.net/pr ...
- CentOS 7 常用命令大全
CentOS7 常用命令集合 这两天一直在对CentOS 7.2进行初体验,各种学习命令肿么用,不过其实大多和DOS是一样的,只是命令的表达上可能有点儿不一样,毕竟这些都不是一家出来的嘛~ 废话不多说 ...
- stackExchange.redis 实现模糊匹配批量查询
如果使用redis的频次较高,那么业务中经常会出现需要根据关键字进行批量查询,所以总结一下StackExchange中使用批量查询的方法(如果数据量很大,那么在redis中模糊查询很耗时,请慎用!) ...
- Jsp的table导出Excel
var idTmr; function getExplorer() { var explorer = window.navigator.userAgent ; //ie if (explorer.in ...
- Linux快捷键总结
使用Linux很久了,现对经常用到的快捷键做一个总结: 最重要的一个当然是tab了 [root@localhost ~]# cd /etc/sys sysconfig/ sysctl.conf sys ...
- 开发一个简单的chrome插件-解析本地markdown文件
准备软件环境 1. 软件环境 首先,需要使用到的软件和工具环境如下: 一个最新的chrome浏览器 编辑器vscode 2. 使用的js库 代码高亮库:prismjs https://prismjs. ...
- throw与throws
throws可以单独使用(一直上抛) throw要么和try-catch-finally语句配套使用,要么与throws配套使用 /** * 总结: * 1.throws是方法抛出异常.如: p ...
- Python内存释放
python自己管理内存,实际上,对于占用很大内存的对象,并不会马上释放. 举例,a=range(10000*10000),会发现内存飙升一个多G,del a 或者a=[]都不能将内存降下来.. de ...
- JDBC Request
1.下载jdbc驱动,放至jmeter安装目录的lib目录和lib\ext目录下 PS:自己操作的时候,由于JDBC Connection Configuration中驱动名称写错,前面多了一个空格, ...
- servlet异步处理机制
Servlet 3.0 之前,一个普通 Servlet 的主要工作流程大致如下:首先,Servlet 接收到请求之后,可能需要对请求携带的数据进行一些预处理:接着,调用业务接口的某些方法,以完成业务处 ...