常见数据结构简单数据结构(必须理解和掌握)有序数据结构:栈、队列、链表。有序数据结构省空间(储存空间小)
无序数据结构:集合、字典、散列表,无序数据结构省时间(读取时间快)
复杂数据结构树、 堆
图
本系列主要内容数组和列表: 最常用的数据结构与链表相比,数组具有更好的缓存位置。
栈和队列: 与列表类似但是更复杂数据结构
链表: 如何通过它们克服数组的不足,链表允许在迭代期间有效地从序列中的任何位置插入或删除元素。
链表的一个缺点是访问时间是线性的(而且难以管道化)。(更快的访问,如随机访问,是不可行的)
字典: 将数据以键-值对的的形式储存
散列(表): 适用于快速查找和检索
集合: 适用于存储只出现一次的元素
二叉树: 以层级的形式存储数据
图和图算法: 网络建模的理想选择
算法:包括排序、搜索、图形算法
高级算法: 动态规划、贪心算法、BF、分治、回溯等算法范式
加密算法:
复杂度分析
有序数据结构
数组
列表
栈
队列
链表
数组与链表的对比内存的分配方式不同: 由于数组具有连续性,需要开辟一段连续内存空间(前提是系统得有足够得连续内存供使用,因此要求比较高),而链表则可充分利用离散的内存