数据结构
吴哈哈就是我
这个作者很懒,什么都没留下…
展开
-
数据结构前导-指针与数组
指针与数组 1、指针与地址 int *a_ = &a; //定义指针,指向地址 注意初始化地址 int *p = NULL; //初始化为空指针 1.2 指针与函数参数 #include <iostream> using namespace std; void f(int *a) //定义指针 { *a = 10; //赋值给a } int main() { int a = 0; f(&a); //指向局部变量a cout<<a&l原创 2021-07-09 14:49:35 · 131 阅读 · 1 评论 -
数据结构-第一章:基础篇
数据结构-第一章:基础篇 1 程序语言基础 1.1 变量类型 1.1.1基本类型:int存整数, char存字符 用法 int a; int b = 1; int b,c,d = 2; 存取: a = 1; d = b; char = 'a'; 1.1.2 指针型 int *p1 = &A; 定义指针,指向地址; float *p2 = &B; char *p3 = &C; p1 = &D; E = *p1; int *p4 = NULL; 1.1.3 构造类型 i原创 2021-07-09 14:47:07 · 108 阅读 · 0 评论 -
数据结构- 7查找
查找 1 顺序查找 2 折半查找 3 分快查找(索引顺序查找) 4 二叉排序树 5 平衡二叉树 6 B树 6.1 查找关键字 6.2 插入关键字 6.3 删除关键字 6.4 B+/B-树 7 散列表 7.2.1直接定址 7.2.2 数字分析 7.2.3 平方取中 123->1**512**9 7.2.4 除留余数 7.3 常见的冲突处理法 7.3.1 开放地址 7.3.2 链地址法 ...原创 2021-06-27 16:48:40 · 73 阅读 · 0 评论 -
数据结构- 6 排序
排序 1 直接插入、简单选择 & 冒泡排序 1.1 直接插入 1.2 简单选择 1.3 冒泡排序 2 希尔排序 3 快速排序 4 堆排序 4.1 堆是什么 4.2 建堆 4.3 插入和删除节点 4.3.1 插入 4.3.2 删除 4.4 堆排序 5 归并排序 6 基数排序 7 稳定性分析 8 外部排序 8.1 多路归并排序 8.2 置换选择排序 8.3 最佳归并树 8.4 败者树 ...原创 2021-06-27 16:29:15 · 63 阅读 · 0 评论 -
数据结构-1线性表
线性表 1.逻辑结构 线性表是具有相同特性的数据元素的有限序列。 相同特性:把同一类归类,方便处理 例如在这个例子中,name、idnumber、height就是具有相同特性的数据。 有限:数据的量有限 序列:体现出逻辑关系,表示为谁是谁的前驱/后继。 ATTENTION:以上三个特性不仅仅适用于线性表,对于其他的数据结构依然适用。 2.存储结构 存储结构主要分为顺序结构和链式结构。 存储空间 基本代码 顺序结构 存储空间连续 链式结构 不连续的存储空间 对于链式结构,进一步原创 2021-06-22 16:56:00 · 203 阅读 · 0 评论 -
数据结构- 2 栈和队列
栈和队列 1 栈 1.1 定义和逻辑结构 stack:只能在一端进入和删除的线性表,先进后出(FILO) 1.2 存储结构 1.2.1 顺序栈 int stack[maxSize]; int top = -1; //初始化栈顶指针 x = stack[++top]; //入栈操作 x = stack[top--]; //出栈操作 top = -1; //栈空状态 top = maxSize - 1; //栈满状态 1.2.2 链式栈原创 2021-06-23 15:48:32 · 114 阅读 · 0 评论 -
数据结构-3 串
串的模式匹配 1 串基础 1.1逻辑结构 串是特殊的线性表,元素限制为字符 1.2 存储结构 1)定长存储结构 typedef struct { char str[maxSize + 1]; //多出末尾的'\0'作为结束标记,故用maxsize+1 int length } Str; 2)变长存储结构 typedef struct { char *ch; int length; }Str; Str S; S.length = L; S.ch = (char*)malloc((L+原创 2021-06-24 15:57:09 · 98 阅读 · 0 评论 -
数据结构- 4 数组&矩阵
数组 & 矩阵 1.1 数组 1)一维数组 (a0,a1^an) dataType a[n]; //dataType是指数组内元素的类型,例如int 2)二维数组 [(a10,a11^a1n-1) (a20,a21^a2n-1) ˆˆˆ ˆ dataType a[m][n]; 二维数组又分为行优先和列优先 举个例子 1.2 矩阵 int A[m][n]; 1.2.1 特殊矩阵 & 稀疏矩阵 元素分布存在规律:特殊矩阵,否则是稀疏矩阵 1)特殊矩阵 i)对称矩阵 方阵中原创 2021-06-24 15:58:22 · 167 阅读 · 0 评论 -
数据结构- 5 树
树 1 基本概念 1.1 逻辑结构 1.2 存储结构 1.2.1 顺序存储结构-双亲存储结构 1.2.2 链式存储结构-孩子结构 2 二叉树 2.1 概念 & 逻辑结构 2.2 性质 2.3 存储结构 2.3.1 顺序存储结构 2.3.2 链式存储结构 2.4 二叉链表存储结构-同辈表亲连一起 3 树与二叉树互换 3.1 树与二叉树互换 3.2 森林与二叉树互换 4 遍历 定义:一个一个扫描过去 4.1 二叉树的遍历 4.1.1 层次原创 2021-06-25 16:22:05 · 88 阅读 · 0 评论