![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构学习
lhl-nine
这个作者很懒,什么都没留下…
展开
-
数据结构-查找
文章目录线性表的查找顺序查找折半查找索引存储结构和分块查找索引存储结构分块查找二叉排序树二叉排序树概念二叉排序树算法设计平衡二叉树平衡二叉树插入调整平衡二叉树的查找B-树和B+树B-树B+树哈希表的查找哈希函数构造方法线性表的查找顺序查找定义被查找的顺序表类型定义如下:#define MAXL <>typedef struct{ KeyType key;//KeyType为...原创 2019-12-15 10:47:31 · 172 阅读 · 0 评论 -
数据结构-图
文章目录图的概念图的定义图的基本术语图的概念图的定义图G是由顶点集合V(G)和边集合E(G)构成。如果代表边的顶点对是无序的,则称G为无向图,用圆括号序偶表示无向边。有序图用尖括号表示。图的基本术语1、端点和邻接点无向图:若存在一条边(i,j),顶点i、j为端点,它们互为邻接点有向图:存在一条边<i,j>,顶点i为起始端点,j为终止端点,它们互为邻接点。2、顶点的度...原创 2019-12-14 00:34:41 · 318 阅读 · 0 评论 -
数据结构-树和二叉树
文章目录树树的概念逻辑表示基本术语树的性质树的基本运算二叉树树树的概念定义:T={D,R}。D是包含n个节点的有限集合(n>=0)。当n=0时为空树,否则:1、没有前趋节点,根节点。2、除根节点外,每个节点有且仅有一个前趋节点。3、D中每个节点可以有零个或多个后继节点。逻辑表示1、树形表示法2、文氏图表示法3、凹入表示法4、括号表示法基本术语1、节点的度与树的度:树...原创 2019-12-09 22:49:13 · 444 阅读 · 0 评论 -
数据结构-数组和稀疏矩阵
文章目录数组数组的存储结构特殊矩阵的压缩存储对称矩阵的压缩存储三角矩阵的压缩存储对角矩阵的压缩存储稀疏矩阵稀疏矩阵的三元组表示数组数组的存储结构将数组的所有元素存储在一块地址连续的内存单元中,这是一种顺序存储结构。性质:1、数组中的数据元素数目固定2、数组中的所有数据元素具有相同的数据类型3、数组中的每个数据元素都有一组唯一的下标4、数组是一种随机存储结构,可随机存取数组中的任意数...原创 2019-12-05 19:31:41 · 725 阅读 · 0 评论 -
数据结构-串
文章目录串的基本概念串的基本运算串的顺序存储及其基本操作实现串的链式存储及其基本操作实现串的模式匹配BF算法串的基本概念定义:是由零个或多个字符组成的有限序列。串中所含字符的个数称为该串的长度,含零个字符的串称为空串。串相等:当且仅当两个串的长度相等并且各个对应位置上的字符都相同。所有空串都相等。子串:一个串中任意个连续字符组成的子序列(含空串)称为该串的子串。真子串:不包含自身的所有...原创 2019-12-02 20:43:56 · 509 阅读 · 0 评论 -
数据结构-栈和队列
文章目录栈栈的顺序存储结构及其基本运算实现链栈栈定义:栈是一种只能在一端进行插入或删除操作的线性表。栈顶:允许进行插入、删除操作的一端。栈底:表的另一端。空栈:栈中没有数据元素。进栈/入栈:栈的插入操作。退栈/出栈:栈的删除操作。主要特点:后进先出。栈的顺序存储结构及其基本运算实现假设栈元素最大不超过MaxSize,所有元素都具有同一数据类型ElemType定义顺序栈typ...原创 2019-12-02 19:28:40 · 453 阅读 · 0 评论 -
数据结构-线性表
目录线性表的基本概念线性表的定义顺序存储结构顺序表顺序表运算实现顺序表算法设计线性表的链式存储结构链表单链表线性表的基本概念线性表的定义线性表是一个具有相同特性的数据元素的有限序列。//相同特性:所有元素属于同一数据类型。序列:数据元素由逻辑序号唯一确定,一个线性表中可以有相同元素个数。逻辑表示:(a1,a2,…,ai,ai+1,…,an),ai表示第i(i表示逻辑位序)个元素顺序存...原创 2019-12-01 12:37:09 · 282 阅读 · 0 评论 -
数据结构(插入排序)
插入排序基本思路无序区插入到有序区。主要插入排序方法:(1)直接插入排序(2)折半插入排序(3)希尔排序直接插入排序初始时,有序区只有一个元素R[0],要经过n-1趟排序。void InsertSort(RecType R[],int n){int i,j;RecType tmp;for(i=1;i<n;i++){if(R[i].key<R[i-1].key)...原创 2019-11-16 00:03:40 · 339 阅读 · 0 评论 -
数据结构(交换排序)
交换排序基本思路两个记录反序时进行交换。常见的交换排序方法:冒泡排序、快速排序。冒泡排序void BubbleSort(RecType R[],int n){int i,j;bool exchange;RecType tmp;for(i=0;i<n;i++){exchange=false;for(j=n-1;j>i;j--) if(R[j].key<R[j-...原创 2019-11-16 00:26:43 · 186 阅读 · 0 评论 -
数据结构(选择排序)
选择排序基本思路无序区选出最小记录放到全局有序区。常见方法:简单选择排序、堆排序。简单选择排序选择最小值int Min(int a[],int n,int i){ int k=i,j; for(j=i;j<n;j++) if(a[j]<a[k])k=j; return a[k]; }void SelectSort(RecT...原创 2019-11-16 10:23:41 · 236 阅读 · 0 评论 -
数据结构(归并排序)
归并排序基本思路归并排序是多次将相邻两个或两个以上的有序表合并成一个新的有序表。最简单的归并是将相邻两个有序的子表合并成一个有序的表,即二路归并排序。二路归并算法void Merge(RecType R[],int low,int mid,int high){RecType *R1;int i=low,j=mid+1,k=0;R1=(RecType *)malloc((high-...原创 2019-11-16 10:55:02 · 129 阅读 · 0 评论 -
数据结构(基数排序)
基数排序分类最低位优先(LSD)和最高位优先(MSD)对序列递增排序,选择最低位优先,越重要的位放到后面。最低位优先排序:对i=0,1,…,d-1,依次做一次分配和收集。由于数据需要放入队列,又要从队列取出来,需要大量元素移动。所以排序数据和队列均采用链表存储更好。#define MAXE 20//线性表中最多元素个数#define MAXR 10//基数的最大取值#define...原创 2019-11-16 11:32:58 · 206 阅读 · 0 评论