栈和队列、字符串、树、递归、AVL树、红黑树、哈夫曼编码、B+树、map/unordered map、动态规划是常见的数据结构或算法。
栈和队列:栈和队列是线性数据结构,栈是后进先出,队列是先进先出。
字符串:字符串是由字符组成的序列,常用于文本处理、模式匹配等。
树:树是非线性数据结构,由节点和边组成,每个节点可以有多个子节点。
递归:递归是一种算法或编程技巧,通过函数自身调用实现问题的分解和求解。
AVL树:AVL树是自平衡二叉搜索树,保证任意节点的左右子树高度差不超过1。
红黑树:红黑树也是自平衡二叉搜索树,通过变色和旋转操作来保持平衡。
哈夫曼编码:哈夫曼编码是一种将字符编码为二进制的算法,通过构建哈夫曼树来实现。
B+树:B+树是一种多路搜索树,常用于数据库索引等场景。
map/unordered map:map和unordered map是键值对的容器,支持O(1)的查找和O(logn)的插入、删除等操作。
动态规划:动态规划是一种求解最优化问题的算法,通过将大问题分解为小问题求解。