Skip to content

Latest commit

 

History

History
63 lines (44 loc) · 1.78 KB

Algorithms.md

File metadata and controls

63 lines (44 loc) · 1.78 KB

算法与数据结构

1.二叉树

  • 二叉搜索树删除某个节点,先说思路后写代码(今日头条)

  • 二叉树之字形层次遍历,(正反正反)

2.链表

  • 一个链表,依次输出第一个,倒数第一个,第二个,倒数第二个(今日头条)

  • 原址:变换为奇数在前 偶数在后,相对顺序不变
    • void 函数

  • 链表求和

3.查找

  • 给一个float数,求算术平方根.(今日头条)
    • 折半查找

4.哈希

  • 要实现一个哈希表应该怎么做(根据要哈希的内容选择合适的哈希函数 和 冲突解决方案)

5.排序

  • 一个0-1矩阵,每一排都是0在前1在后,问哪一排的1最多?(二分法)问有没有更简单的方法(每一排记录当前的最左边的1的位置,下一排的时候直接忽略右边的)问时间复杂度,猜测是O(m+n)

6.搜索

  • 描述迪杰斯特拉算法

  • 描述dfs和bfs,分别怎么实现?(栈和队列)

7. 动态规划

  • 动态规划是什么, 动态规划和带记忆的递归有什么区别?(自顶而下和自底而上)

  • 0-1背包问题的动态规划递归式怎么写?

  • 三角数堆,只能往左下或者右下走,从堆顶到堆底和最小是多少。(dp)

Others

  • 若干个长度不同的数组,求最小区间,让每个数组都有数字在这个区间内?

  • 三种砖块,分别是11,12,13,拼成1N, 有多少种拼法?时间复杂度多少?(今日头条)
    • 斐波那契数列

  • 描述KMP算法

  • 写代码:两个有序数组的合并