数据结构_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.大多是线程代码,没办法,那时候总觉得多线程是个很难的部分很少用到,所以一直没下决定去啃,那些年留下的坑,总是得自己跳进去填 ...
随机推荐
- PROJ.4学习——坐标系转换
PROJ.4学习——坐标系转换 前言 PROJ可以做任从最简单的投影到许多参考数据非常复杂的转换.PROJ最初是作为地图投影工具开发的,但随着时间的推移,它已经发展成为一个强大的通用坐标转换引擎,可以 ...
- Mvc请求的生命周期
ASP.NET Core : Mvc请求的生命周期 translation from http://www.techbloginterview.com/asp-net-core-the-mvc-req ...
- 利用本地浏览器远程服务器上的jupyter notebook
windows中访问远程服务器的方式有很多种:使用windows系统自带的网络功能,直接输入服务器地址访问:使用putty软件远程访问:使用xftp软件登陆:还可以使用x2go客户端图形界面远程访问. ...
- 关于基于LinphoneSDK通话项目开发中遇到的相关问题
在之前小学期的项目开发当中,我们小组进行的是使用网上开源的LinphoneSDK来开发一款Android端的VOIP电话APP. 因为网上关于这个SDK在安卓端的开发文档相当少,所以我们只能根据少量的 ...
- abstract、final和native几大注意点
变量不能被defalut修饰 native修饰方法,native修饰的方法简单来说就是:一个Java方法调用了一个非Java代码的接口.定义navtive方法时,并不提供实现体,因为其实现体是用非Ja ...
- Java NIO学习之Buffer
Bufer的capacity,position和limit: capacity: 表示buffer的容量. position: 写数据到Buffer中时: 表示当前的位置.初始的position值为0 ...
- 小程序中input设置宽度后宽度还有空间,但是placeholder被遮挡问题
最近在做小程序,已经设置了宽高,placeholder没有超出input宽度,却被挡住了一部分,上代码看一下: wxml: <view class='container'> <inp ...
- FZU-Problem 2294 Uint47 calculator
题目链接:http://acm.fzu.edu.cn/problem.php?pid=2294 题意:按照所给负号进行赋值.加.减乘.除和取余的操作. 解题思路:用map来存储字符串与值之间的对应关系 ...
- Problem 4: Largest palindrome product
A palindromic number reads the same both ways. The largest palindrome made from the product of two 2 ...
- ubuntu Error fetching https://gems.ruby-china.org/: Errno::ECONNREFUSED: Connection refused
排除网络原因的前提下 是 权限问题 用 sudo 来 执行命令即可 sudo gem sources -a https://gems.ruby-china.org/