![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
不堪沉沦
业精于勤而荒于嬉,行成于思而毁于随。
展开
-
直接插入排序、希尔排序、快速排序、堆排序算法比较
直接插入排序、希尔排序、快速排序、堆排序算法比较进行典型内部排序算法的比较,随机产生整数样本,进行四种排序,并比较各种排序算法的执行时间。#include "stdio.h"#include "stdlib.h"#include "conio.h"#include "time.h"#define MAXSIZE 20typedef struct{ int...原创 2019-07-15 21:49:42 · 1556 阅读 · 0 评论 -
实现哈希表构造和查找算法
实现哈希表构造和查找算法实现哈希表构造和查找算法使用的是除留余数法构造哈希函数,这里我用了两种方法解决冲突:一次探测再散列; 二次探测再散列解决冲突。#include<stdio.h>#include<stdlib.h>#include<math.h>#define NULLKEY -1typedef struct{ int ke...原创 2019-07-15 21:54:48 · 4795 阅读 · 2 评论 -
无向图的深度优先搜索与有向图的广度优先搜索
无向图的深度优先搜索与有向图的广度优先搜索图采用邻接矩阵表示,实现无向图的深度优先搜索与有向图的广度优先搜索。#include "stdio.h"#include "stdlib.h"#define MAX_VERTEX_NUM 20//最大顶点个数 typedef struct { char vexs[MAX_VERTEX_NUM];//存放节点 int visited[...原创 2019-07-15 22:09:20 · 2345 阅读 · 0 评论 -
对称矩阵、对角矩阵、稀疏矩阵等特殊矩阵的压缩存储方式
稀疏矩阵A、B均采用三元组顺序表表示,验证实现矩阵A快速转置算法,并设计、验证矩阵A、B相加得到矩阵C的算法。从键盘输入矩阵的行数和列数,随机生成稀疏矩阵。 设计算法将随机生成的稀疏矩阵转换成三元组顺序表形式存储。 设计算法将快速装置得到的与相加得到的三元组顺序表分别转换成矩阵形式。 输出随机生成的稀疏矩阵A、B及其三元组顺序表表示、快速转置得到的与相加得到的三元组顺序表及其矩阵形式。...原创 2019-07-16 15:59:32 · 2094 阅读 · 3 评论 -
详解二叉树的递归遍历与非递归遍历
二叉树的遍历 所谓二叉树的遍历,是指按某条搜索路径访问树中的每个节点,使得每个节点均被访问一次,而且仅被访问一次。 遍历二叉树需要决定对根节点N、左子树L、右子树R的访问顺序(按照先遍历左子树在遍历右子树的原则),常见的遍历次序有先序(NLR)、中序(LNR)、后序(LRN)三种遍历算法,这也是最常见的二叉树遍历算法。 其中的“序”实际上就是根节点的访问时机。1. ...原创 2019-08-02 18:29:57 · 7530 阅读 · 0 评论 -
普里姆(Prim)算法和克鲁斯卡尔(KrusKal)算法构造最小生成树有什么区别?
Prim算法和KrusKal算法构造最小生成树前言先说好,大家一定要耐心看下去,看完了就知道有什么区别了!首先,大家回忆一下什么是最小生成树?最小生成树:就是一个图的生成树集合当中权值之和最小的生成树,可以有一种,也可以有多种,这与图本身结构有关(等会会说到这一点)。有的同学就问道,那么什么是生成树?生成树:就是一个连通图的极小连通子图(它包含图中的所有顶点,并...原创 2019-08-04 20:36:29 · 9235 阅读 · 7 评论 -
详解二叉树的递归遍历与非递归遍历——(二)
非递归遍历 上一边文章中,咱们谈到了二叉树的递归遍历,也是十分的简单哈,这回又继续将非递归遍历写一下。从前序开始扯吧,哈哈!!!先给出存储结构:typedef struct Node{ int data; //保存节点中的值 ...原创 2019-08-04 21:44:10 · 3323 阅读 · 8 评论