1.链表和数组对比
数组需要一块连续的内存空间来存储,对内存的要求比较高
链表则是通过“指针”将一组零散的内存块串联起来使用
2.链表的结点除了存储数据之外,还需要记录链上下一个结点的地址,称为后续指针。
2.几种常用的链表结构
单链表:头结点记录链表的基地址,尾结点指向null
链表的随机访问需要循环遍历,无法通过寻址公式来直接算出内存地址,所以链表的随机访问的性能没有数组好
循环链表:循环链表的尾结点指向首结点(著名的约瑟夫问题)
双向链表:每个结点有一个前驱指针指向前一个结点,有一个后继指针指向后一个结点
双向链表无论是从插入、删除、查找操作都比单链表高效,但是更加耗内存
3.用时间换空间的设计思想和用空间换时间的设计思想
4.判断字符串回文
用链表反转的思想。先使用快慢指针法找到链表的后半部分,然后将其反转再进行比较
链表
最新推荐文章于 2024-08-13 14:59:01 发布