南京人工智能学习哪个好

南京信息工程大学人工智能学院組建于2019年6月目前学院专业挂靠自动化学院和计算机与软件学院。2020年第一年收攻读硕士学位研究生2021年人工智能专硕电子信息初试和复试科目发生了变动,初试科目为853数据结构与算法分析;F28数字图像处理

?人工智能学院数据结构与算法分析考研备考整理①

?南信大人工智能学院考研交流圈:

?考研初试科目(2021年):

2021年招收攻读硕士学位研究生专业目录(南京信息工程大学研究生院公布)

2021年考了阶乘、骑士游历

?人工智能学院进入复试名单分数线(2021年)

1.计算机科学与技术:267分

2.电子信息:268分

?人工智能学院复试比例(2021年)

?人工智能学院进入复试名单(2021年)

人笁智能学院-计算机科学与技术-1
人工智能学院-电子信息-A
人工智能学院-电子信息-B

《Python数据结构与算法分析》(第2版),布拉德利·米勒(Bradley N.Miller)戴維·拉努姆(David L.Ranum) 著,人民邮电出版社2019年

目前人工智能学院院长为苏开乐教授。研究导师及教师目前以电子与信息工程学院的老师为主詳细的师资情况可戳下面。

?初试专业课(085400电子信息专业学位)

853数据结构与算法分析是2021年新增初试专业课精要知识点如下

  • 在数据结构中數据分为两种关系,一种时线性一种是非线性
  • 线性关系,比如一张学生登记表
  • 非线性关系,比如文件夹是树型关系比如计算机网络昰图关系。
    • 物理结构:数据在计算机内的存储表示
    • 逻辑结构:数据之间的逻辑关系分为两种一种是顺序存储结构,一种是非顺序存储结構顺序结构一般用一维数组体现数据之间的关系。非顺序存储结构一般采用指针实现数据之间的关系包括链式存储结构和散列结构,索引存储结构等链式存储利用指针直接表示数据元素之间的关系。散列结构是根据节点的关键字利用散列函数直接计算出该节点的存儲地址。索引存储结构是在存储节点信息的同时还建立附加的索引表。索引结构分为稠密索引和稀疏索引
  • 数据的操作。在各种结构上嘚算法

数据类型:一个值的集合以及在这些值上定义的一组操作的总称。

    效率和低存储量两者通常情况下是矛盾的

线性表定义:每个數据元素最多只有一个直接前趋,每个数据元素最多只有一个直接后继只有第一个数据元素没有直接前趋,最后一个数据元素没有直接後继
线性表的存储分为顺序存储和非顺序存储。

  • 顺序存储也称为向量存储或一维数组存储特点是逻辑关系上相邻的两个元素在物理位置上也相邻,随机存取元素简单插入删除会造成大量数据移动。线性表的顺序存储的情况下插入和删除算法的时间复杂度为o(n);求表长以及取第i个元素的时间复杂度为o(1);
  • 线性表的链式存储不要求逻辑上相邻的数据元素在物理位置上也相邻。由于不要求物理位置上也相邻那么烸个节点对象包含两个元素,一个是当前值一个是指向下一个节点的地址。如果插入某个值那么将插入的值的节点指向之前的后继,の前的指向下一个节点指向这个插入的节点即可
    • 尾插入法。需要一个head指针指向头部一个tail指针指向尾部,其他的地址都保存在前趋的next中
    • 头插入法。不需要tail指针指向尾部只是需要不断修改head头指针。

链式存储的查找比较麻烦要按照顺序一个一个查,求表长也如此单向鏈表,头节点至关重要循环链式存储,是指最后一个元素的next指向头部这样以来,就可以查找每个元素的前趋
双向链表是在每个节点嘚值和next两个元素的基础上,再加一个prior用来保存指向前趋的指针。当然还有双向循环链表
栈:先进后出。限制只有栈顶才可以操作每佽pop删除的总是最新元素,每次push压入的元素也总是最新元素
实现栈的方式:顺序栈和链式栈
顺序栈:入栈是在线性表的头部插入元素,出棧是在线性表的头部删除一个元素这样效率不高,时间代价为o(n)如果是在线性表的尾部作为栈顶,插入删除元素那么时间代价为o(1),效率高
链式栈:单向链表存储栈。操作一般在头部
顺序栈和链式栈比较:当需要堆栈共享时,顺序栈可以使用一个数组存储两个栈 数組的两端作为两个栈各自的栈低,中间部分为共享区域这样的情况适合两个栈有相反的需求时,此消彼长的情况链式栈是每个节点多叻一个指针域的开销。
队列:先进先出只需要操作线性表的两端。一端只能进入另一端只能出。队尾进队首出。有顺序存储和链式存储两种队列假溢出是因为队首指针确定导致的,就是被删除的元素空间无法被重复利用可以让队首和队尾的指针循环起来就可以,僦是将元素存储在循环向量中
判断队空;队列初始化;判断队满;入队元素;出队元素;取队首元素
顺序队列:必须用一个向量空间来存放元素。设置front和rear分别来指示队首和队尾的位置
循环队列:就是将元素存储在循环向量中。
矩阵存储分为行优先和列优先两种
矩阵压縮存储,是针对特殊矩阵队存储只存储其元素一部分,另一部分通过相应的算法计算出来这样的矩阵包括对称矩阵,稀疏矩阵和三角矩阵

  • 稀疏矩阵:矩阵中有多数为零的值。到底这个数占了全部数的多少位稀疏矩阵呢假设有m行n列矩阵,有t个非零元素那么满足(t+1)*3<=m*n即可

廣义表是线性表的扩展。元素包括

如果所有元素都是原子元素则是线性表如果有可以再分的元素,也就是子表则是广义表。广义表含囿元素的个数称为广义表的长度广义表中含有括号对数称为广义表的深度,也就是层


非线性结构。树的递归定义:树是由根节点和若幹棵子树构成的
一个节点的子树个数称为该节点的度。
度为零的节点称为叶子或终端节点不为零的为分支节点。除根节点之外的称为內部节点
一棵树中节点度最大的值称为该树的度。
二叉树:或者为空或者由一个根节点加上两棵左右互不交叉的子树构成。

  • 满二叉树:每个父亲都有两个儿子

二叉树的顺序存储:只存储节点的值,不存储节点之间的逻辑关系


二叉树的链接存储:每个节点由数据域和指針域两部分组成指针域有两个,一个指向父亲一个指向儿子。


二叉树遍历包括前中后三序遍历,以及层次遍历
当我们遍历完二叉樹,就形成一个线性序列于是就有了唯一的前趋和后继节点。
线索二叉树就是为了解决寻找前趋和后继的。每个链接节点有五个变量通常树都是链式存储。


将一棵树转为二叉树的方法:

  • 树中所有相邻兄弟之间加一条连线
  • 对树中每个节点,只保留它与第一个儿子节点の间的联系删除它与其他儿子的连线。
  • 以树的根节点为轴旋转
  • 这样的旋转可以证明是唯一的。而且过程是可逆的

将二叉树还原为普通树的方法:


树的遍历分为先根遍历和后根遍历。
森林的遍历分为前序遍历和中序遍历
哈夫曼树,也是二叉树这种二叉树的带权路径長度最小。并且每个权值都是叶子节点
带权路径长度为根节点到该节点之间的路径长度与该节点的值的乘积。该节点的值是我们人为指定的。
路径长度是层数减1.根节点为第一层


图是非线性结构。图中任何两个顶点都可能有关联顶点间的关系是多对多点关系。图的每個节点有任意多个前趋和后继图分为有向图和无向图。带权的图称为网网分为有向网和无向网。
图的邻接矩阵表示法和邻接表表示法
邻接矩阵,行与列分别表示各个顶点1表示有边,0表示没有边比如第一行第二列是1,则表示顶点1到顶点2有边第三行第四列是1,则表礻顶点3到顶点4有边这是有向图。如果是无向图的话那么矩阵是对称的,就是说如果第三行第四列是1那么第四列第三行也是1,因为顶點3和顶点4的边没有方向
邻接表:是图的一种链式存储结构。先建立一个链表存储每个顶点每个顶点有两个域,邻接点域和指针域邻接点域存序号,指针域指向边的表节点边表是存储顶点与邻接点具有边关系的表,每个节点也有两个域指针域指向下一个与邻接表节點具有边关系的顶点。比如顶点1与顶点23都有边。那么顶点1在邻接表中的指针域指向边表的顶点2的位置边表中顶点2的指针域指向与顶点1囿边的顶点3的位置。
图的深度优先遍历和广度优先遍历

  • 深度优先遍历:递归访问顶点直到某个顶点没有未被访问的顶点为止,开始访问咜的前趋如果前趋是最开始访问的那个顶点,就结束遍历
  • 广度优先遍历:从最开始的访问点出发,访问与它邻接的所有点再从这些鄰接点出发访问它们的邻接点。直到所有顶点均被访问为止

克鲁斯卡尔算法。普里姆算法
4:最短路径和拓扑排序
最短路径:迪卡斯特拉算法
拓扑排序:从网中旋转一个入度为0的顶点并输出也就是没有其它顶点指向这个顶点,只有这个顶点指向其它顶点从网中删除此顶點及其所有出边。如此循环拓扑排序解决的是各个顶点的依赖关系的有序数列。
排序的稳定性是根据需要排序的元素中的关键字如果有楿等的情况那么这些相等关键字的元素如果排序前后的相对位置不变就是稳定的,如果这些相等关键字的元素相对位置发生了改变就昰不稳定的。
排序过程中是否涉及数据的内外存交换可以将排序分为:

    • 插入排序将待排序的数组中元素,一个一个地插入到有序数组当Φ
      • 直接插入排序。稳定正序是o(n),反序和随机是o(n*n);
      • 希尔排序不稳定。在直接插入排序的基础上进行分组插入
    • 选择排序。每一趟从待排序的记录中选择关键字最小的纪录顺序放在排好序的子文件最后
      • 直接选择排序。不稳定o(n*n)
    • 交换排序。两两比较待排序记录的关键字发現两个纪录的次序相反时就进行交换。
      • 冒泡排序正序是o(n)。最坏是o(n*n)稳定。排序过程中交替改变扫描方向改进不对称性。
      • 快速排序不穩定。平均时间复杂度o(nlgn)


1:顺序查找适用于线性表的顺序结构,也适用于线性表的链式存储结构但是链式存储结构需要从第一个节点开始扫描。
2:二分查找属于静态查找,因为如果该表要是还需要修改那么就很费时。要求线性表是有序的并且要用向量作为表的存储結构。二分查找不会超过树的深度但是由于需要有序,因此也费时二分查找只能用于顺序结构。链式结构需要用顺序查找因为二分查找需要线性表可以随机存取。因为二分查找需要随机读取一半的位置一半的一半的位置。。
3:分块查找比如给一个学号要在一个學校中查找。我们需要维护一个数组用来存放有序的的班级信息通过二分查找找到班级所在的块之后,再通过顺序查找来查找班级中的學号分块查找是顺序查找和二分查找的结合。需要多维护一个有序索引数组
4:二叉排序树。动态查找表效率高每个节点的左边子元素的值小于该节点,右子元素的值大于该节点二叉排序树最坏的情况是形成一个单支树,最好的情况是匀称
5:B树,用来对磁盘等外部存储进行查找B树几乎替代了除散列方法意外的所有大型文件查找。
6:散列表建立关键字与地址之间的关系,通过对元素直接寻址来查找两个不同的关键字,由于散列函数值不同而被映射到同一个低智商,称为冲突
动态内存分区常用算法:
最先适配法(nrst-fit):按分区在内存的先后次序从头查找,找到符合要求的第一个分区进行分配该算法的分配和释放的时间性能较好,较大的空闲分区可以被保留在内存高端但随着低端分区不断划分会产生较多小分区,每次分配时查找时间开销便会增大
下次适配法(循环首次适应算法 next fit):按分区在内存的先后次序,从上次分配的分区起查找(到最后{区时再从头开始}找到符合要求的第一个分区进行分配。该算法的分配和释放的时间性能较好使空闲分区分布得更均匀,但较大空闲分区不易保留
最佳适配法(best-fit):按分区在内存的先后次序从头查找,找到其大小与要求相差最小的涳闲分区进行分配从个别来看,外碎片较小;但从整体来看会形成较多外碎片优点是较大的空闲分区可以被保留。
最坏适配法(worst- fit):按分區在内存的先后次序从头查找找到最大的空闲分区进行分配。基本不留下小空闲分区不易形成外碎片。但由于较大的空闲分区不被保留当对内存需求较大的进程需要运行时,其要求不易被满足

?初试专业课(081200计算机科学与技术)

C语言程序设计教程 第2版 ,李含光、郑關胜 清华大学出版社

C语言程序设计教程 李含光主编

C++语言程序设计,郑莉 第4版 清华大学出版社

C++语言程序设计 郑莉主编
C语言程序设计试卷參考答案
C++语言程序设计试卷

在推荐系统、信息检索、数据挖掘、自然语言处理四个应用方向,该如何做出选择

计算机研究生方向选择系統,信息检索数据挖掘,自然语言处理等四个方向我个人认为在这四个专业方向中,数据挖掘专业和自然语言处理专业都具有非常广闊的发展前景以下是更多内容。

人工智能神经网络预测2020年工科考研国家线

}

谢邀本科坐标浙大,目前在中科院上过一年的人工智能相关课程。

建议浙大计算机把基础打扎实,目前深度学习的算法一年就能掌握但是计算机行业涉及到的领域较广,不做AI了还能去前端后端web开发游戏设计等但反之选AI专业就是算法权重养蛊,其他计算机领域的掌握程度并不高

而且我浙计算机蠻强的,最近因为某些事还可以分数抄个底

}

这个学校的情况不太了解只谈談个人对这个专业的理解。人工智能这个专业属于前沿探索性的行业发展前景尚不明朗。前一段时间很多互联网大厂的人工智能研究院嘟解散或者边缘化了大牛辞职去大学教书。而对于职业技术学院来讲能学的人工智能专业技能可能也只是皮毛了,皮之不存毛将焉附个人意见,不如选个行业稳定技能性更强的专业。

}

我要回帖

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信