/** * 基数排序-单链表实现 */ #include <stdio.h> #include <stdlib.h> #include #define Error(Str) FatalError(Str) #define FatalError(Str) fprintf(stderr,"%s\n",Str),exit(1) #define N 10 //数个数 #define RADIX 10 //基数 #define POS_LEN 3 //位长 typedef struct Node { int...
单链表看到图发现由两部分组成,一部分是存放数据的变量data,一部分是存放指向下一个节点的指针next。 typedef struct single_link { int data; //数据区域 struct single_link *next; //指向下一个节点 }_single_link_T; 为了方便操作,我们都会把链表的第一个节点称为头节点,头节点的data值一般没意义,不过通...
冒泡排序 O(n2) O(n2) O(1) 稳定 选择排序 O(n2) O(n2) O(1) 数组不稳定、链表稳定 插入排序 O(n2) O(n2) O(1) 稳定 快速排序 O(n*log2n) O(n2) O(log2n) 不稳定 堆排序 O(n*log2n) O(n*log2n) O(1) 不稳定 归并排序 O(n*log2n) O(n*log2n) O(n) 稳定 希尔排序 O...
[基本要求](1) 对以下10种常用的内部排序算法进行比较:直接插入排序;折半折入排序;二路插入排序;希尔排序;起泡排序;快速排序;简单选择排序;堆排序;归并排序;基数排序。(2) 待排序表的表长不少于100;其中的数据要用伪随机数产生程序产生;至少要用5组不同的输入数据作比较;比较的指标为有关键字参加的比较次数和...
基数排序python实现基数排序 基数排序(英语:Radix sort)是一种非比较型整数排序算法,其原理是将整数按位数切割成不同的数字,然后按每个位数分别比较。...由于整数也可以表达字符串(比如名字或日期)和特定格式的浮点数,所以基数排序也不是只能使用于整数。 所以
2.3.2 单链表上的基本运算 33 2.3.3 循环链表 41 2.3.4 双向链表 43 *2.3.5 静态链表 45 2.3.6 顺序表和链表的比较 48 2.4 一元多项式的表示及相加 49 习题 53 实习题 55 第3章 限定性线性表——栈和队列 ...
7.2.3 十字链表 139 *7.2.4 邻接多重表 141 7.3 图的遍历 143 7.3.1 深度优先搜索 143 7.3.2 广度优先搜索 145 7.3.3 图的连通性 148 7.4 最小生成树 150 7.4.1 普里姆算法 150 7.4.2 克鲁斯卡尔算法 153 7.5 有向无环图及其应用 156 7.5.1 拓扑排序 156 7.5.2 关键...
2.3.4 单链表的改进和扩充 ?2.4 应用举例 ?2.4.1 Josephus问题 ?2.4.2 采用顺序表模拟 ?2.4.3 采用循环链表模拟 ?2.5 矩阵 ?2.5.1 矩阵的顺序表示 ?2.5.2 稀疏矩阵的表示方法 ?2.6 广义表与动态存储管理 ?2.6.1 广义表 ?2.6.2 结点的动态分配与回收 ?2.6.3 废料收集与存储压缩 ?小...
8.2.4十字链表法 8.3图的遍历 8.3.1深度优先遍历 8.3.2广度优先遍历 8.4图的最小生成树 8.4.1Prim算法 8.4.2Kruskal算法 8.5最短路径 8.5.1单源最短路径 8.5.2每对顶点的最短路径 8.6拓扑排序 8.7关键路径 8.8应用实例 习题 第9章排序 9.1概述 9.2插入排序 9.2.1直接插入排序 9....