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

简答题

  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
相关推荐
麟城Lincoln1 小时前
【Linux笔记】nfs网络文件系统与autofs(nfsdata、autofs、autofs.conf、auto.master)
linux·网络·笔记·nfs·autofs
田梓燊3 小时前
数学复习笔记 12
笔记·线性代数·机器学习
愚润求学3 小时前
【Linux】进程间通信(一):认识管道
linux·运维·服务器·开发语言·c++·笔记
霸王蟹4 小时前
React中useState中更新是同步的还是异步的?
前端·javascript·笔记·学习·react.js·前端框架
霸王蟹4 小时前
React Hooks 必须在组件最顶层调用的原因解析
前端·javascript·笔记·学习·react.js
珊瑚里的鱼4 小时前
【滑动窗口】LeetCode 1658题解 | 将 x 减到 0 的最小操作数
开发语言·c++·笔记·算法·leetcode·stl
请你喝好果汁6416 小时前
Jupyter Notebook 配置学习笔记
笔记·学习·jupyter
Lester_11018 小时前
嵌入式学习笔记 - STM32 ADC 模块工作模式总结
笔记·学习
愚戏师15 小时前
Linux复习笔记(六)shell编程
linux·笔记·shell
.(ᗜ ˰ ᗜ) .16 小时前
机器学习笔记2
笔记