精选文章 - 算法学习第02天|Algorithm Picks

📚 今日算法学习精选

1. 数组与链表(Array vs Linked List)

第二天我们聊数据结构的两大基石:数组链表。这两兄弟是几乎所有高级数据结构的”底层零件”,必须烂熟于心。

数组(Array) 连续内存存储,支持 $O(1)$ 随机访问(Random Access),但插入/删除操作是 $O(n)$,因为要搬移元素。

链表(Linked List) 节点散落各处,通过指针相连。插入/删除是 $O(1)$,但查找是 $O(n)$,只能从头扫到尾。

核心区别: 数组查快改慢,链表改快查慢。记住这个口诀,很多题目就知道该用谁了。

2. 推荐资源

  • CS61B(UC Berkeley) — 数据结构与算法经典课程,YouTube免费,B站也有搬运
  • 《算法(第4版)》Robert Sedgewick — 代码实现清晰,配有大量图表
  • Linked List可视化https://visualgo.net/en/list

3. 实战建议

找几道经典题练手:反转链表(Reverse Linked List)、删除链表倒数第N个节点(Remove Nth Node From End of List)、合并两个有序链表(Merge Two Sorted Lists)。这些是链表”三件套”,面试高频。


每天进步一点点,量变引起质变!