运筹优化算法面试题——回忆版

本文分享了一次运筹优化算法面试的经历,包括多目标进化算法、网约车订单分配算法及多主体寻路算法的项目经验,同时总结了STL、拓扑排序、排序算法、图的遍历算法、迪杰斯特拉算法、红黑树等基础知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一次惨痛的运筹优化算法面试经历

项目方面

  我有三个项目经验,分别是:一个多目标进化算法的子算法,一个城际网约车订单分配算法,一个实习过程中提出的多主体寻路算法。

项目序号项目名称提问内容回答
1基于自适应局部搜索链的多目标模因算法1)多目标解的评价标准?2)类比于EA(种群的初始化,交叉、变异、选择等),说说提出的算法的对应关系;3)解的构造方法。1)帕累托占优;
2网约车智能调度系统算法与应用研究     此项目是实际应用项目?问题是什么?现在有没有应用。具体问题的描述

基础知识

1.STL相关知识
  STL:(standard template libaray --标准模板库):是C++标准库的重要组成部分,不仅是一个可复用的组件库,而且是一个包罗数据结构和算法的软件框架。
  中心思想:将数据容器和算法分隔开,彼此独立设计,最后再用黏合剂将它们撮合在一起。容器和算法的泛型化,可以用C++的class template和function template来实现,而二者的黏合剂就是迭代器了。
  六大组件:容器(Containers)、算法(algorithms)、迭代器(iterators)、仿函数(functors)、适配器(配接器 adapters)和配置器(allocators)。

2.拓扑排序的思想
  先统计所有节点的入度,对于入度为0的节点就可以分离出来,然后把这个节点指向的节点的入度减一。一直做该操作,直到所有的节点都被分离出来。

3.在排序算法中,时间复杂度为 O ( n l o g n ) O(nlogn) O(nlogn)的算法有哪些?时间复杂度为 O ( n ) O(n) O(n)的算法有哪些?
O(nlogn):shell、快速、堆和归并。
O(n):桶排序、计数排序和基数排序
4,图的遍历算法有哪些?深度优先遍历与广度优先遍历的比较?
实现方式:深度优先遍历用栈,广度优先遍历用队列;
与树的遍历关系:深度优先遍历对应树的先序、中序和后序三种遍历, 广度优先遍历对就树的层次遍历。
应用:深度优先遍历可以用来判断有向图是否有环。
5.迪杰特斯拉的原理?
在这里插入图片描述
1)指定一个节点,例如我们要计算 ‘A’ 到其他节点的最短路径
2)引入两个集合(S、U),S集合包含已求出的最短路径的点(以及相应的最短长度),U集合包含未求出最短路径的点(以及A到该点的路径,注意 如上图所示,A->C由于没有直接相连 初始时为∞)
3)初始化两个集合,S集合初始时 只有当前要计算的节点,A->A = 0,U集合初始时为 A->B = 4, A->C = ∞, A->D = 2, A->E = ∞
4)从U集合中找出路径最短的点,加入S集合,例如 A->D = 2
5)更新U集合路径,if ( ‘D 到 B,C,E 的距离’ + ‘AD 距离’ < ‘A 到 B,C,E 的距离’ ) 则更新U
6)循环执行 4、5 两步骤,直至遍历结束,得到A 到其他节点的最短路径
6.红黑树的特性?左红右黑是什么鬼?
以平衡二叉树实现,左右子树是最大深度差为多少呢

总结

  不想多说,是自己菜。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值