2025年AI保研复试八股文~专业+数学,这两天还在更新中

高频八股

线代的特征值,线性相关,概统的贝叶斯,中心极限定理,计网的TCP,UDP,操作系统的进程与线程等等

专业课AI

数据结构

树、图、查找、排序

>> 1.什么是数据结构?三要素?

数据结构是相互之间存在一种或多种关系的数据元素的集合(其实就是要怎么选择合适的方式表示这些数据吧)
三要素:逻辑结构(线性、非线性)、存储结构(链式、顺序)、数据的运算

>> 2.哈希表?栈和队列?

  • 哈希表
    是通过🔑直接访问得数据结构,实现 O ( 1 ) O(1) O(1)查找插入删除

  • 是先进后出得数据结构,像是个容器,底下是封闭的
  • 队列
    是先进先出得数据结构,是像消化道,头尾都敞开的,队头删除、队尾插入

>> 2.常见的排序算法

  • 插入排序(e.g.整理麻将牌):
    就是从前往后,每往后拿一个放到排好的里面,都要保证码好的牌顺序正确,挺麻烦的
    ⏱️时间复杂度: O ( n 2 ) O(n^2) O(n2)稳定
  • 冒泡排序(e.g.比奇堡比高矮):
    从头到尾,依次两两比较大小,大的往后挪,每一轮会下沉冒出一个最大值到最后。
    ⏱️时间复杂度: O ( n 2 ) O(n^2) O(n2)稳定
  • 选择排序从前往后排最小的):
    每轮找出剩下里面最小的往前放
    ⏱️时间复杂度: O ( n 2 ) O(n^2) O(n2)
  • 快速排序(e.g.外国人的魔性快排舞蹈正经快排过程):
    每次都选轴点pivot,有双指针一头一尾,先从尾巴开始找,直到找到轴点的数小的,二者换位置,再从头找直到找到比轴点大的,就这么一直左右切换,直到左右指针相遇。然后在轴点的前面继续重复,后面继续重复(这里的下一轮过程记得注意一下。)
    ⏱️时间复杂度: 最好/平均 情况 O ( n log ⁡ n ) O(n \log n) O(nlogn),最坏也是 O ( n 2 ) O(n^2) O(n2)
    缺点:不稳定,坏:两边不平衡每次只能划出一个元素
  • 希尔排序(e.g.希尔演示过程):
    shell发明的,很简单,就是分很多组,排序总个数/2/4/…。直到1,前面排过之后,1的时候就很快了。有一个步长的概念
    ⏱️时间复杂度: 很不稳定
  • 归并排序两个排好的序列很好合并):
    分治思想,其实就是把序列一直切分到最细,然后两两排,往上合并
    ⏱️时间复杂度: O ( n log ⁡ n ) O(n \log n) O(nlogn)稳定
    缺点:空间复杂度高
  • 堆排序
    利用完全二叉树,然后每次在根节点放 − ∞ -∞ ,再把树的最大移上去,就是此刻最大的,依次找下去,从大到小排

>> 3.【树】如何构建哈夫曼树?二叉树?满二叉树?完全二叉树?

  • 哈夫曼树
    是树的带权路径最短的二叉树=最优树🎋,一个堆数可以构造成各种形式的二叉树,理论上把数值大的放在靠近根节点,带权路径长度就越短。自底向上
    哈夫曼树的结构不唯一,创建会新增加n-1个节点,一共2n-1个节点,所有节点都变成了叶子节点
    • 树的带权路径长度WPL = 叶子节点的 x 节点路径长度(叶子到根有几条边
    • b站教程
  • 二叉树
    严格区分左右子树
  • 满二叉树
    除了叶子节点其他所有都是度为2,并且叶子节点全部都在同一层。(就是很规整丰满
  • 完全二叉树——堆
    叶子节点从左到右不间断,可以不满

>>4.树的三种遍历方式?

在DFS深度中,有3种遍历方式:前序、中序、后序。遍历的顺序如下:

  • 前序: 根 → 左 → 右 根\to左\to右
  • 中序: 左 → 根 → 右 左\to根\to右
  • 后序: 左 → 右 → 根 左\to右\to根
    已知前+中/中+后(中必须有),就可以唯一确定一颗二叉树

>> 4.贪心算法?动态规划?分治法?

都是分治法的思想,把大问题拆成几个子问题,用子问题的答案汇聚出大问题的。子问题之间是有交集的

  • 贪心算法
    是局部最优解,每一步都是当下最好的选择,做选择时不会回头修改之前的决策,直到结束。如最小生成树(prim/kruskal)。
  • 动态规划
    是全局最优,斐波那契数列会涉及重复计算。子问题重叠的情况,从小到大计算子问题的解,并且存起来
  • 分治法
    把大问题拆成独立子问题,分别求解子问题后合并得到原问题的答案。如归并排序、快速排序

>> 5.【图】最短路径算法?(Dijkstra算法?Floyd算法?)最小生成树算法?(Prim算法?Kruskal算法?)

  • 最短路径算法
    • Dijkstra算法 = 迪杰斯特拉
      外卖员送外卖
      求出有权无向图里面的某一个点到其他任意点的最短路径问题,基于贪心算法,比较并一直更新从村口到这个镇里所有人家的所有最短路径
    • Floyd算法 = 弗洛伊德
      有权有向图里面任意两点的最短路径,基于动态规划。不断比较 起点-终点 和 起点-n个中转点-终点的最小
  • 最小生成树算法
    分为Prim(普利姆)算法和Kruskal(克鲁斯卡尔)。是图里的应用,在无向图里面找出一个边权和最小的树🎋=花最小的成本来联通所有边。边权和一定唯一,但是树不唯一
    • Prim算法 =加点法:从一个节点出发,找边最小的下一个节点连起来,直到所有节点都点亮。适合在稠密图(边很多,因为边数不影响这个算法的效率,以找点为核心)里面找这个树
    • Kruskal算法 =加边法:先把节点全部写下来,边从小到大看要不要拿来连接节点,其中不能形成回路,已经连通的两节点不用再连边了。适合在稀疏图里面找最小生成树

6.介绍B树和B+树?

7.KMP算法?

高效的字符串匹配算法,长串找子串奶茶店前队伍找嫌疑犯 next数组
传统的字符串匹配是,从头开始校队主和子,不匹配了,子串一格一格往后挪。 O ( m ∗ n ) O(m*n) O(mn)
next数组=部分匹配表 O ( m + n ) O(m+n) O(m+n),记

8.DFS算法?BFS算法?

迷宫起点怎么到终点

  • DFS = depth first search
    深度优先搜素算法,
  • BFS
    广度优先搜索算法,

9.常见的二叉查找树?

提高数据的查找、输入、删除的速度

  • 普通二叉查找树BST=binary search tree

  • 平衡二叉查找树(AVL树)

  • 红黑树

ML机器学习

>> 1、常见的ML算法有哪些?

机器学习算法包括:监督学习、无监督学习、强化学习RL

  • 监督学习:回归分析、SVM(support vector machine支持向量机,分类 问题)、决策树(decision tree)
  • 无监督学习:K-Means聚类、主成分分析PCA
  • 强化学习:Q-learning、Policy Learning

SVM的核心思想:在特征空间找一个超平面,尽可能隔开不同类别的数据点
决策树的核心思想:用“是/否”划分数据成树状


>> 2、简要介绍KNN算法 vs K-Means

  • KNN=K近邻算法=k-nearest neighbors
    推理用的分类器, 可用于分类和回归。是基于距离监督学习方法

    • 核心思想:没训练,直接推理时基于样本数据的类别,决定测试样本要分到哪一类
    • 具体做法:先计算样本和训练集中其他样本的距离,选出最近的k个,然后多数投票(classification)和平均值(regression)预测样本
    • 优点:直观、不用训、适合多分类
    • 缺点:开销大、对高维数据(难算)和噪声(特殊数据)敏感
    • k一般选奇数,距离的计算有多种方式,如欧式距离、曼哈顿距离、余弦相似度等
  • K-Means=k均值聚类算法
    无监督聚类算法,

    • 具体做法:定k,随机选k个质心,把样本分给最近的质心,每一簇内重新计算质心(簇内所有点均值),然后重复,最终分出k类,每类里的样本相似
    • 用这个方法迭代出一个”分类器“吧(不算训练,就是推理的时候你放样本,就可以分出类了)

>> 3、激活函数是什么?常见有哪些?作用?

  • 激活函数=activation function,是引入非线性的关键(NN神经网络的每一层都是线性+非线性)
  • 常用的激活函数:
    • Sigmoid:倒S,0-1,概率,适合二分类,容易梯度消失
    • ReLU:简单,保留正值,负的为0。用于CNN/MLP,可能会梯度消失,因为直接左边负的神经元死亡了
    • Softmax:像指数,用于最后一层多分类,把输出转成概率分布
    • Tanh:输出(-1,1),用于传统RNN
      作用:引入非线性,否则无论多少层都是线性组合,无法拟合复杂数据。让模型更复杂,影响梯度传播和收敛速度

>> 4、Sigmoid 和 Tanh 两个激活函数存在什么问题?

两人都容易造成梯度消失,因为靠近两边导数0了,
可用ReLU缓解,但是他也存在死神经元,只激活部分神经元。
进一步,可用Leaky ReLU、GELU改进的激活函数


>> 5、线性回归 ?逻辑回归?softmax回归?

  • 线性回归=Linear Regression:
    解决回归问题(预测连续值)
    e.g.:房价预测,更根据面积、位置等特征,输出具体的房价数值多少💴
    • 损失函数:最小二乘法(均方误差MSE
    • 输出范围:实数 ( − ∞ , ∞ ) (-∞,∞) (
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值