![](https://img-blog.csdnimg.cn/20201014222512862.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据结构
文章平均质量分 61
数据结构
写一行代码
这个作者很懒,什么都没留下…
展开
-
堆排序
这里写自定义目录标题堆的含义用完全二叉树解释堆 堆的含义 对于含有n个元素的序列中,如果序列中的元素满足下面其中一种关系时,此序列可以称之为堆 ki <= k2i && ki <= k2i+1 【小根堆】 ki >= k2i && ki >= k2i+1 【大根堆】 用完全二叉树解释堆 对于无序表 {56, 43, 78, 96, 65, 27, 39, 85},构建大根堆用完全二叉树表示为 此时,把第一个元素96和最后一个元素43进行交换,然后原创 2020-10-25 16:07:48 · 94 阅读 · 0 评论 -
归并排序
实现思想 先将所有的记录完全分开,然后两两合并,在合并的过程中排序,最终能够得到一个完整的有序表。 例如对于含有n个记录的有序表,首先认为表中每个记录各为一个有序表,然后进行两两合并,使n个有序表变为n/2(向上取整)个长度为2或者1的有序表,通过不断的进行两两合并,最终得到一个长度为n的有序表。这种归并排序方法称为:2-路归并排序。 实现代码 #include <stdio.h> #include <stdlib.h> #define MAX 7 void Merge(int原创 2020-10-24 22:04:26 · 82 阅读 · 0 评论 -
快速排序
代码实现 #include <stdio.h> #include <stdlib.h> int partition(int arr[], int low, int high) { int temp = arr[low]; while (low<high) { while (low<high && arr[high]>=temp) { high--; } arr[low] = arr[high]; while (low&l原创 2020-10-23 23:37:24 · 63 阅读 · 0 评论 -
选择排序
代码实现 #include <stdio.h> void selectSort(int arr[], int len) { int i = 0, j = 0, min = 0; for (i = 0; i < len;i++) { min = i; for (j = i + 1; j < len;j++) { if (arr[j]<arr[min]) { min = j; } } if (min != i) { int temp原创 2020-10-22 23:49:41 · 129 阅读 · 0 评论 -
插入排序
代码实现 #include <stdio.h> #include <stdlib.h> void insertSort(int arr[], int len) { int i = 0, j = 0; for (i = 1; i < len;i++) { if (arr[i]<arr[i-1]) { int temp = arr[i]; for (j = i - 1; j >= 0 && temp < arr[j];j--原创 2020-10-22 23:32:59 · 65 阅读 · 0 评论 -
二叉树
指路法定位结点 指路法通过根结点与目标结点的相对位置进行定位 在C语言中可以利用bit位进行指路 #define BT_LEFT 0 #define BT_RIGHT 1 二叉树存储结构简介 结点指针域定义 typedef struct _tag_BTreeNode BTreeNode; struct _tag_BTreeNode { BTreeNode* left; BTreeNode* right; }; 头结点定义 typedef struct _tag_BTree TBTree; s原创 2020-10-19 23:16:38 · 108 阅读 · 0 评论 -
线索化二叉树
基本思想 线索化二叉树指的是将二叉树中的结点进行逻辑意义上的重排序,使其可以线性的方式访问每一个结点 实现方式 利用叶子结点空的左指针域,使其指向后先序遍历的后继结点 利用线性表保存二叉树的遍历顺序 代码实现 BTree.h #ifndef _BTREE_H_ #define _BTREE_H_ #define BT_LEFT 0 #define BT_RIGHT 1 typedef void BTree; typedef unsigned long long BTPos; typedef str原创 2020-10-21 23:46:23 · 116 阅读 · 0 评论 -
图的表示法--邻接矩阵
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar原创 2020-10-14 22:31:01 · 958 阅读 · 0 评论