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

简答题

  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
相关推荐
_落纸2 天前
三大基础无源电子元件——电阻(R)、电感(L)、电容(C)
笔记
Alice-YUE2 天前
【CSS学习笔记3】css特性
前端·css·笔记·html
2303_Alpha2 天前
SpringBoot
笔记·学习
Hello_Embed3 天前
STM32HAL 快速入门(二十):UART 中断改进 —— 环形缓冲区解决数据丢失
笔记·stm32·单片机·学习·嵌入式软件
咸甜适中3 天前
rust语言 (1.88) 学习笔记:客户端和服务器端同在一个项目中
笔记·学习·rust
Grassto3 天前
RAG 从入门到放弃?丐版 demo 实战笔记(go+python)
笔记
Magnetic_h3 天前
【iOS】设计模式复习
笔记·学习·ios·设计模式·objective-c·cocoa
周周记笔记3 天前
学习笔记:第一个Python程序
笔记·学习
丑小鸭是白天鹅3 天前
Kotlin协程详细笔记之切线程和挂起函数
开发语言·笔记·kotlin
潘达斯奈基~3 天前
《大数据之路1》笔记2:数据模型
大数据·笔记