基数排序又称“桶子法”,是通过比较数字将其分配到不同的“桶里”来排序元素的。它是线性排序算法之一。 16、解释什么是递归算法? 递归算法是一个解决复杂问题的方法,将问题分解成较小的子问题,直到分解的足够小,可以轻松解决问题为止。通常,它涉及一个调用自身的函数。 17、提到递归算法的三个定律是什么? 所有...
算法工程师岗位面试真题及解析(20道) 算法工程师岗位相关的专业或业务类面试问题 一、请描述一下您在之前的工作中,具体负责的算法设计和优化经验。 考察点及参考回答: 1.专业技能:具体了解应聘者在过去的工作中如何设计和优化算法,可以评估他 们的技能水平和实际经验。
1. 排序算法:常见的排序算法包括冒泡排序、插入排序、选择排序、快速排序、归并排序等。面试官可能会要求你实现某种排序算法,或者分析不同排序算法的时间复杂度和空间复杂度。 2. 查找算法:常见的查找算法包括线性查找、二分查找、哈希表等。面试官可能会要求你实现某种查找算法,或者分析不同查找算法的时间复杂度和空间...
LRU 缓存算法 最小生成树算法(Prim 和 Kruskal 算法) 拓扑排序 在面试过程中,除了了解这些算法和数据结构的原理之外,最重要的是能够熟练地在白板上或者编程环境中实现它们,并能够分析其时间复杂度和空间复杂度。
十八、贪心算法1、题目描述:// 贪心算法 // 贪心算法是一种在解决优化问题时使用的算法思想,其核心思想是每一步选择当前状态下的最优解, // 而不考虑未来可能造成的影响。虽然贪心算法不能保证得到全局最优解, // 但在某些情况下,它可以快速找到一个相对较好的解决方案,并且具有高效性。 // 经典问题:找零钱...
java面试经典算法题 java面试常考算法 常见算法 1、7种常见排序算法 1.1、冒泡排序 1.2、简单选择排序 1.3、直接插入排序 1.4、希尔排序 1.5、归并排序 1.6、快速排序 1.7、堆排序 1、7种常见排序算法 7种常见排序算法的时间复杂度、辅助空间以及稳定性对照表。
算法工程师面试常考手撕题(二)—— AI深度学习算法 手撕IOU IoU(Intersection over Union),又称重叠度/交并比。 1 NMS:当在图像中预测多个proposals、pred bboxes时,由于预测的结果间可能存在高冗余(即同一个目标可能被预测多个矩形框),因此可以过滤掉一些彼此间高重合度的结果;具体操作就是根据各个bbox的score...
面试常考算法题(三)–快速排序 快速排序 经典快速排序 快速排序(Quicksort)是对冒泡排序的一种改进。 快速排序由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,...
数据结构和算法面试常见题必考以及前端面试题 1.数据结构和算法 1.1 反转单向链表 代码语言:javascript 复制 publicclassNode{publicint value;publicNode next;}publicNodereverseList(Node head){Node pre=null;Node next=null;while(head!=null){next=head.next;head.next=pre;pre=head;head=head.next}returnpre...