第7课:单链表的概念
进度 0/24
🔗
单链表的概念
用指针串起珍珠项链,开启链表之旅!
📖知识引入
📿链表是什么
一个个节点用指针串起来的序列,像寻宝游戏:每个线索指向下一站
🏃顺序访问
想找第3个节点必须从头顺着next走过去,不能一步跳达
⚔️与数组过招
数组查找快插入慢,链表插入删除快查找慢,各有主场
💾存储方式
链表节点在内存中东一个西一个,靠指针维系关系,不要求连续
💡
信奥口诀:查得多用数组,改得多用链表,按操作频率选武器
🔍数组和链表找第3个元素
// 数组:下标一步到位,O(1)
cout << a[2];
// 链表:从头顺着next走两步,O(n)
Node* p = head; // 从头节点出发
for (int i = 0; i < 2; i++) {
p = p->next; // 顺指针往后走
}
cout << p->val; // 到达第3个节点数组像电梯直达,链表像逐层爬楼梯,取舍就在这里
🎯小测验
第1题:链表查找第k个元素的时间复杂度是?
第2题:链表节点在内存中的分布特点是?
第3题:下列哪种操作链表比数组更擅长?
📝本课知识点
- ✓链表=节点+指针串联
- ✓查找慢是链表的代价
- ✓插入删除快是链表的骄傲
第7课完成!继续探索下一课吧 🚀
