Algorithm and Data Structure Review

本文深入探讨了常用的数据结构如数组、链表、堆、树等,并详细介绍了各种算法的基本思想、实现方式及应用场景,包括排序、搜索、图算法、字符串处理等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

常用总结。

1、常见数据结构

线性:
          数组:Merge Sorted Array
          链表:Merge k Sorted ListsPartition List
          队列,
          堆栈,
          块状数组(数组+链表)
          hash表,
          双端队列
        位图(bitmap)

树:
   二叉树: Minimum Depth of Binary Tree, Path Sum II, Inorder Travel
        堆(大顶堆、小顶堆)
          trie树(字母树or字典树)
          后缀树,
        后缀树组
          二叉排序/查找树,
          B+/B-,
        AVL树
        Treap
          红黑树
          splay树
        线段树
          树状数组

图:图

其它:并查集

2、常见算法

(1)       基本思想:枚举,
               递归: 
Flatten Binary Tree to Linked ListGenerate ParenthesesLetter Combinations of a Phone Number
               分治,
               模拟&贪心: Gray CodeInsert IntervalJump Game II, Multiply Strings, Next PermutationPalindrome NumberPascal’s Triangle II
贪心,动态规划,剪枝,回溯
               二分查找:Median of Two Sorted ArraysSearch in Rotated Sorted Array

(2)       图算法:深度优先遍历与广度优先遍历, 最短路径,最小生成树,拓扑排序

(3)       字符串算法:
                   字符串查找: Implement strStrLength Of Last WordLongest Common Prefix, 
                                     Longest Palindromic SubstringLongest Non-Repeating SubString
                   双指针: Minimum Window Substring
                   hash算法,KMP算法

(4)       排序算法:冒泡,插入,选择,快排,归并排序,堆排序,
               桶排序: First Missing Positive

(5)       动态规划:Distinct SubsequencesEdit DistanceInterleaving StringJump GameLargest Rectangle in Histogram
  背包问题,最长公共子序列,最优二分检索树

(6)       数论问题:素数问题,整数问题,进制转换,同余模运算,
                     进制转换:Integer To Roman
                     乘除法:Divide Two Integers 

(7)       排列组合:排列和组合算法

(8)       其它:LCA与RMQ问题
               
 (9) 水箱问题:Trapping Rain WaterContainer With Most Water

3. 常见设计题
(1)海量数据处理


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值