备战百天,准备机考【机考笔记】

简答题

  1. 数组/列表的索引为什么是从0开始的?
    从0开始能够给出更好的不等式,元素下标就等于序列中它前面的元素数
  2. 数组和链表之间有什么异同点?
    数组是将一种相同类型元素存储在连续存储空间的数据结构
    连标是线性数据结构,每个元素都是单独的对象,各个元素之间通过指针链接
    不同点:数组连续 链表不连续
  3. 数组和列表之间有什么异同点?
    列表是长度可变的数组,可以在运行中实时扩容
  4. 在你所使用的编程语言中,数组和列表之间是否存在严格的区别?
    在python中并没有太大区别
  5. 栈的特点是什么?队列的特点是什么?
    栈 后进先出的线性表
    队列:先进先出的线性表
  6. 你能否用一个双向队列来实现一个栈?
    可以
  7. 优先队列和队列之间有什么异同点?
    都是队列 优先队列可以直接插入和删除
  8. 哈希表和数组之间有什么异同点?
    哈希表查找更快
  9. 哈希表(map)和哈希集合(set)之间有什么异同点?
    map是一组键值对结构,有极快的查找速度
    集合(set) 是一组key 的集合不储存value set中没有重复的key
  10. 给定一个数组[5, 3, 8, 1, 9, 6, 7, 8, 2],请描述用这个数组构建一个单调递减栈(从栈顶到栈底单调递减)的过程。
    为了构建一个单调递减栈,我们需要从数组的从左到右依次遍历元素,并根据以下规则来维护栈的单调递减性:
    1.如果栈为空,或者栈顶元素大于或等于当前元素,则将当前元素直接压入栈
    2.如果栈顶元素小于当前元素,则将栈顶元素弹出,直到栈顶元素大于等于当前元素或者栈为空,然后将当前元素压入栈
    过程:以下是构建单调送减栈的详细步聚:
    输入数组
    5,3,8,1,9,6,7,8,2
    过程步骤
    1.开始时,栈为空
    2.处理元素 5:
    。栈为空,将5压入栈.
    栈状态: 5
    3.处理元素 3:
    栈顶元素 5 大于 3,直接将 3 压入栈。
    栈状态: 5.3
    4.处理元表 8:
    栈顶元素 3 小于 8,弹出 3.
    新的栈顶元素 5 小于 8,弹出 5
    栈为空,将8 压入栈.
    栈状态: 8
  11. 处理元素1:
    。 栈顶元奏 8 大于 1,直接将 1 压入栈。
    栈状态: 8.1
    6.处理元素 9:
    。 栈顶元奏1 小于 9,弹出 1.
    。 新的栈顶元素 8 小于 9,弹出 8.
    。栈为空,将9压入栈,
    栈状态: 9
    7.处理元素 6:
    。栈顶元奏 9 大于 6,直接将 6压入栈
    栈状态: 9,6
    8.处理元表 7:
    ·栈顶元妻6 小于 7,弹出 6,
    新的栈顶元素 9 大于 7,将7压入栈。e
    。栈状态:9.7
    9.处理元素 8:
    栈顶元素7 小于 8,弹出 7
    新的栈顶元妻 9 大于 8,将 8 压入栈。e
    栈状态: 9.8
    10.处理元素 2:
    栈顶元奏 8 大于 2,直接将 2 压入栈.
    栈状态: 9,8,2
相关推荐
TMDOG66610 分钟前
TMDOG的Gin学习笔记_02——Gin集成支付宝支付沙箱环境
笔记·学习·gin
GeekAlice22 分钟前
算法笔记/USACO Guide GOLD金组Graphs并查集Disjoint Set Union
c++·经验分享·笔记·学习·算法
写代码的橘子n31 分钟前
软件工程笔记二—— 软件生存期模型
笔记·语言模型·软件工程
A_cot2 小时前
一篇Spring Boot 笔记
java·spring boot·笔记·后端·mysql·spring·maven
2401_858286119 小时前
L7.【LeetCode笔记】相交链表
笔记·leetcode·链表
龙中舞王10 小时前
Unity学习笔记(2):场景绘制
笔记·学习·unity
青椒大仙KI1111 小时前
24/11/7 算法笔记 PCA主成分分析
笔记·算法·信息可视化
光明中黑暗12 小时前
机器学习 笔记
人工智能·笔记·机器学习
明辉光焱13 小时前
Node.js笔记
javascript·笔记·node.js
RationalDysaniaer13 小时前
gin入门
笔记·gin