美文网首页
数据结构面试题

数据结构面试题

作者: 你飞跃俊杰 | 来源:发表于2021-04-01 00:24 被阅读0次

    一、单链表、双链表、循环链表

    3355903-db43dac99a7fa562.png

    二、快慢指针

    1.判断是否有环

    一个指针一步走2下,一个指针一步走1下
    如果两个指针相遇,则有环

    2.找出环的入口

    同上,相遇后,一步走2下的指针重新走,改成一步走1下
    直到两个追针相遇,则相遇的地方是环的入口

    3.找出单链表中倒数第m个数

    一个指针先走m步,之后另一个指针重新开始也跟着一起走
    直到先走m步的指针走到尾,则另一个指针指向的数据是倒数第m个人数

    三、大数据

    如何对一个很大的数据(1T)进行排序

    第一步、根据内存分成若干组(在内存承受范围内
    第二步、对每一组进行排序(从小到大
    第三步、拿第一组的第一个值作为参照物,然后依次取每一组的第一个值,若比该值小(从小排到大)则拿该值替换为参照物,并记录该值是第几份
    直到遍历完一次,则参照值为最小值,将其存入硬盘,并且将该值从其所在的位置中删除
    第四步、重复第三步操作,直至拍完
    特点:每次只排一个数,不怕内存不足
    优点:内存占用低
    确定:时间复杂度高

    改进:
    第三步、第一次取出每组的前两个值进行排序,记录取出的组的第二个值最小的位置,将此值和此值之前的值全部值存入(若下次取会内存不足,则将剩余的数追加为一组数据,参与排序中
    第四步、每次取出每组的第一个数,并记录最小值的位置,将此值和此值之前的值全部值存入(若下次取会内存不足,则将剩余的数追加为一份数据,参与排序中
    第五步、重复第四步

    相关文章

      网友评论

          本文标题:数据结构面试题

          本文链接:https://www.haomeiwen.com/subject/luhghltx.html