数据结构
maybe宸
在有限的时光里,多做有意义的事。
展开
-
数据结构 之 链表
概念 在物理上不连续的、通过节点间的引用形成的数据结构。 所以在内存里链表是零散分配的。并不是连续内存空间。 链表又细分为单向链表和双向链表,主要区别在于Node节点,单向链表只持有后驱节点的引用;而双向链表持有前驱节点和后驱节点两个引用。 链表操作的时间复杂度 增 由于链表是通过Node节点的前驱和后驱节点引用实现的,当添加一个新的元素,无论添加到第几位。都只需要在被添加位的前驱节点的next指针指向被添加Node,将原来的Node作为被添加Node的next节点即可。无需遍历整个..原创 2020-11-13 16:20:15 · 166 阅读 · 1 评论 -
数据结构 之 数组
概念 有限个相同类型变量的有序集合 使用一块连续的内存区域,进行顺序存储 访问时通过下标进行访问 数组的下标是什么 即:偏移量offset 如果数组的首元素为a,a[0]即偏移量为0的位置。 为什么下标从0开始 下标为偏移量,所以如果从1开始第一个元素的偏移量为0.依此类推每次都要进行一次-1的减法操作。从0开始减少一次减法操作,性能达到极致。 数组操作的时间复杂度 增 尾部添加,那么只需要在最后一位添加上新的元素即可,所以时间复杂度为O(1)。 头部添加或中间添加...原创 2020-11-13 15:57:58 · 169 阅读 · 0 评论