社区
Linux/Unix社区
帖子详情
外部排序只能用归并排序吗?还有其它的方法吗?
恋喵大鲤鱼
博客专家认证
2016-09-12 11:49:50
如题。外部排序只能用归并排序吗?还有其它的方法吗?比如直接插入排序和冒泡排序可以实现外部排序吗?
...全文
820
2
打赏
收藏
外部排序只能用归并排序吗?还有其它的方法吗?
如题。外部排序只能用归并排序吗?还有其它的方法吗?比如直接插入排序和冒泡排序可以实现外部排序吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
恋喵大鲤鱼
2016-12-27
打赏
举报
回复
引用 1 楼 eziowayne 的回复:
位图排序。 其实什么算法都可以实现,因为你没有规定内存和时间限制。
我觉得外部排序可以按照Hash分成不同的小部分载入有限的内存中进行排序,对部分内容可以采用任意一种合适的排序算法来排序,使得最终有序。所以分桶排序可以实现外部排序,所以外部排序不一定只能用归并排序。
eziowayne
2016-09-12
打赏
举报
回复
位图排序。 其实什么算法都可以实现,因为你没有规定内存和时间限制。
用C实现了
排序
算法中的插入
排序
、选择
排序
、冒泡
排序
、希尔
排序
、
归并
排序
、快速
排序
、桶
排序
、基数
排序
在这份文档中,我用C语言实现了
排序
算法的多种
方法
,包括插入
排序
、选择
排序
、冒泡
排序
、希尔
排序
、
归并
排序
、快速
排序
、桶
排序
和基数
排序
。这些算法可以帮助我们对数据进行有效的
排序
和整理,以便更好地处理和分析数据。除此之外,还可以探索其他
排序
算法,如堆
排序
、计数
排序
和
外部
排序
,以适应不同的数据场景和需求。在实际应用中,我们可以根据数据规模和特点选择最合适的
排序
算法,以提高
排序
的效率和准确性。此外,还可以通过优化算法的实现和使用并行计算技术来进一步提升
排序
的性能。
排序
算法是计算机科学中非常重要的基础知识,深入研究和理解这些算法的原理和实现,将有助于我们更好地解决实际问题和提升编程能力。
Python实现八大
排序
一般使用的八大
排序
算法是:插入
排序
、选择
排序
、冒泡
排序
、希尔
排序
、
归并
排序
、快速
排序
、堆
排序
、基数
排序
,每个
方法
有其适合的使用场景,可以根据具体数据进行选择. 几个概念: 内部
排序
:
排序
期间元素全部存放在内存中的
排序
;
外部
排序
:
排序
期间元素无法全部存放在内存中,必须在
排序
过程中根据要求不断地进行内外存之间移动地
排序
; (这八种
排序
算法中除了多路
归并
排序
是
外部
排序
,其他都是内部
排序
)
数据结构基础系列(10):
外部
排序
数据结构课程是计算机类专业的专业基础课程,在IT人才培养中,起着重要的作用。...
外部
排序
针对数据量很大时,
排序
过程必须要在内、外存之间交换数据时的应用,介绍磁盘
排序
和磁带
排序
的相关算法。
算法:算法C语言实现 第1-4部分 基础知识、数据结构、
排序
及搜索
算法:C语言实现 (第1-4部分)基础知识、数据结构、
排序
及搜索(原书第3版) 本书是Sedgewick彻底修订和重写的C算法系列的第一本。全书分为四部分,共16章。第一部分“基础知识”(第1—2章)介绍基本算法分析原理。第二部分“数据结构”(第3~5章)讲解算法分析中必须掌握的数据结构知识,主要包括基本数据结构、抽象数据结构、递归和树。第三部分“
排序
”(第6~11章)按章节顺序分别讨论基本
排序
方法
(如选择
排序
、插入
排序
、冒泡
排序
、希尔
排序
等)、快速
排序
方法
、归并和
归并
排序
方法
、优先队列与堆
排序
方法
、基数
排序
方法
以及特殊用途的
排序
方法
,并比较了各种
排序
方法
的性能特征。第四部分“搜索”(第12~16章)在进一步讲解符号表、树等抽象数据类型的基础上,重点讨论散列
方法
、基数搜索以及
外部
搜索
方法
。 书中提供了用C语言描述的完整算法源程序,并且配有丰富的插图和练习。作者用简洁的实现将理论和实践成功地结合了起来,这些实现均可在真实应用上测试,使得本书自问世以来备受程序员的欢迎。 本书可作为高等院校计算机相关专业算法与数据结构课程的教材和补充读物,也可供自学之用。 目录 出版者的话 译者序 前言 第一部分 基础知识 第1章 引言 1.1 算法 1.2 典型问题——连通性 1.3 合并一查找算法 1.4 展望 1.5 主题概述 第2章 算法分析的原理 2.1 实现和经验分析 2.2 算法分析 2.3 函数的增长 2.4 大O符号 2.5 基本递归方程 2.6 算法分析示例 2.7 保证、预测及局限性 第二部分 数据结构 第3章 基本数据结构 3.1 构建组件 3.2 数组 3.3 链表 3.4 链表的基本处理操作 3.5 链表的内存分配 3.6 字符串 3.7 复合数据结构 第4章 抽象数据类型 4.1 抽象对象和对象集 4.2 下推栈ADT 4.3 栈ADT客户示例 4.4 栈ADT的实现 4.5 创建一个新ADT 4.6 FIFO队列和广义队列 4.7 复制和索引项 4.8 一级ADT 4.9 基于应用的ADT示例 4.10 展望 第5章 递归与树 5.1 递归算法 5.2 分治法 5.3 动态规划 5.4 树 5.5 树的数学性质 5.6 树的遍历 5.7 递归二叉树算法 5.8 图的遍历 5.9 综述 第三部分
排序
第6章 基本
排序
方法
6.1 游戏规则 6.2 选择
排序
6.3 插入
排序
6.4 冒泡
排序
6.5 基本
排序
方法
的性能特征 6.6 希尔
排序
6.7 对其他类型的数据进行
排序
6.8 索引和指针
排序
6.9 链表
排序
6.10 关键字索引统计 第7章 快速
排序
7.1 基本算法 7.2 快速
排序
算法的性能特征 7.3 栈大小 7.4 小的子文件 7.5 三者取中划分 7.6 重复关键字 7.7 字符串和向量 …… 第8章 归并与
归并
排序
第9章 优先队列和堆
排序
第10章 基数
排序
第11章 特殊用途的
排序
方法
第四部分 搜索 第12章 符号表和二叉搜索树 第13章 平衡树 第14章 散列 第15章 基数搜索 第16章
外部
搜索
数据结构 c语言版
数据结构在很多地方用的到,在计算机行业,很有用的 。 第1章 绪论 1.1 什么是数据结构 1.2 基本概念和术语 1.3 抽象数据类型的表现与实现 1.4 算法和算法分析 第2章 线性表 2.1 线性表的类型定义 2.2 线性表的顺序表示和实现 2.3 线性表的链式表示和实现 2.4 一元多项式的表示及相加 第3章 栈和队列 3.1 栈 3.2 栈的应有和举例 3.3 栈与递归的实现 3.4 队列 3.5 离散事件模拟 第4章 串 4.1 串类型的定义 4.2 串的表示和实现 4.3 串的模式匹配算法 4.4 串操作应用举例 第5章 数组和广义表 5.1 数组的定义 5.2 数组的顺序表现和实现 5.3 矩阵的压缩存储 5.4 广义表的定义 5.5 广义表的储存结构 5.6 m元多项式的表示 5.7 广义表的递归算法第6章 树和二叉树 6.1 树的定义和基本术语 6.2 二叉树 6.2.1 二叉树的定义 6.2.2 二叉树的性质 6.2.3 二叉树的存储结构 6.3 遍历二叉树和线索二叉树 6.3.1 遍历二叉树 6.3.2 线索二叉树 6.4 树和森林 6.4.1 树的存储结构 6.4.2 森林与二叉树的转换 6.4.3 树和森林的遍历 6.5 树与等价问题 6.6 赫夫曼树及其应用 6.6.1 最优二叉树(赫夫曼树) 6.6.2 赫夫曼编码 6.7 回溯法与树的遍历 6.8 树的计数 第7章 图 7.1 图的定义和术语 7.2 图的存储结构 7.2.1 数组表示法 7.2.2 邻接表 7.2.3 十字链表 7.2.4 邻接多重表 7.3 图的遍历 7.3.1 深度优先搜索 7.3.2 广度优先搜索 7.4 图的连通性问题 7.4.1 无向图的连通分量和生成树 7.4.2 有向图的强连通分量 7.4.3 最小生成树 7.4.4 关节点和重连通分量 7.5 有向无环图及其应用 7.5.1 拓扑
排序
7.5.2 关键路径 7.6 最短路径 7.6.1 从某个源点到其余各顶点的最短路径 7.6.2 每一对顶点之间的最短路径 第8章 动态存储管理 8.1 概述 8.2 可利用空间表及分配
方法
8.3 边界标识法 8.3.1 可利用空间表的结构 8.3.2 分配算法 8.3.3 回收算法 8.4 伙伴系统 8.4.1 可利用空间表的结构 8.4.2 分配算法 8.4.3 回收算法 8.5 无用单元收集 8.6 存储紧缩 第9章 查找 9.1 静态查找表 9.1.1 顺序表的查找 9.1.2 有序表的查找 9.1.3 静态树表的查找 9.1.4 索引顺序表的查找 9.2 动态查找表 9.2.1 二叉
排序
树和平衡二叉树 9.2.2 B树和B+树 9.2.3 键树 9.3 哈希表 9.3.1 什么是哈希表 9.3.2 哈希函数的构造
方法
9.3.3 处理冲突的
方法
9.3.4 哈希表的查找及其分析 第10章 内部
排序
10.1 概述 10.2 插入
排序
10.2.1 直接插入
排序
10.2.2 其他插入
排序
10.2.3 希尔
排序
10.3 快速
排序
10.4 选择
排序
10.4.1 简单选择
排序
10.4.2 树形选择
排序
10.4.3 堆
排序
10.5
归并
排序
10.6 基数
排序
10.6.1 多关键字的
排序
10.6.2 链式基数
排序
10.7 各种内部
排序
方法
的比较讨论 第11章
外部
排序
11.1 外存信息的存取 11.2
外部
排序
的
方法
11.3 多路平衡归并的实现 11.4 置换一选择
排序
11.5 最佳归并树 第12章 文件 12.1 有关文件的基本概念 12.2 顺序文件 12.3 索引文件 12.4 ISAM文件和VSAM文件 12.4.1 ISAM文件 12.4.2 VSAM文件 12.5 直接存取文件(散列文件) 12.6 多关键字文件 12.6.1 多重表文件 12.6.2 倒排文件
Linux/Unix社区
18,773
社区成员
11,463
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 专题技术讨论区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 专题技术讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章