目录
-
- 1. 十大排序简述
- 2. 请写一个方法判断一个整数是奇数还是偶数。
- 3. 请写一个方法判断一个整数是否是2的n次方。
- 4. 对字节变量,其二进制表示法中求有多少个1,如 00101010则返回值为 3,也是要求效率最高。
- 5. 100万的数据选出前1万大的数
- 6. 二分查找
- 7. BFS(广度优先搜索)
- 8. DFS(深度优先搜索)
- 9. 请写出求斐波那契数列任意一位的值的算法
- 10. 下列代码在运行中会产生几个临时对象?
- 11. 怎么判断一个点是否在直线上?
- 12. 判断点是否在线段上?
- 13. 解决哈希冲突的方法
- 14. 常用的hash算法
- 15. 逆矩阵的作用
- 16. 数组和 List 的区别
- 17. 数据结构中数组和链表各有什么特点,什么场合下应该使用数组,什么 场合下应该使用链表
- 18. 请简要介绍Unity中常用数据结构
- 19. Unity中常见的碰撞算法
- 20. Unity中常见的路径搜索算法
- 21. Unity中常见的曲线插值算法
- 22. 请解释Unity中的递归算法的性能问题,以及如何避免性能问题?
- 23. 简要介绍Unity中的常用的随机化算法?
- 24. 简要介绍Unity中常用的光照算法?
1. 十大排序简述

-
十种常见排序算法可以分为两大类:
- 比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。
- 非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此也称为线性时间非比较类排序。
-
冒泡排序(Bubble Sort)
冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。 -
选择排序(Selection Sort)
选择排序(Selection-sort)是一种简单直观的排序算法。它的工作原理:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。 -
插入排序
本文详细总结了Unity面试中关于数据结构和算法的重点,涵盖了十大排序算法、奇偶性判断、2的n次方判断、字节变量1计数、大数排序策略、二分查找、广度优先搜索(BFS)与深度优先搜索(DFS)、斐波那契数列计算、哈希冲突解决方法、常用哈希算法、逆矩阵的意义、数组与List的区别、数组和链表的适用场景,以及Unity中的碰撞算法、路径搜索算法、曲线插值算法和随机化算法等,旨在帮助面试者全面准备Unity开发的算法知识。
订阅专栏 解锁全文
数据结构和算法篇 【全面总结 | 持续更新】&spm=1001.2101.3001.5002&articleId=135427642&d=1&t=3&u=eeb09b4d0c5d4520ac2b091f6636c073)
1万+

被折叠的 条评论
为什么被折叠?



