iOS面试题12-数据结构算法篇

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS面试题12-数据结构算法篇相关的知识,希望对你有一定的参考价值。

参考技术A

《 2018 ios面试题系列 》

        这里没有图啊,大家可以抽象一下。

        数据结构的存储一般常用的有两种 顺序存储结构 和 链式存储结构

        发挥想象力啊。 举个列子。数组。1-2-3-4-5-6-7-8-9-10。这个就是一个顺序存储结构 ,存储是按顺序的 举例说明啊。 栈。做开发的都熟悉。栈是先进后出 ,后进先出的形式 对不对 ?!他的你可以这样理解

        hello world 在栈里面从栈底到栈顶的逻辑依次为 h-e-l-l-o-w-o-r-l-d 这就是顺序存储 再比如 队列 ,队列是先进先出的对吧,从头到尾 h-e-l-l-o-w-o-r-l-d 就是这样排对的

        再次发挥想象力 这个稍微复杂一点 这个图片我一直弄好 ,回头找美工问问,再贴上 例如 还是一个数组

        1-2-3-4-5-6-7-8-9-10 链式存储就不一样了 1(地址)-2(地址)-7(地址)-4(地址)-5(地址)-9(地址)-8(地址)-3(地址)-6(地址)-10(地址)。每个数字后面跟着一个地址 而且存储形式不再是顺序 ,也就说顺序乱了,1(地址) 1后面跟着的这个地址指向的是2,2后面的地址指向的是3,3后面的地址指向是谁你应该清楚了吧。他执行的时候是 1(地址)-2(地址)-3(地址)-4(地址)-5(地址)-6(地址)-7(地址)-8(地址)-9(地址)-10(地址),但是存储的时候就是完全随机的。明白了?!

        还是举例子。理解最重要。不要去死记硬背 哪些什么。定义啊。逻辑啊。理解才是最重要滴

二叉树有五种表现形式

       二叉树可以转换成森林 树也可以转换成二叉树。这里就不介绍了 你做项目绝对用不到

       数据结构大致介绍这么多吧。理解为主, 别死记,死记没什么用

从现在开始介绍算法啊

       二叉树这个比较麻烦 还有平衡二叉树 有点绕 如果不懂二叉树这一块 你是百分之二百看不懂的

原文链接

国内搜索大哥iOS面试题

      每一次面试之后都会对问到的面试题进行总结。

这篇总结的是我面试某大型搜索公司的iOS面试题。一面(15min)+二面(30min)。并拿到实习offer。当然在今天这个特殊的节日,祝大家新年快乐。希望大家都能拿到合适的offer。

一面电面:15min;
1.算法:数组中(无序的正整数数)怎样找到第n大的数;
2.算法:数组中1—100的无序数字怎样找到第n大的数;(遍历计数)
3.讲一讲OC中的执行时,动态性;
4.OC中是怎样找到一个方法的,通过函数名key的方式找到的,每个函数名肯定是不一样的。
5.OC中有没有函数重载(没有);Swift中有没有函数重载(有的)。
6.内存管理,MRC,ARC的差别;
7.releasepool被释放了,里面的对象都会被释放吗?过程是怎样的。

二面电面:30min;
1.C++和OC 的内存管理比較,以及实现方式。
2.两个数组,一个有100万的数据,还有一个有1亿的数据,怎样找出同样的数据,时间复杂度是什么?
3.OC的MRC,ARC。
4.C++和OC有哪些差别;
5.Swift与OC有哪些差别。
6.冒泡排序和高速排序的时间复杂度;
7.如今OC用的多还是Swift用的多,为什么?

     假设有不论什么问题,欢迎交流哦。。。

以上是关于iOS面试题12-数据结构算法篇的主要内容,如果未能解决你的问题,请参考以下文章

iOS开发,重点iOS技术点+面试题整理

200道大数据面试常考Leetcode算法题--数组篇02(python带代码解析)

12道Java算法与编程面试题

Java八股文面试题 基础篇 -- 二分查找算法冒泡排序选择排序插入排序希尔排序快速排序

Java八股文面试题 基础篇 -- 二分查找算法冒泡排序选择排序插入排序希尔排序快速排序

iOS数据结构与算法面试题合集