跳到主要内容

81 篇文档带有标签「数据结构」

查看所有标签

B 树和 B+ 树

B 树又称多路平衡查找树,是一种适合外存(磁盘)存取的多叉平衡树。

B-Tree

B 树是一种多路平衡查找树,常用于文件系统和数据库索引。

Binary Tree

二叉树是每个结点至多只有两棵子树的有序树结构。

Bubble Sort

冒泡排序是一种简单的交换排序算法,重复遍历序列,相邻元素逆序则交换。

Graph

图是由顶点集合和边集合组成的数据结构。

Hash Table

散列表是根据关键字直接进行访问的数据结构,通过散列函数建立关键字到存储地址的映射。

Merge Sort

归并排序是一种基于分治思想的稳定排序算法。

Quick Sort

快速排序是一种基于分治思想的高效排序算法。

Radix Sort

基数排序是一种非比较型的排序算法,按低位到高位依次排序。

串

字符串简称串,在 C++ 语言中使用关键字 string 来定义:

二叉树

二叉树是每个结点至多只有两棵子树,且子树有左右之分的树。

二叉树的遍历

二叉树的遍历是按某种规则访问树中每个结点且仅访问一次的过程。

冒泡排序

冒泡排序属于交换排序,通过相邻元素两两比较交换,使最大(或最小)的元素像气泡一样逐渐「冒」到序列的一端。

图

图的基本概念

图

图 $G$ 由顶点集 $V$ 和边集 $E$ 组成,记为 $G = (V, E)$。

基数排序

基数排序是一种非比较型排序,基于关键字各位的大小进行排序,通常借助「分配」和「收集」两种操作实现。

堆排序

堆排序属于选择排序,利用堆这种数据结构进行排序。

归并排序

归并排序基于分治思想:将序列分成若干个子序列,分别排序后再合并为有序序列。

快速排序

快速排序属于交换排序,基于分治思想:选择一个基准(枢轴)元素,将序列划分为左右两部分,左边都小于基准,右边都大于基准,再对左右子序列递归排序。

插入排序

插入排序的基本思想是将待排序元素插入到已排好序的有序序列中的合适位置。

散列表

散列表是根据关键字而直接进行访问的数据结构,它建立了关键字和存储地址之间的一种直接映射关系:

栈

栈(Stack)是只允许在一端进行插入或删除操作的线性表。

树

树是 $n$($n \ge 0$)个结点的有限集合。当 $n = 0$ 时称为空树。

绪论

数据结构的基本概念

选择排序

选择排序的基本思想是每一趟在待排序元素中选取关键字最小(或最大)的元素,放到已排序序列的末尾。

链表

线性表的链式存储称为链表,其中单链表是最基本的形式。

队列

队列(Queue)简称队,是一种操作受限的线性表,只允许在表的一端进行插入,而在另一端进行删除。

顺序表

线性表的顺序存储称为顺序表(Sequence List),表中元素的逻辑顺序与其物理顺序相同。