【朝夕教育】2023年03月 其他-Web前端基础面试题(数据结构和算法_8道)

一、数据结构和算法

1、什么是数组?

数组是由相同类型的元素(element)的集合所组成的数据结构,分配一块连续内存来存储。

特点:相同类型,连续内存,固定长度。

2、Js中的数组是真正的“数组“么?

不是真正的数组,因为js数组可以存放不同类型的值。

3、什么是队列?

一种遵循先进先出 (FIFO / First In First Out) 原则的一组有序的项;队列在尾部添加新元素,并从头部移除元素。最新添加的元素必须排在队列的末尾

4、 什么是链表?与数组的区别是?

存储有序的元素集合,但不同于数组,链表中的元素在内存中并不是连续放置的;每个元素由一个存储元素本身的节点和一个指向下一个元素的引用(指针/链接)组成。

数组:连续且固定长度空间,不能动态扩展,查找高效,添加修改元素低效。

链表:不需要连续内存空间,大小可动态变化,查找低效,添加修改高效。

5、什么是栈?

一种遵从先进后出 (LIFO) 原则的有序集合;新添加的或待删除的元素都保存在栈的末尾,称作栈顶,另一端为栈底。在栈里,新元素都靠近栈顶,旧元素都接近栈底。

栈的特点:后进先出(last-in,first-out)

6、什么是哈希及哈希冲突?

Hash也称散列、哈希,对应的英文都是Hash。基本原理就是把任意长度的输入,通过Hash算法变成固定长度的输出。

哈希冲突:不同的内容的hash值相同,即哈希冲突。

7、二叉树有几种遍历方式?

三种:先序遍历,中序遍历,后序遍历

8、简述冒泡排序?

基本思想: 冒泡排序,类似于水中冒泡,较大的数沉下去,较小的数慢慢冒起来,假设从小到大,即为较大的数慢慢往后排,较小的数慢慢往前排

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值