/** * 基数排序-单链表实现 */ #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值一般没意义,不过通...
3.有序单链表的合并就是两个之前都已排好序的链表,将它们合并成一个链表。合并的过程中对于两个链表值相等的结点也要链到最终的链表中去。 1structNode{2intdata;3Node *next;4};56typedefstructNode Node;78Node *Merge(Node *head1,Node *head2)9{10Node *p1 =NULL;11Node *p2 =NULL;12Node *head...
冒泡排序 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) 稳定 希尔排序 ...
基数排序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 废料收集与存储压缩 ?小...
第4章排序程序设计初步 4.1引言 4.2排序操作的基本概念 4.3基本排序算法设计 4.3.1排序算法设计基础 4.3.2直接插入排序(DirectInsertSorting)4.3.3简单选择排序(SimpleSelectSorting)4.3.4冒泡排序(BubbleSorting)4.3.5单链表插入排序(LinkListInsertSorting)4.3.6静态链表插入排序(StaticLink...