数据结构
来源:互联网 发布:风险矩阵法的作用 编辑:程序博客网 时间:2024/06/15 14:22
数据结构
链表
链表
是一种由节点组成的线性数据集合,每个节点通过指针指向下一个节点。由节点组成,并能用于表示序列的数据结构。
单链表:每个节点仅指向下一个节点,最后一个节点指向空。
双链表:每个节点有两个指针p,n。P指向前一个节点,n指向下一个节点,最后一个节点n指向空。
循环链表:每个节点指向下个节点,最后一个节点指向头结点。
时间复杂度:
排序:
类别
排序方法
平均时间复杂度
稳定性
插入
排序
直接插入
O(N2)
稳定
希尔排序
O(N1.3)
不稳定
选择
排序
直接选择
O(N2)
不稳定
堆排序
O(N*log2N)
不稳定
交换
排序
冒泡排序
O(N2)
稳定
快速排序
O(N*log2N)
不稳定
归并排序
O(N*log2N)
稳定
基数排序
O(d(r+n))
稳定
队列:
一个元素集合,支持两种基本操作:enqueue用于添加一个 元素到队列,dequeue用于删除队列中的一个元素。
特点:先进先出
栈:
一个元素集合,支持两个基本操作:push用于将元素压入栈,pop用于删除栈顶元素。
特点:先进后出
树
树是无向,联通的无环图。
二叉树
二叉树是一个树形数据结构,每个节点最多有两个子节点,成为左节点,右节点。
满二叉树:二叉树中的每个节点都有0个或者2个节点。
完美二叉树:二叉树的每到个节点都有两个子节点,并且每个叶子节点
完全二叉树:二叉树中除了最后一层其他层的节点树均达到最大值,最后一层的子节点全部连续集中在左侧。
堆
堆是一种基于树的满足某些特征的数据结构:整个堆中的所有父子节点的键值都满足相同的排序条件。
堆分最大堆和最小堆。
最大堆中,父节点的键值永远大于大于等于多有子节点的键值。
阅读全文
0 0