![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
文章平均质量分 78
数据结构与算法
玛卡巴咖
程序猿蚂搂啊
展开
-
算法组-常见的数据结构基础
第三次压入8:数据站直接入栈,如果当前数不比最小栈栈顶小,重复压入最小栈栈顶5。第二次压入5:数据栈直接入栈,如果当前数比最小栈的栈顶要小,直接入栈。以此类推~,同时两个栈,入栈是同步的。:实现两个栈,一个数据栈(正常栈),一个最小栈,1)单链表和双向链表如何反转。第一次压入7:压入两个栈中。要求复杂度都为O(1)原创 2023-10-15 18:48:17 · 141 阅读 · 0 评论 -
算法组-异或运算与面试题
将a的二进制取反然后+1就能获取到最右侧1的位置,再与原来的数&运算,就获取到这个值。异或:相同为0,不同为1 (又称不仅为的无进位相加)异或:相同为1,不同为0。原创 2023-10-11 11:51:38 · 117 阅读 · 0 评论 -
数据结构与算法-数组(附阿里面试题)
给你一个文件里面包含全国人民(14亿)的年龄数据(0~180),现在要你统计每一个年龄 有多少人?下标:数组最优一个特点。这里可以通下标表示成有意义的数据,不只是数据里面的标记,年龄和下标对应。(太耗内存,考虑时间复杂度,同时排序算法最高复杂度为O(nlogn))(例如hadoop的MapReduce的切断)-->大题小作,没必要。不得使用现成的容器,比如map等。在以上情况下你该如何以最高效的方法来解决这个问题?随机访问:可以直接通过下标定位到数组中的某一个数据。原创 2023-08-12 20:51:04 · 183 阅读 · 0 评论 -
数据结构与算法之时间空间复杂度
1. 时间复杂度:运行一个程序所花费的时间。O()2. 空间复杂度:运行程序所需要的内存 OOM,开了空间的地方, 比如 数组 链表,缓存对象,递归学了时间复杂度,那我们的目的就是要把代码写到最优,效率最高;O(1)>O(logn)>O(n)>O(nlogn) 效果都是很好的。几乎优化的空间不是很大。登录:判断用户名密码O(1)到数据库里查记录;分布式 缓存。举例:要优化接口的话万一用的是冒泡排序,想要提升时间复杂度的话,就得知道冒泡排序的时间复杂度(O(n^2))。原创 2023-08-11 15:20:56 · 113 阅读 · 0 评论 -
判断一个数是否为2的N次方(阿里面试题)
用 if (n & (n - 1) == 0) 来判断一个数 n 是否为 2 的 n 次方是基于以下原理: 一个数如果是 2 的 n 次方,那么它的二进制表示中只有一位是 1,其余位都是 0。而在这种情况下,由于 n 和 (n - 1) 的二进制表示中最右边的 1 是不同的位,所以按位与运算的结果应该为 0。对于两个数的二进制表示,按位或运算将对应位上的两个数中至少有一个为 1 时,结果为 1;可以对两个数的二进制表示的对应位进行按位与运算,得到的结果是一个新的数,表示两个数对应位上的逻辑与运算结果。原创 2023-08-11 11:22:51 · 272 阅读 · 0 评论