面试/笔试题集锦——数据结构与算法篇(持续更新中)

前言

最近加入了春招的行列中,有好多东西需要学习or复习,在这里将持续整理学习、笔试和面试碰到的一些问题,希望能在巩固知识、加深印象的同时,也给大家的招聘之路带来便利,如果大家遇到了其他的经典问题,但是这里没有收录,希望大家能够通过评论等方式发给我,我会尽快的整理到集锦中。最后希望大家都能如愿找到满意的工作。by CrazyOnes


红黑树有什么特性

  1. 每个节点或者是黑色,或者是红色。
  2. 根节点是黑色。
  3. 每个叶子节点(NIL)是黑色。[注意:这里是叶子节点,是指为空(NIL或NULL)的叶子节点!]
  4. 如果一个节点是红色的,那它的子节点必须是黑色的。
  5. 从一个节点到该节点的子孙节点的所有路径上包含相同数目的黑节点。

(未详细整理。。。)

稳定和不稳定的排序

稳定的排序: 冒泡排序、插入排序、归并排序、基数排序
不稳定的排序: 选择排序、快速排序、希尔排序、堆排序

查找数组中第k大的数字

在数字规模比较小的时候,考虑使用快速排序算法来查找(在每次partition的时候,得到的pivot左/右边有多少元素就是第几大的元素,其中是左是右与降序排列或升序排列有关)。
在数字规模比较大的时候,考虑使用堆排序来查找,先取k个数组构建小顶堆(只能是小顶堆),当遇到比最小值大的数字的时候,将最小值去掉,加入新的数字,重复如上操作,直到读完数组中所有元素为止,即可在顶端找到最大的元素。

(待详细整理)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值