数据结构
文章平均质量分 88
Los_kos
BAT
展开
-
数据结构—图
定义图G是由一个非空的顶点集合V和一个描述顶点之间的关系即边集E的一种数据结构,记为G = (V,E)1、图G不可以为空,E可以为空,但V一定是非空集2、图分为无向图和有向图① 无向图:若E为无向边的有限集合,则G为无向图。边是顶点的无序对,记为(v1,v2)(v_1,v_2)(v1,v2)或(v2,v1)(v_2,v_1)(v2,v1),且(v1,v2)=(v2,v1)(v_1,v_2) = (v_2,v_1)(v1,v2)=(v2,v1),v1和v2互为邻接点G可以原创 2021-06-07 22:05:49 · 457 阅读 · 0 评论 -
二叉排序树 BST & 平衡二叉查找树 AVL
文章目录二叉排序树 BST性质:二叉排序树的查找二叉排序树的插入二叉排序树的创建二叉排序树的删除平衡二叉查找树 AVL性质分类LL原树:插入结点:右单旋转:代码实现:RR原树:插入结点:左单旋转:代码实现:LR原树:插入结点:左旋:右旋:RL原树:插入结点:右旋:左旋:小结二叉排序树 BST二叉排序树,又叫二叉查找树性质:1、左子树的所有结点的值均小于根结点的值2、右子树的所有结点的值均大于根结点的值3、左子树和右子树又各是一棵二叉排序树4、二叉排序树的中序遍历是一个递增序列二叉排序树的查找原创 2021-05-05 11:10:25 · 165 阅读 · 0 评论 -
二叉树基本性质和操作
文章目录树—Tree定义树的基本术语树的基本性质二叉树定义二叉树的特点二叉树的性质特殊二叉树斜树定义特点满二叉树定义特点完全二叉树定义特点二叉树操作结构体创建二叉树遍历先序遍历-DLR中序遍历-LDR后序遍历-LRD层序遍历双序遍历树的深度结点个数叶子结点个数叶子结点到根结点的路径左右结点互换树、森林与二叉树的转换树转换为二叉树森林转换为二叉树二叉树还原为树二叉树还原为森林结语树—Tree定义树(Tree)是n(n≥0)个结点的有限集;n=0时称为空树;在任意一棵非空树中:(1) 有且仅有一个特定的原创 2021-05-04 09:57:08 · 303 阅读 · 0 评论 -
栈 & 队列
栈—Stack定义栈是限定仅在表尾进行插入和删除操作的线性表允许插入和删除的一端称为栈顶,另一端称为栈底不含任何数据元素的栈称为空栈栈又称为后进先出线性表,简称LIFO结构,或者称为先进后出,简称FILO结构栈操作结构体struct Node { int data; Node *next;};struct Stack { Node *top; int count;};初始化栈//初始化栈void InitStack(Stack *s) {原创 2021-05-03 17:48:15 · 85 阅读 · 0 评论 -
线性表—顺序表&单链表
线性表—Linear List相关概念1、定义:n(n≥0)个数据元素的有限序列2、线性表是一种最常用且最简单的数据结构,含有n个元素的线性表是一个数据结构3、"一对一"逻辑关系4、前驱后继:若将线性表记为a1,a2,a3…ai-1,ai,ai+1…an,则称ai-1是ai的直接前驱元素,ai+1是ai的直接后继元素。当i=1,2,3…n-1时,ai有且仅有一个直接后继,当i=2,3,4…n时,ai有且仅有一个直接前驱5、线性表的元素的个数n(n≥0)定义为线性表的长度,当n=0时,称为空表原创 2021-05-01 10:35:05 · 181 阅读 · 0 评论