实习面试题index

  • 前中后序遍历二叉树(计算二叉树节点)
  • 哈夫曼树生成

    可以给候选集快排,然后选前2个节点,往后面新增一个节点。节点结构点定义好可以少写些映射关系

排序

  • 冒泡排序

    把最大浮到最后面,后界不断减小,一种优化策略是记录最后一个交换的位置,令其为后界(因为此位置后面的数都已有序)

  • 快速排序

    Partition不需要额外写个函数,用算法导论上面的非常漂亮https://www.cnblogs.com/pugang/archive/2012/06/27/2565093.html

  • 堆排序

    关键是heapify,然后用数组存好,父亲序号与左右儿子的序号关系是恒定的,这点很重要

  • 归并排序

动态规划

  • 最长上升子序列
  • 最长公共子序列

    这个凸显了分解成子问题的思想

  • 最长公共子串

    这个跟最长上升子序列极类似:以当前点为终点的XXX

  • 拓扑排序

    删除入度为0的节点,用栈储存

  • KMP

    next[i]的意思是pattern[i]失配时,下一个要测试的位置。计算next[i]时,pattern[i]是用来计算next[i + 1]的

  • 字符串DP

搜索

  • 二分搜索

    不断改变上下界,不需要递归

链表

  • 反转单链表

  • 二维数组中的查找(二分搜索、特题特解)

    右上角或左下角开始

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容