数据结构
数据结构
重生之我是数学王子
南京211本 信息与计算科学专业
展开
-
数据结构——排序 二叉排序树(C语言实现)
【代码】数据结构——排序 二叉排序树(C语言实现)原创 2023-12-08 16:26:29 · 142 阅读 · 0 评论 -
快速排序(舍伍德型概率算法)C++实现
a函数QuickSortTravel在最坏情况下的时间复杂度仍是O(n²),此时随机数发生器在第i次随机选择的轴值恰好都是序列中第i小(或第i大)元素。显然,这种情况出现的概率是微乎其微的。的关键是在一次划分中选择合适的轴值作为划的基准,如果轴值时序列中最小(或最大)元素,则一次划分后,由轴值分割得到的两个子序列不均衡,使得快速排序的时间性能降低。1、在一次划分之前,在待排序序列中随机确定一个元素作为轴值,并与第一个元素交换,则一次划分后得到期望均衡的两个子序列。原创 2024-08-11 20:16:55 · 337 阅读 · 0 评论 -
构成哈夫曼树
首先先设置2个变量存储最小值,2个变量存储最小值的下标,因为要生成n-1个结点,所以我们要操作n-1次,按我们的例子来说,我们要生成19个结点,且比较18次,只合并parent为-1的结点(用过的结点parent就不是-1了),parent不为-1的我们就不再判断了。if (HT[j].weight < min1 && HT[j].parent == -1) //这个小于就使得当出现相同的权值时优先考虑先出现的值,可以假设下。i++) //要生成n-1个结点,所以要操作n—1次且从下标为n+1开始存储。翻译 2023-12-03 00:30:00 · 69 阅读 · 1 评论 -
数据结构——栈的顺序存储(C语言实现)
栈 可实现代码原创 2023-12-02 19:39:13 · 137 阅读 · 0 评论 -
图——最小生成树prim算法(C语言实现)
/lowcost = 最小花费路径(如果为0则表示已经加入顶点)else printf("%d\t",G.Edge[i][j]);//把自己到自己的cost置成0。//这些lowcost的起始点是v。//mst = 最小花费路径的起始点标号。//如果以新入集合的点为起始点,cost值小于先前的lowcost,则更新。//循环找出lowcost和对应点的索引。原创 2023-12-02 20:10:44 · 146 阅读 · 0 评论 -
图——邻接矩阵 DFS、BFS(C语言实现)
/访问数组(用来确定元素是不是已经被访问)EdgeType Edge[MaxVexNum][MaxVexNum];//用静态数组存放队列元素。#define MaxVexNum 100//顶点数目的最大值。//队头指针和队尾指针。//DFSTraverse(防止非连通图)//BFSTraverse(防止非连通图)//输入边(此处用无向图举例)//打印图的邻接矩阵。原创 2023-12-02 20:10:04 · 99 阅读 · 0 评论 -
二叉树——递归、非递归遍历,深度,叶子结点个数(C语言实现)
/T为BiTree类型,是指向BiTNode的指针,给他malloc一个BiTNode结构体。//栈顶元素先出栈,指针-1。if(S.top == MAXSIZE - 1)//栈满报错。if(ch == ' '){//输入空格代表NULL。if(S.top == -1)//栈空报错。#define QElemType BiTree//队列。#define MAXSIZE 100//栈中。原创 2023-12-02 20:04:40 · 93 阅读 · 0 评论 -
数据结构——队列的顺序存储(C语言实现)
队列可实现代码原创 2023-12-02 19:44:49 · 57 阅读 · 0 评论 -
数据结构——图 最短路径(Dijskra算法)
【代码】数据结构——图 最短路径(Dijskra算法)原创 2023-12-02 20:38:32 · 114 阅读 · 0 评论