
数据结构
文章平均质量分 53
数据结构和算法
学c的长弓狗
c语言
展开
-
树的基本术语
首先我们需要知道树的概念:树是包含n个结点的有限集合。节点的度:指节点所拥有的子树个数。树的度:树内个节点的度的最大值。叶子节点:指度为0的结点。分支节点:指度不为0的结点。结点的层次:从根算起,根结点的层次为1,逐层加1.树的深度:树中的最大层次。有序树和无序树:取决于我们是否认定它为有序,如果按照有序来看,两颗树中的元素,位置都相同才认为是相同的;无序树只需要元素相同即可。森林:互不相交树的集合。...原创 2022-03-05 17:52:37 · 638 阅读 · 0 评论 -
数据结构初阶——排序
1.排序的概念排序就是使一串数据按照特定的规律比较,进行排列出来的操作。常见的排序算法//排序实现的接口void InsertSort(int* a,int n); //插入排序void ShellSort(int* a,int n); //希尔排序void SelectSort(int* a, int n); // 选择排序void AdjustDwon(int* a, int n, int root);void HeapSort(int* a, in.原创 2021-12-19 17:02:08 · 1254 阅读 · 1 评论 -
二叉树和堆
目录树的概念树的表示二叉树概念二叉树存储结构顺序存储链式存储堆堆的代码实现树的概念树是一种非线性的数据结构,因为看起来像一棵倒挂的树,因此得名。如图是一棵树,1没有父节点所以是根节点,3,5,6没有子节点所以是叶节点。树的特点1.子树是不相交的。2.除了根节点外,每个节点有且仅有一个父节点。3.一颗N个结点的树有N-1条边。树的表示树有多种表示方式,如:双亲表示法,孩子表示法,孩子兄弟表示法,最简单的孩子兄弟表示法。ty.原创 2021-11-12 22:01:12 · 302 阅读 · 1 评论 -
2.顺序表和链表常见接口实现+基本常识
一.顺序表1.顺序表的静态存储和动态存储#define N 100struct SeqList{int a[N];int size;};struct SeqList{ int* a; int size; //有效数据的个数 int capacity; //容量};typedef int SeqDateType //升级版struct SeqList{ SeqDateType* a; int size; /...原创 2021-09-22 21:14:04 · 583 阅读 · 5 评论 -
1.超清晰的时间复杂度和空间复杂度讲解
目录一.基本概念二.时间复杂度习题巩固三.空间复杂度与相关习题一.基本概念在学习这一课前,我们应树立一个常识,随着计算机硬件的发展,内存等硬件的扩大,相比于空间复杂度,我们更应该将注意力放在空间复杂度上,当然,空间复杂度也应了解。那首先,什么是时间复杂度呢?时间复杂度和空间复杂度是算法效率分析的两个指标,用来检测算法的好坏。那什么又是算法呢?就好像用1,2,3,4四个数实现一个大于10的数,相加等于10,不满足要求。可以用1*2*3*4 = 24>10,而这个实现结原创 2021-09-15 16:52:41 · 191 阅读 · 3 评论