数组-> 链表-> 哈希表->字符串->栈与队列->树->回溯->贪心->动态规划->图论->高级数据结构,再从
时间: 2024-09-14 11:00:30 浏览: 43
数组、链表、哈希表、字符串、栈与队列、树、回溯法、贪心算法、动态规划和图论都是计算机科学中常见的数据结构和算法概念:
1. **数组**:是一种线性的数据结构,元素按照顺序排列,通过索引直接访问,支持随机访问,但插入和删除操作效率低。
2. **链表**:由节点组成,每个节点包含数据和指向下一个节点的指针,优点是插入和删除高效,但查找速度慢。
3. **哈希表**:利用哈希函数将键映射到存储位置的数据结构,常用于快速查找,平均时间复杂度接近O(1)。
4. **字符串**:一串字符组成的序列,可以看作特殊类型的数组,支持字符级别的操作。
5. **栈与队列**:栈是一端进出的线性结构,队列是两端进出。栈常用于深度优先搜索,队列常用于广度优先搜索。
6. **树**:非线性数据结构,每个节点有零个或多个子节点,用于组织层次结构,如二叉搜索树、AVL树等。
7. **回溯法**:解决一些组合优化问题的一种递归策略,当发现当前路径无效时,会回退至上一步尝试其他解。
8. **贪心算法**:每一步选择局部最优解,期望达到全局最优,不一定能得到全局最优解,适用于某些问题。
9. **动态规划**:通过把原问题分解成相互依赖的小问题求解,保存中间结果避免重复计算,适用于最优化问题。
10. **图论**:研究顶点和边的关系,包括连通性、路径、最短路径、最小生成树等问题。
11. **高级数据结构**:如堆(用于优先队列)、平衡树(如红黑树、AVL树)、B树和B+树(数据库常用)、布隆过滤器(空间换时间的近似查询)等。
阅读全文