数据结构_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.大多是线程代码,没办法,那时候总觉得多线程是个很难的部分很少用到,所以一直没下决定去啃,那些年留下的坑,总是得自己跳进去填 ...
随机推荐
- SecureCRT常见配置
不自动断开连接 颜色设置 然后再在/etc/bash.bashrc中加入这句话alias ls='ls --color',其实意思就是以后所有的ls命令,就是ls –color命令
- VS2017开发.net core 时默认发布路径文件夹多个BPC
新安装的VS2017,编译后进行发布,结果在bin文件夹下多了个BPC文件夹,很是费解,查了资料才知道是VS2017默认设置了环境变量.在此记录下,如果不需要默认路径可修改环境变量,具体操作如下: 我 ...
- Java垃圾回收算法和内存分配策略
垃圾回收算法和内存分配策略 Java垃圾回收 垃圾收集,也就是GC并不是Java的伴生物,而对于GC的所需要完成任务主要就是: 1.哪些内存是需要回收的? 2.何时去回收这些内存? 3.以何种方式去回 ...
- Windows10 搭建JAVA环境变量
系统:Windows10 软件:Java SE 8 配置详细过程 1.“此电脑”,右键→“属性,选择“高级系统设置”(也可从控制面板,系统和安全,系统,找到此页) 2.选择环境变量,再系统环境变量 3 ...
- vue 特点
1.双向绑定 v-model 2.组件化 页面扩展 单文件组件 js css html 都在一个文件中 好处:前端组件化的突破性设计 scoped限制css的渲染,防止污染 lang 定义预处理器 ...
- 北航OO第二单元总结
电梯调度的设计策略 第一次作业是单部多线程傻瓜电梯 这次作业的电梯名副其实是一部傻瓜电梯,每次只能运一个人.出于线程安全的考虑,选择了阻塞队列.然后按照先来先服务的原则服务下一个指令.没有什么复杂的设 ...
- 在eclipse中安装groovy插件
在eclipse中安装groovy插件详细步骤: step 1:检查自己的eclipse版本:在help->About Eclipse中查看: step 2:进入 https://github. ...
- sqlloader 往数据库导数据提示数据文件的字段超出最大长度
当我们用sqlloader往数据库导数据提示被拒绝,数据文件的字段超出最大长度.但是我们不管怎么改提示字段的长度的时候仍然提示超出最大长度. 这个是因为ctl文件中默认为char256,超过256需要 ...
- EM算法(期望最大化算法)
适用场景:存在为未测变量的情况下,对模型参数进行估计. EM算法: input:观测数据Y,为观测数据Z,联合分布P(Y,Z|θ),条件分布P(Z|Y,θ) output:模型参数θ 步骤: (1)选 ...
- django 模板 (ああああああああ!かぴ)
一 常用 1. {{ 不存在 | default : "xx" }} 2. {{ name | length }} 3. {{ xx | slice "1:-1" ...