【牛客网面经整理】7.20shopee一面面经,加入我自己整理的相关拓展问题(redis))

发布时间:2023-05-05 15:30

作者:咚咚锵233
链接:https://www.nowcoder.com/discuss/497119?type=0&order=7&pos=7&page=1&channel=1009&source_id=discuss_center_0
来源:牛客网

7.20一面:

怎么判断一个链表是否有环?

答:快慢指针

哪些数据结构可以做查询,时间比较快的,并且比较一下?

答:我当时想到的是hashmap和树形结构的查找

1、有序数组 查找快 插入慢删除慢大小固定
2、二叉树 查找插入删除快 算法复杂
3、红黑树 查找插入删除快 算法复杂
4、hash表 存取极快(已知关键字),插入快 删除慢,对存储空间利用不充分
5、堆 插入块、删除快、对大数据项存取快 对其他数据项存取慢 适合较小的索引(目录)
6、B树 查找快 适合文件索引

如果让你设计一个哈希表,你要怎么做?还有就是碰撞多了怎么处理?怎么扩容的?具体怎么实现?rehash在多线程中会出现什么问题?

答:参考上一篇题解;

红黑树和二叉平衡树的区别说一下

答:

1、BST树(二叉排序树、二插搜索树)

二叉排序树或是一颗空树,或是具有下列性质的二叉树:

  • 每个结点都有一个作为搜索依据的关键码(key),所有结点的关键码互不相同;
  • 左子树(如果存在)上所有结点的关键码都小于根结点的关键码
  • 右子树(如果存在)上所有结点的关键码都大于根结点的关键码
  • 左子树和右子树也是二叉搜索树

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号