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

简答题

  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
相关推荐
饕餮争锋1 小时前
设计模式笔记_行为型_访问者模式
笔记·设计模式·访问者模式
不羁。。3 小时前
【撸靶笔记】第七关:GET - Dump into outfile - String
数据库·笔记·oracle
好望角雾眠8 小时前
第一阶段C#基础-10:集合(Arraylist,list,Dictionary等)
笔记·学习·c#
yatingliu201910 小时前
HiveQL | 个人学习笔记
hive·笔记·sql·学习
郭庆汝10 小时前
CMake概述用法详细笔记
笔记
张人玉10 小时前
XML 序列化与操作详解笔记
xml·前端·笔记
风和日丽 随波逐流10 小时前
java17学习笔记-Deprecate the Applet API for Removal
笔记·学习
淮北也生橘1211 小时前
Linux的ALSA音频框架学习笔记
linux·笔记·学习
yiqiqukanhaiba14 小时前
STM32学习笔记13-通信协议I2C&MPU6050&I2C软件控制
笔记·stm32·学习
code bean14 小时前
【halcon】Halcon 开发笔记: gray_histo_abs 报错陷阱
笔记