数据结构学习笔记
Aaron~~~
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
图
图 二、图的存储及基本操作 图的存储必须要完整、准确地反映顶点集和边集的信息。 2.1 邻接矩阵法 所谓邻接矩阵存储,是指一个一维数组存储图中顶点的信息,用一个二维数组存储图中边的信息(即各顶点之间的邻接关系),存储顶点之间邻接关系的二维数组称为邻接矩阵。 #define MaxVertexNum 100 //顶点数目的最大值 typedef char VertexType;原创 2020-12-28 21:43:35 · 187 阅读 · 0 评论 -
排序
排序 一、内部排序 1.1 插入排序 算法思想:将待排序的记录按其关键字大小插入到前面已排好序的子序列中 1.1.1直接插入排序 void InsertSort(int A[],int n) { int i,j,temp; for(i=1;i<n;i++) //假设第一个元素是已经排好序的,A[0],则从A[1]开始遍历 { temp=A[i]; for(j=i-1;j>=0&&A[j]>原创 2020-11-17 15:32:53 · 136 阅读 · 0 评论 -
线性表
第一部分 线性表 顺序表 顺序存储结构类型: #define MaxSize 50 typedef struct{ int data[MaxSize]; int lengthl }SqList; 顺序存储的基本操作: 1、插入操作(insert) bool ListInsert(SqList &L,int i,int e)//我要在i之前插入元素e { for(int j=L.Length;j>=i;j--) L.data[j]=L.data[j-1]原创 2020-11-05 19:32:22 · 123 阅读 · 0 评论 -
排序
排序 一、内部排序 1.1 插入排序 1.1.1直接插入排序 void InsertSort(int A[],int n) { int i,j,temp; for(i=1;i<n;i++) //假设第一个元素是已经排好序的,A[0],则从A[1]开始遍历 { temp=A[i]; for(j=i-1;j>=0&&A[j]>temp;--j) //for循环内逻辑:先初始化——>原创 2020-10-18 21:11:15 · 124 阅读 · 0 评论 -
树
树 一、二叉树 1.1链式存储: typedef struct BiTNode{ ElemType data; //数据域 struct BiTNode *lchild,*rchild; //左右孩子指针域 }BiTNode,*BiTree; 1.2二叉树的遍历 1.先序遍历 递归算法: void PreOrder(BiTree T){ if(T!=NULL){ visit(T);原创 2020-10-18 21:10:28 · 834 阅读 · 0 评论 -
《数据结构》——第二章 线性表(Linear List)
学习目标 理解线性表的逻辑结构 顺序表和链表之间的优缺点 线性表 定义 线性表是具有相同数据类型的n(n>=0)个数据元素的有限序列。 重点: 必须是具有相同的数据类型 且得有限 还得是序列 线性表特点: 表中元素个数有限。 表中元素具有逻辑上得顺序性,表中的元素有其先后次序。 表中元素都是数据元素,每个元素都是单个元素。 表中元素的数据类型都相同,这意味着每个元素占有相同大小的存储空间。 线性表基本操作: InitList(&L) :初始化表 Length(L) :求.原创 2020-07-18 21:04:20 · 330 阅读 · 0 评论 -
《数据结构》——第一章 绪论
在讨论一种数据结构时: 定义逻辑结构(数据结构的关系) 定义数据的运算(针对实现需求,应该对这种逻辑结构进行什么样的运算) 确定某种存储结构,实现数据结构,并实现一些对数据结构的基本运算 注意 若采用顺序存储,则各个数据元素在物理上必须是连续的;若采用非顺序存储,则各个数据在物理上可以是离散的。 数据的存储结构会影响存储空间分配的方便程度。 数据的存储结构会影响对数据运算的速度。 ...原创 2020-07-18 17:28:50 · 205 阅读 · 0 评论
分享